Mass Spectrometer Data Reduction Program for IBM 650

Agr. Chemists 22, 378-88 (1939). Received for review December 22, 1958. Accepted June 1, 1959. Mass Spectrometer Data Reduction. Program for IBM 650...
2 downloads 0 Views 528KB Size
of calculation and changing conditions to improve the separation. One of the limitations on reproducibility is the temperature stability of the chromatographic apparatus. Elevated temperatures for the sample injection port of the apparatus were found to be essential for these analyses. With the port at column temperature, inadequate was Obtained. KO decomposition of the sam-

ples was observed at the temperatures recommended. Because of the simplicity of the apparatus and the speed and convenience of the analysis, these methods are suitable for production control or control of raw material receipts.

(2) Karrer, P., Blass, U.,Helv. Chim. Acta 36,463-6 (1953). (3) Kaves, Y., Lecomte, J., Bull. soc. chim, prance1954, 964-7. (4) Pesez, M., Zbid. 1955, 190. ( 5 ) Reilley, C. N., kooke, W. D., Furman, N * H., A N A L . 239 lo304 (lg51). (6) Wilson, J. B., J . Assoc. Ojic. Agr. Chemists 22,378-88(1939).

LITERATURE CITED

(1) Gohlke, R. S., ASAL. 1723-4 (1957).

CHEhI.

29,

RECEIVED for review December 22, 1958. Accepted June 1, 1959.

Mass Spectrometer Data Reduction Program for IBM 650 J. M. GILLETTE Electronic Computer Department, Tidewater Oil Co., 420 I Wilshire Blvd., los Angeles

5, Calif.

b A program, written for the IBM 650

system of niatrix selection completely under control of the mass spectrometrist. The pattern coefficient matrix is arranged b y putting all d a t a for one component in each column and all d a t a for one peak in each row. Rows and columns are arranged so that rows and columns with the same number may be considered as referring to one component. Four rows are added to the matrix to contain data for peaks to be used for residual checking only. ddditional columns contain other required data such as identifying mass numbers, sensitivity factors, and liquid conversion factors. A special matrix loading routine requires only nonzero data to be keypunched. Each data word is given a row-column index which is converted to memory location by the routine. Corrections are made simply by placing the correction card a t the end of the data deck. The matrix is placed in sequential memory locations by column, with a space betn-een each column reserved by the program for input peak data. One column is also reserved for input peak data. Each peak word is stored twice by the main program in the reserved spaces which correspond to the head of the row and top of the column. Selection of Matrix. T h e matrix to be solved for each sample is selected by the presence or absence of a code digit in the net peak words. T h e code digit may be added t o the peak Ford either by 533 control panel wiring or under program control. I n the first case, the mass spectrometrist checks each peak t o be used in the analysis as he transcribes the peak data to keypunching sheets. An X punch is put into the corresponding

electronic computer for the solution of linear simultaneous equations encountered in mass spectrometer data reduction, uses the iterative method of Gauss-Seidel to solve a pattern coefficient matrix selected to fit the individual samples. The equation roots are converted to either mole or liquid percentages, including corrections, if necessary, for Podbielniak low-temperature distillations or Orsat tests. Residual peaks are computed to check the accuracy and completeness of the analysis. The total machine computing time (including one peak per card input and one component per card output) varies with the number of components (up to 17) in the sample and ranges from 1.5 to 4.5 minutes.

A

PROGRAM for mass spectrometer data

reduction-ie., for solution of simultaneous linear equa tions--has been nritten for the basic I B X 650 electronic computer (with alphabetic device) using the iterative method of Gauss-Seidel (4). This system possesses features of convenience, flexibility, and accuracy not available in most other schemes, despite the view generally accepted by the industry that iterative methods are too time-consuming for digital computers such as the 650. Also, the program does not require a knoll ledge of mass spectrometry by the 650 operator. The I B M 650 has been used to obtain s o h tions using : A matrix by vector multiplication program with previously prepared inverse matrices, Matrix inversion and solution by Gaussian elimination by Sweeney's IBRf 650 library routine (6). 1518

0

ANALYTICAL CHEMISTRY

The successive approximation method of Steifel and Hestenes ( 5 ) ,and The Gauss-Seidel iterative method

(4). DEVELOPMENT OF METHOD

Matrix

by Vector Program. d

matrix b y vector multiplication' program (which requires the least programming effort) was written t o permit immediate transferral of computations from the 602 A t o t h e I B M 650. This interim program provided for three previously prepared inverse matrices t o be stored in memory. T h e proper matrix was selected by a code punch in the sample input title card. The matrices were in terms of pressure sensitivities so that niultiplication by the sample peak vector gave partial pressures directly which were normalized to mole percentages. About 0.5 minute of computing time and 0.5 minute of read and punch time were required for a 17-component sample. This type of program is rapid, but not very flexible. Changes in the mass spectrometer calibrations require reinversion of all matrices which, in turn, tends to nullify the savings of computer time achieved by the rapid program. The system can be made sufficiently accurate for all sample types only if more than three inverse matrices are used. The use of several matrices would require the computer operator to load selected matrices for different samples. Because the computer is operated by tabulating personnel, the loading of selected matrices is undesirable. Arrangement of Pattern Coe5cient Matrix. Maximum flexibility can be achieved by using t h e original pattern coefficient matrix and providing a

cards when keypunched. I n the second case, the mass spectrometrist m i t e s a sample-type number to be punched into the title card for each sample. One column of the input matrix contains a series of code words which form a control pattern. As each net peak word is calculated, this program adds the digit of the code word corresponding to the sample type number. T o make the selection phase independent of the number of peaks included in the input, each net peak word location is cleared before the first card of each sample is read. The correct locations for storage of the net peak words are found b y a modified table lookup comparing the mass number in the input card with those in the mass number column. After all data cards for the sample have been read, the elements of the original matrix which are to be used in the solution--.e., a t the intersection of a "use" code digit r o s and coluninare transferred to the v-orking matrix area. This working matrix is condensed as it is transferred to the working matrix; a 5 x 5 matrix would occupy 25 consecutive locations. Solution of Selected Matrix. Three algebraic systems were programmed for solution of this selected matrix. T h e method of successive approximations of Steifel and Hestenes n-as programed first and discarded, because it failed t o find a unique solution independent of t h e order of row and columns wherever t h e selected matrix was very close t o being singular. Also, the solution of a 17component matrix required about 8 minutes of computing time. The Sweeney library routine (based

on the Gaussian elimination method) was considered but discarded, because of too much computing time (about 7 minutes for a 17-component matrix). This library routine has been used extensively, however, to prepare inverse matrices and to provide solutions for checking the method finally adopted. The iterative method of Gauss-Seidel was programed next and accepted because i t was sufficiently accurate in all cases and sufficiently rapid in the majority of cases. Selected matrices solved by the Gauss-Seidel and Sweeney programs show slight differences in the roots (in terms of chart divisions) but no differences in the final percentages. The computing time is a function not only of the number of equations, but also of the rate of convergence. Thus, a 17-component test matrix solved for split butylenes took 7 minutes of computing time, but the same matrix solved for combined butylenes took about 4 minutes. Production samples have taken from 1 to 3 minutes with an average of about 1.3 minutes. Conversion of Roots. T h e solution Teetor is in terms of chart divisions, and is conyerted t o either partial pressures or liquid equivalents b y use of t h e appropriate sensitivity factors as designated by a code punch in t h e title card.. These terms are normalized t o obtain t h e final percentages, with Podbielniak (2) or Orsat (3) corrections as required. Self-Checking. T h e root vector is multiplied b y t h e original matrix t o obtain a calculated input peak vector for all equations. These calculated values are compared with t h e actual input peaks t o obtain residual or

delta peaks. T h e delta peaks serve t o check t h e accuracy of t h e algebra and t h e completeness of t h e analysis. PROGRAM DETAILS

The flow diagram of the program is shown in Figure 1. The entire routine Table I.

Card Formats

Card Columns

Description of Data Matrix Data Cards Card identification Row-column index of data word 1 Data word 1 Row-column index of data word 2 Data word 2 Row-column index of data word 3 Data word 3 Rowcolumn index of data word 4 Data word 4 Row-column index of data word 5 Data word 5

1-6 7-10 11-20 21-24 25-34 35-38 39-48 49-52 53-62 63-66 67-76 7i-80 1901

1 2-7 8-9 10-15 16-30 3 1-34 35 2-7 8-9 31-34 37 49-51 52-54 55-57 59-62 63-67

68

Input Title Cards Code number to indicate liquid or mole percentages Laboratory sample number Daily run number Date Sample description (alpha-numeric) Inlet pressure X punch Input Data Cards Laboratory sample number Daily run number Mass number or code for Pod. or Orsat data X punch if Pod. or Orsat data Peak top Peak base Attenuation factor Background Pod. or Orsat data X punch if peak t o be used

VOL. 31, NO. 9, SEPTEMBER 1959

1519

Table II.

Sample No. & Date 141640

Report Sheet

Run No. & Type No. 04 2

Component Percen- Mass Partial Name tage No. Press. 02 0.5 32 0 . 0 8 N2 12.5 28 1.83 H2 22.4 02 3.27 14.9 16 2.18 c1 5.5 26 0.81 C2ENE 6.0 30 0.87 C2ANE C3ENE 11.8 42 1.73 3.9 44 0.57 c3 4DIEN 0.1 54 0.01 41 4ENE 1 4ENES 12.8 56 1.87 5.2 43 0.76 IMNE N4ANE 1.2 58 0.18 BENE 0.7 70 0.10 I5ANE 1.2 57 0.18 N5ANE 72 14 RESID 15 RESID 27 RESID 29 RESID 1.2 9 KOH

Sample Description PROD GAS DT6 Roots (Chart Div.) 6.10 185.53 188.44 181.98 49.09 27.21 148.58 17.62 0.98 230.17 128.07 25.30 12.18 16.15 -0.66

consists of three programs which are loaded only once regardless of the number of samples to be run. The matrix data are punched on five-word format cards (Table I) which are placed between the matrix loading program and the reorder program. The row-column indices are converted to memory locations for storage of the corresponding data words. The matrix reorder program was designed to allow the matrix to be written in a basic order (such as increasing mass number), but to be used in a different order without manual reassignment of the row-column indices. The mass spectrometrist writes the mass numbers with the row indices for the desired order. The program requires less than 1 minute to rearrange the matrix into the order specified. This program was written during developnient to test the effects of matrix order upon result, and is used now to arrange components in the order desired for the final report. The main program follows the reorder program and operates on succeeding sample cards. Each sample requires one title card, one data card per peak, and one card per item of Podbielniak or Orsat data with the laboratory sample number in all cards, as shown in Table I. The title card must be the first card, but data cards may be in any order. A single code punch differentiates between the title card and data card. A second code punch differentiates between peak cards and Podbielniak or Orsat data cards. The peak data are stored by a modified table lookup on the mass numbers and Podbielniak or Orsat by a code digit in the mass number field. The iteration loop begins after all 1520

ANALYTICAL CHEMISTRY

for Typical Sample Inlet

Press.

14.94

Calcd. Press. 14.44

Input Input Peak Data Net Delta Use Peak Code PC Pb GI Peak X 10.1 4 . 0 1 6.1 0 X 51.2 2 . 0 10 492.0 0 X 67.1 3 . 0 3 192.3 0 X 64.5 3.0 3 184.5 0 X 48.8 3 . 0 3 137.4 0 X 34.7 4 . 0 30.7 1 0 X 3 180.0 0 63.0 3 . 0 X 24.0 0 1 28.0 4 . 0 X 1 12.0 4.0 0 8.0 49.5 2 . 2 10 473.0 5.6 X 3 102,o 0 37.0 3 . 0 X 3 189.0 0 66.0 3 . 0 X 11.1 4 . 0 1 7.1 0 X 4.0 1 0 8.0 4 . 0 X 18.0 1 0 22.0 4 0 X 1 1.o 0 5.0 4.0 1 94.0 6.1 98.0 4 . 0 5.8 75.8 3 . 0 3 218.4 4.6 33.0 2.0 10 310.0 52.7 3 . 0 3 149.1 -1.0 1.2

cards for one sample have been read as indicated by the title card of the next sample (a special transfer card placed after the last sample serves as the next title card). The successive values of all X terms are then computed. For each equation, the diagonal term, A , , , is transferred to a memory location called DIAG and the diagonal term location is temporarily set to zero. The following equation is solved for X,: n

X,= ( Y , -

A,,X,)/DIAG J=1

where the X, are roots in chart division, the Y , are mixture sample peaks, and the A , , are pattern coefficients. After the equation is solved, the value in DIAG is restored to the A , , location. Before the initial iteration, all X terms are set to zero. When all X terms are computed, the vector is compared with the previous iteration, the Z vector. The initial Z vector values are also zero. If the sum of the squares of the differences is greater than the value of epsilon, the present values of the X vector are transferred to the Z vector locations and another iteration is made. When the sum of the squares becomes less than or equal to epsilon, the final phase of the calculation begins. Traps are included to prevent errors caused by development of numbers which exceed the register size. The X vector, condensed by the selection routine, is now aligned with the original matrix according to the input mass numbers. This vector is multiplied by the pattern coefficient matrix to obtain a calculated check peak vector.

The final percentages are computed and results punched out to complete the analysis. The program is written to compute the percentages according to practices previously established in the two mass spectrometer installations. The calculated check peak vector is compared with the input net peak vector to obtain delta peaks during the punchout. A test has been added here to prevent punchout of data pertaining to mass numbers not included in the input data. RESULTS

A typical report sheet is shown in Table 11. The delta peaks obtained for peaks used (X in Use Code column) indicate the fit of the solution root to the original equations and are determined by the value assigned to epsilon. The delta peaks must be less than or equal to the square root of epsilon. Values greater than this would indicate a computing error. The delta peaks obtained for peaks not used (no-X in Use Code column) indicate the fit of the roots to the total original matrixLe., they measure the completeness of the analysis. These data are interpreted by the mass spectrometrist to determine whether the original selection of peaks to be used was made correctly. The value assigned to epsilon .ivill also affect the number of iterations required to reach the solution. A 17component sample was analyzed using epsilon values of 10.00, 1.00, 0.10, 0.04, and 0.00 chart divisions. The number of iterations to reach the solution were 17, 23, 28, and 30, respectively, for the four nonzero values. The test using 0.00 chart divisions was stopped after 80 iterations. For the several samples for which epsilon tests were made, only the individual butylenes appeared to be affected by epsilon. Epsilon has been set a t 0.04 chart divisions in the final programs to ensure delta peaks which are less than or equal to 0.2 chart divisions for the equations used. Results obtained by this program agree with those obtained by the Sweeney inversion routine. Results obtained from the matrix by vector program and by use of the CEC analog computer (1) differ up to 3% from those of either of the first methods. SUMMARY

This program for the I B M 650 for reduction of mass spectrometer data is based on the Gauss-Seidel method to solve a selected matrix of simultaneous linear equation pattern coefficients. The time required for a complete solution depends upon the number of components and the complexity of the matrix. For routine samples, the computing time varies from 30 seconds to 3 minutes, with an average time of about

1.3 minutes. Input and output time, including calculation of check peaks and conversion of roots to percentages, is from 1 to 1.5 minutes.

The calibration matrix stored in memory is in terms of pattern coefficients, permitting easy correction of individual coefficients. The number and selection of equations to be solved for each sample are under the control of the mass spectrometrist. Residual peaks are computed for all equations in the original matrix to provide a check on both the accuracy of the algebra and the analysis of the sample. Input data are punched one peak per card and may be loaded in any order. Output data are punched one

component per card in a format suitable for use as a final report. Only peaks required for the analysis or for delta peak checks need to be included in the input data. The accuracy of the analysis is the same as mould.be obtained by inversion of the matrix for each sample, but computing time is much less. ACKNOWLEDGMENT

The author wishes to express his gratitude and appreciation to 1%’.JV. Leutert, hI. E. Le Prohn, J.W. Leonard, L. Penn, and Paul Work for their invaluable assistance in the preparation of this program.

LITERATURE CITED

(1) Berrv. C. E.. Wilcox. D. E.. Rock. ~,-I

S. M.:’ Washb;rn, H.‘ W., J: A p p l : Phys. 17, 262-72 (1946). (2) Burke, 0. W., Starr, C. E., Tuemmler, S. D., “Light Hydrocarbon Analysis,” p. 73, Reinhold, New York, 1929. (3) Dennis, L. M., Nichols, M. L., ‘(Gas Analysis,” p. 98, Macmillan, New York, 1951. (4) Householder, A. S., “Principles of Numerical Analysis,” p. 48, McGrawHill, New York, 1953. (5) Ibid., pp. 73-8. (6) Sweeney, D. W., “IBM Library Routines for the 650,” No. 5.2001, Matrix Inversion Routine.

RECEIVEDfor review March 3, 1959. Accepted RIay 14, 1959. ASTM Symposium on Mass Spectrometry, Los Angelea, Calif., May 1959.

Quantitative Determination of the Four Maior Phases of Portland Cement by Combined X-Ray and Chemical Analysis 1. E. COPELAND, STEPHEN BRUNAUER, D. 1. KANTRO, EDITH G. SCHULZ, and C. H. WEISE P orfland Cement Association Research and Development laboratories, Skokie, 111. ,A method was developed for evaluating the quantities of the four major compounds or phases (tricalcium silicate or alite, /3-dicalcium silicate or belite, tricalcium aluminate, and the ferrite phase) in portland cements by a combination of x-ray quantitative analysis and chemical analysis. Twenty portland cements of widely differing compositions, including all five types, were analyzed. The average composition of the ferrite phase was close to that of tetracalcium aluminoferrite (or brownmillerite). The cements investigated contained practically no glassi.e., material amorphous to x-rays. The material called glass or glassy phase by cement chemists was found to b e microcrystalline to x-rays. The systematic difference between Bogue’s potential compound values and the values given in this paper is negligible for tricalcium silicate and the ferrite, but Bogue’s method underestimates dicalcium silicate and overestimates tricalcium aluminate. The potential values are reasonably good, except for tricalcium aluminate. Microscopical analysis gives good values for tricalcium aluminate, but underestimates the three other phases.

of the composition. of portland cements has al\va\-Lq been a problem basic to the needs of KNOWLEDGE

the cement cheniist. The complexity of the cement system is such that, in spite of the long history of cement chemistry, until now no method has been devised for direct and accurate determination of the four principal compounds or phases in portland cement: tricalcium silicate, p-diealcium silicate, tricalcium aluminate, and calcium aluminoferrite. Prior to the present investigations, two methods had been developed for estimating portland cement compositions: the method of Bogue (2) (with its modifications) and microscopical analysis. The first is indirect; the composition is not measured, but is calculated on the basis of the amounts of calcium oxide, silicon dioxide, aluminum oxide, and ferric oxide obtained by chemical analyses. The Bogue method employs three assuniptionsnamely, the cement clinker attains complete crystalline equilibrium in the kiln, the ferrite phase is brovvnmillerite or tetracalcium aluminoferrite, 4Ca0&03 Fez03, and all aluminum not in the ferrite phase occurs as tricalcium aluminate, 3 C a 0 .A1203. A consequence of the last assumption is that the two silicate phases are taken to be pure tricalcium silicate, 3 C a 0 . SOz, and pure 6-dicalcium silicate, 2 C a 0 . Si02. The Bogue method, or the “potential” compound calculation, has proved very useful through the years. Important

modifications ha\ e been proposed by Lea and Parker (9, 10) and Dahl ( 7 ) , bared on assumptions of particular conditions for clinkering and cooling. Investigations by Yamauchi ($1) and Swayze (20) have shown that the ferrite phase is not necessarily tetracalcium aluminoferrite, but a member of a solid solution series ranging in composition from 2Ca0 Fez03 to 6Ca0 2A1203.FezOs. Recently, hIidgley ( 1 4 , 16) reported the determination of the composition of the ferrite phase in portland cement by a n x-ray method similar to one of those ured in the present investigations; he came to the conclusion that portland cements contain ferrites of differing conipoeitions. If the composition of the ferrite phase is other than 4 C a 0 A1203 Fe205, as the experiments of the above investigators indicate, the Bogue method can *till be applied with appropriate modifications, as was shown by Dahl (20). The only means available until now for the direct determination of the principal compounds in portland cement was quantitative microscopical analysis. I n a n exhaustive study of 21 portland cement clinkers, Brown (3) found that the ratio of the microscopical value to the potential value ranged from 0.85 to 1.24 for tricalcium silicate, from 0.34 t o 1.21 for dicalciuni silicate, from 0.20 to 0.89 for tricaleium aluminate, and from 0 25 to 1.20 for the ferrite phase VOL. 31, NO. 9 , SEPTEMBER 1959

0

1521