Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

The computation of chemical equilibrium and the distribution of Fe, Mn and Mg among sites and phases.. De Capitani, Christian 1987-07-28

You don't seem to have a PDF reader installed, try download the pdf

Item Metadata

Download

Media
831-UBC_1987_A1 D42.pdf [ 13.28MB ]
Metadata
JSON: 831-1.0052656.json
JSON-LD: 831-1.0052656-ld.json
RDF/XML (Pretty): 831-1.0052656-rdf.xml
RDF/JSON: 831-1.0052656-rdf.json
Turtle: 831-1.0052656-turtle.txt
N-Triples: 831-1.0052656-rdf-ntriples.txt
Original Record: 831-1.0052656-source.json
Full Text
831-1.0052656-fulltext.txt
Citation
831-1.0052656.ris

Full Text

THE COMPUTATION OF OF FE, MN AND MG CHEMICAL EQUILIBRIUM AND THE DISTRIBUTION AMONG SITES AND PHASES IN OLIVINES AND GARNETS by CHRISTIAN DE CAPITANI Dipl. Mineralog-Petrograph, University of Berne, 1983 A THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY in THE FACULTY OF GRADUATE STUDIES Department of Geological Sciences We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA September, 1987 © CHRISTIAN DE CAPITANI, 1987 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the The University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the Head of my Department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Department of Geological Sciences The University of British Columbia 2075 Wesbrook Place Vancouver, Canada V6T 1W5 Date: September, 1987 Abstract A general algorithm for the computation of chemical equilibria in complex systems containing non-ideal solutions has been developed. The method is a G-minimization based on repeated linear and nonlinear programming steps. A computer program (THERIAK) based on this algorithm has been written and was used to solve a great variety of problems, ranging from a simple blast furnace calculation to liquid-liquid unmixing in a four component silicate melt. The computing times are in the magnitude of 1/2 to 2 seconds for each calculation. The method can also be used to test the consequences of thermodynamic models and data in systems of interest to many fields, including chemistry, geochemistry and metallurgy. Integrated powder diffraction intensities can be used to measure Mn-Mg and Fe-Mg site occupancies in olivines because of the difference in scattering factors between Mg and Mn or Fe. Theoretically calculated intensity ratios are subject to uncertainties from positional parameters (less than 3.5 % for peaks with a relative intensity greater than 25 %) and unknown charge distribution (up to 30 %). Several peak ratios are less subject to this last uncertainty and may be used to measure the site occupancies in olivines. 27 synthetic Fe-Mn-Mg olivines (800 °C, vacuum, with graphite) were investigated with Mossbauer spectroscopy and XRD intensity evaluation, producing occupancies accurate to approximately 0.03 per site. A thermodynamic speciation i i model represents the data very well. Preliminary Fe-Mn-Mg exchange experiments involving olivine and garnet place some limits on element distributions between these two minerals. Table of Contents Abstract ii Table of Contents iv List of Tables viiList of Figures x Acknowledgements xii INTRODUCTION 1 1. THE COMPUTATION OF CHEMICAL EQUILIBRIUM IN COMPLEX SYSTEMS CONTAINING NON-IDEAL SOLUTIONS 3 1.1 The formulation of a general algorithm 3 1.1.1 Introduction 3 1.1.2 Theoretical fundamentals 4 1.1.2.1 Non-unique solutions to the equilibrium problem 5 1.1.2.2 Formulation of the chemical equilibrium condition 10 1.1.3 Phases with fixed compositions 11 1.1.4 Adding solution phases to the system 15 1.1.5 Summary of the algorithm 19 1.2 Details of the computation of chemical equilibrium 21 1.2.1 The initial assemblage 21.2.2 The nonlinear programming (step 1 of algorithm) 21 1.2.2.1 Ideal solutions 23 1.2.2.2 Nonideal solutions 24 1.2.3 The linear programming (step 2 of algorithm) 31 1.2.4 The change of base operation (step 3 of algorithm) 4 1.3 Applications of the computation of chemical equilibrium 3iv 1.3.1 Introduction 34 1.3.2 Example 1: Blast furnace problem 35 1.3.3 Example 2: Silicate melts 35 1.3.4 Example 3: mica - feldspar equilibria 45 1.3.4.1 Thermodynamic models ..45 1.3.4.2 Excess phases 47 1.3.4.3 Addition of calcite 48 1.3.4.4 Addition of a buffer 49 1.3.5 Discussion 54 2. ORDER-DISORDER IN TERNARY FE-MN-MG OLIVINES 56 2.1 Introduction 52.2 The synthesis of olivines 57 2.3 Some methods for site occupancy determination cited in the literature 61 2.3.1 Mossbauer spectroscopy 62 2.3.2 Single crystal structure refinements 62 2.3.3 The Rietveld method 63 2.3.4 The a-b plot 65 2.3.5 Vibrational spectra 66 2.3.6 CHEXE spectroscopy2.4 Choice of methods 66 2.5 The determination of Fe-site distributions by Mossbauer spectroscopy .68 2.5.1 Introduction 62.5.2 Experimental set-up 72 2.5.3 Evaluation of the Mossbauer spectroscopy measurements 75 2.5.4 Discussion of the results 82 2.6 Calculation of integrated X-Ray intensities 83 v 2.6.1 The data needed for the calculations 83 2.6.2 Equations 86 2.7 The determination of Mn-Mg or Fe-Mg site occupancies by XRD analysis 90 2.7.1 Introduction 92.7.2 The measurement of lattice parameters 91 2.7.3 Uncertainties in calculated intensities due to atom coordinates and temperature correction factors 98 2.7.4 Uncertainties in calculated intensities due to charge distribution 102 2.7.5 The intensity measurements and the occupancy interpretation 104 2.7.6 Example of a site occupancy determination 109 2.7.7 The Site occupancies of the synthetic Fe-Mn-Mg olivines 120 2.8 Thermodynamic model for the ternary Fe-Mn-Mg olivine solid solutions at 850 °C 121 2.8.1 Introduction 122.8.2 Model assuming independent site mixing ...122 2.8.3 A slightly more general model 124 2.8.4 Fitting the models to the data 125 2.9 Conclusions 126 BIBLIOGRAPHY 128 APPENDIX A: DESCRIPTION OF INPUT FOR THE PROGRAM THERIAK 141 A.1 Problem input 14A. 2 The data-base 5 A. 2.1 Section *** ... MINERAL DATA 147 A.2.2 USE and CODE (selecting phases) 151 A. 2.3 Section *** ... SOLUTION DATA 153 A. 2.4 Section *** ... MARGULES 157 vi A.3 Calculation of A^G in an external subroutine ...158 A.4 Calculation of activities in an external subroutine 159 APPENDIX B: LISTING OF PROGRAM THERIAK 161 APPENDIX C: THE MOESSBAUER FURNACE 213 APPENDIX D: LISTING OF PROGRAM LATEX 217 APPENDIX E: THE POLYNOMIAL FUNCTION FOR THE LATTICE PARAMETERS 228 APPENDIX F: TABLES USED FOR THE APPROXIMATION OF THE POSITIONAL PRARMETERS AND THE RESULTING UNCERTAINTIES 229 APPENDIX G: THE PW1710 DIFFRACTOMETER 242 APPENDIX H: SOME EXPERIMENTAL EQUILIBRIUA BETWEEN OLIVINE AND GARNET IN THE SYSTEM FE-MN-MG-AL-SI"0 ...245 H.1 The synthesis of the garnets 24H.2 The exchange experiments 245 H.3 The quanitative analysis of the run products. ..246 vii List of Tables Table Page 1. Equilibrium calculations for the blast furnace example 36 2. Interaction parameters for the quaternary system MgO - CaO - A1203 - Si02, according to Berman ( 1983) 42 3. Calculated coexisting quaternary liquids at 1400 °C, 1 bar 4 4. AfG [J/mol] for all considered phases in example 3. P = 4 Kbars 50 5. Calculated mica - feldspar equilibria 52 6. Computing times for the examples on a 48 megabyte Amdahl 5850 computer 55 7. Isomer shift (5), Quadrupole splitting (AEn) and the full width at half heigth (D for the w synthetic Fe-Mn-Mg olivines 79 8. Mossbauer area ratios and Fe-occupancies for the synthetic Fe-Mn-Mg olivines 80 9. The lattice parameters for the snthetic Fe-Mn-Mg olivines 92 10. The range of values for the positional parameters and the temperature correction factors 99 11. The result of the multiple linear regression. The constants are used to calculate the positional parameters from known site occupancies 101 12. The differences between calculated and observed integrated intensity ratios for fayalite, tephroite and forsterite 107 13. Example: The site occupancy for MnMgSiOa 111 14. normalized integrated intensities 114 15. Site occupancies for the synthetic Fe-Mn-Mg olivines 117 16. The materials used in the vacuum furnace 216 17. Fe-Mn-Mg Olivines from the literature with reported site occupancies and/or structure data ....230 18. Positional parameters for Fe-Mn-Mg Olivines from the literature 232 viii 19. Temperature correction factors for Fe-Mn-Mg Olivines from the literature 234 20. Estimated errors in the calculation of integrated intensities: Example for Tephroite 236 21. Estimated errors in the calculation of integrated intensities: Example for fayalite 238 22. Estimated errors in the calculation of integrated intensities: Example for fortserite 240 23. List of synthesized garnets 249 24. List of usable exchange experiments 250 25. Summary of microprobe analyses 253 ix Figure List of Figures Page 1. Examples of non-unique equilibria 8 2. Example of computing the assemblage having minimum AfG 13 3. Illustration of the algorithm including solution phases 8 4. Illustration of the use of the Gibbs-Duhem equation 27 5. Miscibility gaps in the CaO - Al203 - Si02 melts ....38 6. Phase diagram for the system CaO - Al203 - Si02 at 1400 °C 41 7. Experimental set-up for the olivine synthesis 58 8. Fugacities of 02, CO and C02 in the synthesis 59 9. Schematic set-up of the Mossbauer apparatus 73 10. Mossbauer spectrum for fay 6 teph 4 fo 2 77 11. Mossbauer spectrum for fay 2 teph 10 78 12. The lattice parameter a of the Fe-Mn-Mg olivines ....94 13. The lattice parameter b of the Fe-Mn-Mg olivines ....95 14. The lattice parameter c of the Fe-Mn-Mg olivines ....96 15. The volumes of the Fe-Mn-Mg olivines 97 16. Uncertainty of integrated intensities due to uncertainties in atom coordinates and temperature correction factors 103 17. Comparison of calculated and measured integrated intensities for tephroite, fayalite and forsterite .110 18. Intensity ratios versus site occupancies for MnMgSiOft. (values < 1) 112 19. Intensity ratios versus site occupancies for MnMgSi04. (values > 1) 113 20. The observed ln(k_) values in for the synthetic Fe-Mn-Mg olivines 1221. The Mossbauer furnace 214 22. The sample holder for the Mossbauer furnace 215 x Roozeboom diagrams for some exchange experiments in the binary Fe-Mn and Mn-Mg olivine - garnet systems 252 xi Acknowledgements I am grateful to my committee members, H.J. Greenwood, T.H. Brown and E.P. Meagher, who supported this work and carefully edited and reviewed many earlier versions of my thesis. I also wish to thank Dr. C. McCammon for her dedicated and efficient help with the Mossbauer apparatus and Mr. Doug Poison who improved and built the vacuum furnace. I also thank Prof. S.E. Calvert from the oceanography department for his friendly help with the PW1710 diffTactometer and Ms. Maggie Piranian for the introduction to the CAMECA SX50 microprobe. For stimulating discussions and suggestions my thanks are due to Dr. R.G. Berman, Dr. M. Engi, Prof. J. Rice and all my collegues and friends in the Department of Geological Sciences. The research reported here was made possible by funding through NSERC grant A4222 to H.J. Greenwood and the award of a UBC University Graduate Fellowship and a Killam Pre-doctoral fellowship. xii INTRODUCTION The partitioning of elements between coexisting phases and between different structural sites of a single phase is of central importance for geothermometry and geobarometry. In a system with more than two exchangeable elements, as in most natural assemblages, the equilibrium involving different phases can become a very complex problem for experimental and theoretical work. The aim of the present thesis was to investigate problems related to heterogeneous equilibria in multicomponent and multiphase systems. Naturally, only a few of these problems can be pursued in more detail. The sample system chosen consists of the ternary Fe-Mn-Mg olivines and garnets. The reactions beween Fe-Mg olivines and garnets have been proposed as a geothermometer by Kawasaki and Matsui (1977) and O'Neill and Wood (1979). These authors also point out that in order to investigate the thermodynamic properties of the garnet solid solutions, experimental work with olivine as coexisting phase may prove more useful than with the more complex pyroxene solid solutions. A ternary system was chosen to emphasize the typical complications encountered in higher than binary order systems. Although Ca may be a more important element than Mn, it was not considered because its mixing properties are expected to be more complicated (Dempsey (1980)) and because of my subjective sympathy for Mn minerals. At a very early stage of the investigation it became obvious that no final model for olivine - garnet equilibria would be 1 2 possible. Because the experimental part of the problem demands extensive analytical work and the department microprobe was not available for two years, only few, preliminary exchange experiments were planned and carried out. Their results are presented in Appendix H. One of the most important fundamental problems when dealing with complex multiphase systems is the computation of the equilibrium assemblage at given conditions. Although the literature on the subject is huge and still growing, a completely general method for non-ideal systems has to my knowledge not been published. One specific approach, the "linear programming method" (White et al. (1958)), seemed very promising and is developed to a general algorithm in the first part of the present thesis. This part was also submitted for publication (de Capitani and Brown (1987)). The second problem investigated in more detail is the distribution of Fe, Mn and Mg in ternary olivines. The non-linear behaviour of the lattice parameters for the Fe-Mn and Mn-Mg olivines (Annersten et al. (1984)) suggest that these solutions are non-ideal. For a thermodynamic mixing model it is important to chose a realistic entropy of mixing term based on our knowledge of order-disorder of that phase. The site distribution of the ternary olivines could be measured with a combination of Mossbauer spectroscopy and XRD intensity evaluation. The principles of the latter method were also presented at a AGU meeting, (de Capitani and Greenwood (1985)). 1. THE COMPUTATION OF CHEMICAL EQUILIBRIUM IN COMPLEX SYSTEMS CONTAINING NON-IDEAL SOLUTIONS 1.1 THE FORMULATION OF A GENERAL ALGORITHM 1.1.1 INTRODUCTION One of the important problems in theoretical petrology is the determination of the equilibrium phase assemblage for any specified set of conditions. Computations of equilibria permit comparison with natural or experimental assemblages and thus test the validity of theoretical models and thermodynamic data. The computed results can be used to design future experiments or to calculate assemblages at conditions beyond the range of current experimental techniques. In many respects the computational approach to equilibrium resembles the experimental approach, because both operate on the principle of progressively reducing the free energy until a minimum is reached. We cannot guarantee, however, that the absolute minimum has been reached in either case. The experiment may terminate with metastable phases due to difficulty in nucleating the stable phases. Similarly, a computation may converge to a local minimum or lack the presence of a stable phase due to its omission from the data base. It is clear that very careful interpretation is required for both computed and experimentally determined equilibria. 3 4 The aim of the present investigation is to present a technique for minimizing the Gibbs free energy which is an extension of an algorithm published by Brown and Skinner (1974). The new method shows some similarities with the "linear programming method" originally proposed by White, Johnson and Dantzig (1958). In the discussion below, I attempt to give enough detail to allow the interested reader to program or improve the algorithm himself. A program (called THERIAK), written in FORTRAN 77 is described and listed in appendix A and B. 1.1.2 THEORETICAL FUNDAMENTALS We will restrict our discussion here to some of the assumptions and implications that are important for the computation of chemical equilibria. For a more detailed treatment of the axioms and laws of thermodynamics the reader is referred to any one of a number of good textbooks (e.g. Prigogine and Defay (1954), Denbigh (1971) or Becker (1978)). The systems we consider are all chemically closed; that is, the bulk composition is fixed. We assume that there are only two possible types of energy, namely heat and energy related to pressure-volume work. This assumption fixes the number of independent variables for any function of state to two, which is also the maximum degree of freedom in the phase rule sense. The most general formulation of the chemical equilibrium problem follows from the second law of thermodynamics, and provides that the 5 equilibrium state is the state in which the total entropy of the closed system and its surroundings has reached the maximum value. If we take the independent variables to be pressure and temperature, this state is also characterized by a minimum in the Gibbs free energy of the closed system. Thus a chemical experiment can be simulated by solving a mathematical optimization problem which, for independent P and T, corresponds to the minimization of the Gibbs free energy, G (G=U-TS+PV). Although different choices of independent variables are possible, I have restricted the present investigation to the calculation of equilibrium assemblages for constant P and T. In the past twenty years many algorithms have been developed for solving the chemical equilibrium problem. Comprehensive reviews can be found in papers by Smith and Missen (1982) or Smith (1980a,1980b). Earlier work was summarized by Zeleznik and Gordon (1968), Van Zeggeren and Storey (1970) and Holub and Vonka (1976). Most popular algorithms are based on Brinkley (1947), Huff et al. (1951) (NASA-algorithm), White et al. (1958) (RAND-algorithm), Naphtali (1959,1961), Villars (1958), Cruise (1964) and Smith and Missen (1968). All these algorithms assume that the chemical equilibrium problem has a unique solution. 1.1.2.1 Non-unique solutions to the equilibrium problem A solution to the chemical equilibrium problem is non-unique if more than one assemblage fulfills the conditions of equilibrium. Strictly speaking these 6 conditions are only fulfilled for the global minimum G assemblage and for most cases this assemblage is the unique solution to the chemical equilibrium problem. However, most mathematical formulations of the equilibrium conditions may allow an algorithm to converge to a solution which is not the true equilibrium assemblage. For a computation these mathematically non-unique solutions are very important and we will therefore use the term "unique solution" only for equilibrium problems that have a single solution in the mathematical sense. For these problems the only assemblage to which an algorithm can converge to is the equilibrium assemblage. The types of non-unique solutions that may exist depend on the computational method. In fig. 1 three situations with non-unique equilibria are shown. An indifferent state (also called degenerate non-uniqueness) results if several phase assemblages are stable and have the same Gibbs free energy. (Fig. 1a). Although this is a case with multiple global minima it is generally not considered a serious problem, because this situation is usually only encountered on univariant curves in the P-T-plane. Local minima (Fig. 1b) can be very difficult to avoid and finding them can be of interest, because they may correspond to metastable states found in experimental and natural assemblages. However, it is important and unfortunately difficult to recognize the difference between a local and the global solution in a G-minimization. The third example is a constrained minimum 7 Fig. 1: (page 8) Examples of non-uniqe equilibria. The bulk composition is given by the arrow. a) : The phase assemblages S^-P and S2-P have the same Gibbs free energy, so that both satisfy the equilibrium criteria of minimum A^G for a given composition. b) : The mathematical formulation of the equilibrium conditions may be satisfied by two different assemblages. The assemblage S,-P represents a local minimum. S2~P is the global minimum. c) : S2-P is a possible "stable" assemblage if we do not explicitly allow for the possibility of two coexisting phases from the same solution. The true equilibrium assemblage is S,-S3. 8 Fig. 1: Examples of non-unique equilibria A,G A,G A,G 0 X a) Indifferent State b) Local Minimum t lllllllll c) Constrained Minimum 1 9 (Fig 1c), meaning not only that the ranges of certain variables are restricted, but also the number of variables we consider. If an algorithm is constrained to assume that no more than one solution phase can be part of the stable assemblage, then the global minimum for this problem is the assemblage S2_P. The true equilibrium 8,-83 can only be found if we allow two co-existing phases from the same solution. Whereas systems with only ideal solutions have unique equilibria (Shapiro and Shapley (1965)), this is generally not the case if nonideal solutions are involved. This fact and some implications for computational algorithms were pointed out by Caram and Scriven (1976), Othmer (1976), Heidemann (1978) and Gautam and Seider (1979). Many algorithms used today in connection with nonideal solutions were originally developed for use with ideal systems and assume unique solutions, (e.g. Fickett (1963), Eriksson (1971,1974), and Harvie and Weare (1980)). If deviation from ideality is large and the possiblity of phase separation is not considered explicitly, e.g. by phase-splitting (Gautam and Seider (1979)), such algorithms may converge to an improperly constrained minimum. The published algorithms that were specially designed for nonideal solutions are usually restricted to one phase separation or assume that a maximum of two phases from the same solution can co-exist (e.g. Kaufmann and Bernstein (1970), Sanderson and Chien (1973), George et al. (1976) and Prausnitz et al. (1980)). 10 As will be discussed below, the reason why most algorithms are not completely general for nonideal systems lies in the formulation of the equilibrium condition. 1.1.2.2 Formulation of the chemical equilibrium condition For any system of fixed composition the general equilibrium condition is: N minimize G = Z n,«g, k=1 K K subject to the constraints that all n^O and that the mass balance equations are satisfied. where n^ is the number of moles and g^ is the molar Gibbs free energy of the phase k. At the start of any computation, the total number of coexisting phases (N) is not known, and because the solution phases have a range of possible compositions, their Gibbs free energies at stability also are not known. This seemingly chaotic situation usually leads to an alternate formulation of the equilibrium condition, where g^ is replaced by the chemical potential of species j. The total number of species is known and each can be assigned to one phase. Unfortunately this formulation assumes a unique solution to the equilibrium problem, because each species can be present in only one amount nj. A generalization including possible phase separations becomes extremely difficult. 11 A possible way to use the general equilibrium condition with no further assumptions was proposed by White, Johnson and Dantzig (1958). They called it the "linear programming method". The procedure as originally described assumes that the Gibbs energy functions of the solutions are convex, but the basic idea of varying the number of phases considered during computation can easily be used for nonideal systems in which the G functions locally may be concave. Although several authors have used phases and not species in their computations, (e.g. Brown and Skinner (1974), Connoly and Kerrick (1984,1986)) no completely general algorithm seems to have been published. The formulation proposed here is surprisingly simple and much more effective than initially anticipated. 1.1.3 PHASES WITH FIXED COMPOSITIONS Because G as a function is only calculable relative to a reference state, the following discussion refers to the Gibbs free energy function as A^G, the AG of formation from a reference state. Let us first consider a system of fixed T, P and bulk composition for which each phase has an invariable composition and a calculable A^G. In this case, the problem of finding the minimum A^G assemblage can be solved by any linear programming method. How such a method may work is outlined below and illustrated in Fig. 2. With two independent variables the maximum number of stable phases is equal to the number of components (C) in the 12 Fig. 2: (page 13) Example of computing the assemblage having minimum A^G for a selection of phases with fixed compositions. The bulk composition is given by the arrow. Starting with an initial guess (here A-B), one phase at a time is replaced by another to achieve a lower total A^G. In this example A is replaced by C, then B by D, and so on until the stable assemblage, of lowest A^G, is found. The sequence of calculations will depend on the order of considering new phases. 13 Fig. 2: Example of computing the equilibrium assemblage for phases with fixed compositions A t AfG i r 0.0 t i i I i i i i 0.5 X 1.0 1 4 system. We will start initially with any assemblage of exactly C linearly independent phases. For a specified bulk composition some of these phases may have zero amounts. All other phases considered are related to this initial assemblage by one reaction each. Fig. 2 shows an example of a simple binary system where we have chosen the initial assemblage to be A+B. As we go through the list of phases considered (in this case in alphabetical order) we notice that the reaction C = A+B has a ArG > 0. This means that C is more stable than A+B and for the chosen bulk composition, C+B becomes the new stable assemblage. For the next phase in the list (D), a similar procedure (ArG of D=C+B is > 0) leads to the lower A^G assemblage C+D and so on, until the stable assemblage H+E is located. Each time a phase is found that lies below the A^G tie-line of the currently considered assemblage, this phase replaces one phase from that assemblage. Which phase is replaced depends on the bulk composition. We must go through the list of considered phases several times, until we find the true stable assemblage where all other phases lie above (or on) the A^G tie-line. For multicomponent systems the components and A^G define a hyperspace and the A^G tie-lines become A^G hyperplanes, but the procedure remains the same. If ArG between two or more assemblages happens to be exactly zero then this is called an "indifferent state" (see Prigogine and Defay (1954)). An equilibrium calculation will find only one assemblage, but because the phases of the other 1 5 assemblages have the same chemical potentials, this situation is easily recognized. 1.1.4 ADDING SOLUTION PHASES TO THE SYSTEM If we now add solution phases to the system the mathematical treatment becomes more complex. As a first approximation we consider all the phases of fixed composition plus all endmembers of the solutions and calculate for this simplified system the minimum A^G assemblage by linear programming as described above. The essence of the new algorithm is that we now simplify further calculations by transforming the reference state of the complete system so that the phases of the "currently stable assemblage" all have AfG = 0, but that the ArG of all possible reactions in the system remain unchanged. If originally A^G meant "formation from the elements" and the stable assemblage consists of the phases A, B and C , then after this transformation the values of A^G have the meaning "formation from A, B and C", but all stability relations remain the same. This change of base operation is easily accomplished by linear algebra. For each solution we now search for the composition with the smallest A^G. (This is a nonlinear programming problem and is discussed in more detail below.) The compositions so determined are now treated as if they were phases of fixed composition and a new minimum A^G assemblage is computed by linear programming. Again we transform the system, find for each 1 6 solution the minimum A^G composition and calculate the stable assemblage by linear programming. These three steps are repeated until some convergence criteria is satisfied. Fig. 3 shows an example with two nonideal binary solutions. In Fig. 3a only the four endmembers A1f A2, B, and B2 are considered and the stable assemblage is calculated to be pure B, + pure B2. The step from Fig. 3a to Fig. 3b involves the change of base operation such that the A^G tie-line B,-B2 becomes horizontal and AfGB1 = AfGfi2 = 0. ^fGA1~^fGB1^ anc^ ^fGA2~^fGB2^ remai-n unchanged. Now we search for the minima of both solutions, add these points as phases to those already considered and compute the minimum ACG assemblage again with linear programming, finding the assemblage B3-A3. The step to Fig. 3c is by the same procedure with the A^G tie-line of the currently most stable assemblage B3-A3 being transformed to a new zero level, whereupon a new stable assemblage is computed. The convergence is relatively fast (averaging about 6 iterations) in binary solutions but, of course, slows down with a larger number of endmembers. This procedure always computes an assemblage with C (=number of components) phases, although some of these phases may be present in a zero or, owing to round off errors, near-zero amount. If two or more stable phases from the same solution have almost identical compositions, (e.g. all mole fractions within 10~5) these have to be interpreted as corresponding to one phase only. The algorithm makes no assumptions about the 17 Fig. 3: (page 18) Illustration of the algorithm including solution phases. The system has two components with two non-ideal solutions A and B. The endmembers of the two solutions have identical compositions. The temperature is 1 K and A^G for A1, A2, B1 and B2 are -3, -8, -6 and -9 (J/mol) respectively. The excess functions are 21-xj^-x^ f°r solution A and 15«x^1'Xg2 + 23*xBI"XB2 L=or SOxUti°n B« T^e bulk composition is 0.6 moles of the first component and 0.4 moles of the second. The stable phases are: A10.28658 A20.71342 and B10.83061 B20.16939 Fig. 3: Illustration of the algorithm including solution phases 19 number of phases in a stable assemblage and some unexpected results stemming from this approach are discussed in the examples later. The success of the algorithm naturally depends on how fast and how accurately we can compute the minimum A^G composition of a solution. 1.1.5 SUMMARY OF THE ALGORITHM The following is a general summary of the algorithm. Each step is discussed in more detail in the next chapter. We assume that we are given a temperature T, a pressure P and a bulk composition. The list of considered phases contains initially the names, the compositions and A^G for all possible phases of fixed composition. Further, A^G of each solution is a known function of the composition. We start with a feasible assemblage of C (=number of components) linearly independent phases, each having A^G = 0. Feasible means that all amounts are non-negative and that the mass balance equations are satisfied. The first iteration is used to generate a better initial assemblage and therefore step 1 is skipped. 1. Search each solution phase for the composition with the smallest A^G. (nonlinear programming problem). Add these compositions as "new phases" to the list of considered phases. 20 2. Find from all considered phases the assemblage with minimum A^G. (linear programming problem) The phases computed in step 1 which turn out to have zero amount after this step can be discarded from further consideration. 3. The assemblage with minimum A^G (from step 2) is considered to be the new reference state. A^G of all phases are computed relative to this assemblage. This change of base operation leaves us in a situation identical to that before step 1. Continue again with step 1. After the linear programming (step,2), the most stable assemblage defines a A^G reference hyperplane, and no considered phase can have a A^G below it. In the next iteration we can only calculate a more stable assemblage if new solution phases with a A^G below that reference hyperplane are considered. The search for phases with A^G below the the reference hyperplane is greatly facilitated by the change of base operation (step 3), because now all phases with A^G below have A^G < 0 and all phases above have AjG > 0. If a solution phase has any points with A^G < 0 after step 3, then the global minimum (step 1) is guaranteed to have a A^G less than zero and therefore the following step 2 will compute a more stable assemblage. The algorithm continues to calculate new assemblages as long as any phases 21 with a AjG below the current reference hyperplane exist. The iterations are terminated when the sum of all non-positive A^G before step 3 exeeds a threshold value, (e.g. -10~8). 1.2 DETAILS OF THE COMPUTATION OF CHEMICAL EQUILIBRIUM 1.2.1 THE INITIAL ASSEMBLAGE We have stated above that initially we start with a feasible assemblage for which all phases have A^G = 0. Because the bulk composition is often given in terms of components, (elements, oxides) it is convenient to define imaginary "phases" having the same composition as these components and a A^G of zero. These "phases" are linearly independent and are used as initial assemblage. To avoid problems with real phases which may have positive A^G, the "phases" of the initial assemblage are assigned an absurdly high A^G (e.g. 102°) just before the first linear programming step. After this, their values are restored to zero, but in later loops they are not considered again. 1.2.2 THE NONLINEAR PROGRAMMING (STEP 1 OF ALGORITHM) The central part of the algorithm is the procedure that searches the minimum A^G composition for every solution. The details of how this nonlinear programming routine is set-up depend on the formulation of the solution models. It is required that each solution be defined over its entire compositional and structural range. I have chosen to use the 22 concept of endmembers. That is, each solution is considered to be made up of any number of species, where each of these species is a structurally valid endmember. The only constraint for a solution is that the mole fractions of the species be non-negative. Most solution models used in geochemistry follow this concept. Let us take as an example a binary orthopyroxene (Fe,Mg)2Si206. The obvious endmembers are Fe2Si206 and Mg2Si206. If the model should include information on site occupancies for the two sites M, and M2, then the endmembers are: FeFeSi206, FeMgSi206, MgFeSi206 and MgMgSi206. Every possible and structurally different configuration of the smallest unit considered becomes an endmember itself. Such speciation models for complex solutions are frequently used for gaseous systems and were also proposed for solids by Brown and Skinner (1974), Brown and Greenwood (in preparation), and was used by Engi (1983) in modelling the ternary spinel solid solution. A completely different approach would be to define the solution as a mixture of FeM1Si03, FeM2Si03, MgM1Si03 and MgM2Si03, with the constraint that the amount of M1-species is equal to the amount of M2-species. In that case the structural homogenity is controlled by an additional explicit contraint, and would require a different nonlinear programming routine than the one proposed. The problem is to find the minimum A^G composition of a given solution. 23 ne : Number of endmembers (species) in the solution. x : 1 x ne row vector: Xj = concentration of endmember j in solution phase. Where several phases from the same solution are discussed their concentration vectors will be x„, x" etc. n m M° : 1 x ne row vector: M°J = chemical potential of pure endmember j. M : 1 x ne row vector: Mj = chemical potential of endmember j in solution phase. Mj = Mj + a-R«T«ln(aj) (where a = site occupancy integer) If several phases from the same solution are discussed their chemical potential vectors will be H , M_ etc. A^G of a solution phase with the concentration vector x is: ne AfG(x) = Z x.«M- = x«7iT (Gibbs-Duhem equation) j = 1 -1 -1 where Mt = transpose of M 1.2.2.1 Ideal solutions Mj = Mj + a«R-T-ln(Xj) The AjG-function of an ideal solution is everywhere convex and there is a unique minimum where Mi = M2 = ••• = UNE The concentration vector x for this minimum can be calculated in one step. First the endmember J with the smallest is found. Then all x-'s are calculated as x. = e-(»]-»°j)/("-*'?) j=i,2,...ne The exponent is always ^ 0, but if it is smaller than -150 Xj is set to ^10"66.(=e"150, this is about 10 magnitudes bigger than the smallest number our computer can handle). The sum of all will be between 1 and ne. Thus we can safely divide all Xj by this sum and get the concentration vector x for minimum A^G. 1.2.2.2 Nonideal solutions There are of course many ways to.find the minimum of a nonideal solution. Good introductions into the topic are e.g. Dantzig (1963), McCormick (1980) and Dixon (1980). For our strategy the following key points were considered: •It is rather ineffective.to use a highly sophisticated (and computer intensive) method, because the reference hyperplane is moved after each iteration. This rules out any method that uses directly or indirectly second-derivative information (i.e. Newton's method). On the other hand, to guarantee locating the minimum A^G assemblage the algorithm requires the exact and global minimum. Our compromise is that we use a strategy that can refine a minimum to any desired precision, if required, but may for standard use converge to a more approximate value. •Although we are primarily searching for the global minimum, the local minima prove useful as well, 25 especially if two (or more) phases of the same solution are found to coexist. All local minima found are added to the list of considered phases in the hope that at least one of them is close to the global minimum. (Adding more phases than just those defining the local minima may accelerate the algorithm in some cases). The strategy that we have adopted is a gradient method. Starting from an initial guess, one step consists of searching a new solution phase with smaller A^G along a descent direction v. The steps are repeated until a minimum is reached or some other stopping criteria is satisfied. The phase found in the last step is added to the list of considered phases. For each step first a descent direction v and an approximate stepsize A is calculated, then the actual stepsize is determined in a so-called stepsize procedure. Because A^G of non-ideal solutions may have local minima, several initial guesses are used, to increase the probability of finding the global minimum. During the minimization we will make use of some special properties of the A^G function: a) Af(3(xn) = xn'ju^ : This allows us to calculate easily a function value on the tangent hyperplane to xn at any position x. This will be: x •MJ'. (see Fig. 4). if c m m n 3 xm«Mp < A^G(xn) then the vector v = (xm_xn) starting at xn and pointing towards x*m is a descent direction. Fig. 4: (page 27) Illustration of how the relation A^G(x) = x«7iT is used detect descent directions and possible locations of one-dimensional minima. (See text for details). Fig. 4: Illustration of the use of the Gibbs-Duhem equation 28 Further: if (x -x„) is a descent direction or m n AjG(xm) < A^G(xn) and Xp'M* < ^fG^m) then we know that there is a minimum along a line between xm and x\ . (The 3 m n absence of a minimum cannot be proved). b) If x has a component x^ = 0 then Mj = -°°.(in practice Mj may be set to a large negative number, e.g. -1020) and any vector v starting from x with positive v^ is a descent direction. Thus any descent direction w, starting from anywhere in the solution, with negative Wj will contain a minimum within the feasible region, (all x^ ^ 0). This is a necessary condition to use a simple stepsize procedure, and in fact allows us to treat each A^G minimization as an unconstrained optimization problem. The initial guesses: If one or more solution phases are part of the "currently stable assemblage", these will be used as initial guesses. In addition, if one endmember is stable or the number of stable phases from that solution is zero or changed after the previous iteration, we scan the solution for a reasonable starting point. It has usually proved sufficient to choose a grid width of 1, that is to select the endmember with the lowest A^G, but very ill-behaved solutions may require a finer grid or more initial guesses, (e.g. all 29 endmembers). The calculation of v and A: The refinement of each initial guess is done in steps each defined by a direction v and a stepsize A. In the following x„ is the concentration vector after the ntl1 step. v is always defined in a way that the sum of all the v^ equals zero and the length of v is one. This is not absolutly necessary but gives a uniform meaning to the stepsize A. For the first two steps v is always the direction of the steepest descent: (v is then normalized so that |v| = 1) and A is either an initial value A- •. (e.g. 0.02) if the mit 3 starting point is a new initial guess, or a value computed in a previous minimization for the same solution phase if the starting point is a previous minimum. To prevent zigzagging, for further steps, v and A depend on the position of a supposed minimum in the direction of n / ne (x -x n n-2 ): if x n-2 < x (note: x" = AfG(x) n n r n then v steepest descent A I / 2 else v n-2 (Normalized: |v| = 1) 30 The refinement is terminated when either the maximum number of steps allowed is reached or A becomes smaller than the smallest stepsize Am^n considered. The number of steps should be kept minimal (e.g. =3). The only situation that requires more steps is if the minimum is close to a hyperplane defined by other possibly stable phases. The stepsize procedure: Now that we have established v and A, we search for a point close to the minimum along the descent direction. Each time a new composition vector xn+1 is calculated, it has to be defined so that the sum of the x^ = 1 and all x^ > 0. This is achieved by setting all x. < A . „ to zero and normalizing J 3 l min 3 x . . to a sum of 1. n+1 The new composition vector xn+1 is calculated as follows: xn+1(m) = xn + m«A«v (m=0,1,2...) where m is increased until AfG(xn+1(m)) < AfG(xn+1(m+1)) or m > allowed maximum (e.g. 100) If m after this step is zero then x +1(m) = xn + V'A/(2^m) (m=1,2,...) where m is increased until AfG(xn+1(m)) < A^G(xn) or m > allowed maximum or A/(2«m) < Am^n (in the last two cases xn+1 = xn). 31 If A is in the magnitude of the optimal stepsize, m will be a small number. After the first few iterations the described procedure to calculate A yields nv*3. (with some notable exeptions where m==50.) Like all gradient methods the convergence can become very slow. This may occur if the algorithm is "caught in a narrow trough". Therefore, if A becomes smaller than Am. we should 3 ' min test whether we are close to a minimum or whether the above situation is encountered. Fortunately, solutions show these narrow troughs usually along tie-lines of species with low A^G. We can thus escape by defining additional steps in the direction towards each endmember (e.g. with A = A^n^t) If the computed minimum becomes a stable phase, in the next iteration it will be used as an initial guess with a stepsize A = |xn-XQ| or Am^n whichever is greater. 1.2.3 THE LINEAR PROGRAMMING (STEP 2 OF ALGORITHM) nc: Number of components in the system np: Number of currently considered phases n: 1 x np row vector: n^ = number of moles of phase k g: 1 x np row vector: g^ = A^G of one mol of phase k B: nc x 1 column vector: b^ = amount of component i in system ||X||: nc x np matrix of phase compositions. X., = amount of component i in phase k 32 A feasible assemblage is characterized by: ||X||«nT = B and all nk > 0 The problem to find the equilibrium assemblage from a set of fixed composition phases can be formulated as: minimize G = n«gT subject to the constraints: ||X||«nT = 5 and all n^ > 0 This can be solved with a special case of the simplex method (see e.g. Dantzig (1963)). The following procedure assumes that at the beginning of step 2 of the algorithm the first nc columns in ||X||, n and g define a feasible assemblage of linearly independent phases and that the rank of ||X|| is nc. These conditions are satisfied by the initial assemblage as defined earlier and remain so throughout all iterations. First the matrix ||X|| is reduced, so that the first nc columns are the identity-matrix. (To avoid accumulations of rounding errors, the X^ are first expressed in terms of the system-components and then reduced). Each column j=1,2...nc represents a "currently stable phase". Each column k=nc+1,nc+2,...np can be interpreted as a reaction relating the phase k to the "currently stable phases".: nc phase, = E X., phase-i=1 1K 1 with a ArG(k) = Each reaction is tested for A G(k) > 0. If one is found then I (9i-Xik) qk 33 that phase k is more stable than a linear combination of the "currently stable" phases. At this point a 5-step procedure is started: -A- Locate the "currently stable phase" to be replaced by the newly-found phase k: The smallest positive n./X.. 1 1K (i=1,2,..nc) is called F and the corresponding i is A called i . Phase i will be displaced by phase k. A A -B- Force agreement with the constraints ||X||•nT = B and n. ^ 0 by defining new phase-amount vectors n- = ni - Fx-Xik (i=1 ,2, ...nc) , nk = Fx' (Note that the number of moles of phase ix becomes zero.) -C- Switch columns k and i in the matrix ||X|| , g, n and other book-keeping arrays. This achieves replacement of phase i by phase k. A -D- Reduce ||X|| with the pivoting element now occupying position ix,ix. This normalizes the reactions to refer to the phases now occupying the first nc columns of ||X||. -E- Search for the next phase with ArG(k) > 0. If none is found, terminate the linear programming, otherwise return to step -A-. 34 1.2.4 THE CHANGE OF BASE OPERATION (STEP 3 OF ALGORITHM) Theoretically it would be possible to hide this step in the nonlinear programming routine (minimizing relative to the "currently stable assemblage"). The advantage of performing the change of base operation after each linear programming step is that the algorithm becomes more transparent and thus easier to program. It transforms the general chemical equilibrium problem into a series of individual function minimizations. For each phase g^ is replaced by: nc Qk' - qk xik'qi i = 1 For k<nc the above equation yields g^' = 0. 1.3 APPLICATIONS OF THE COMPUTATION OF CHEMICAL EQUILIBRIUM 1.3.1 INTRODUCTION The algorithm presented in this chapter is especially designed for equilibrium calculations in complex systems involving phase separation in more than one phase. It would be rather inefficient to use it for an ideal one-phase system. The examples are chosen primarily to demonstrate the variety of problems that can be solved with the described method. Although some of the data or models may be of questionable utility, the calculated results show that the algorithm allows a quick insight into complex stability 35 relations. (Or at least into the models we have of them.) For most of the following applications the models are taken directly from the literature or are given in a table, so that a critical re-examination of the results is possible. 1.3.2 EXAMPLE 1: BLAST FURNACE PROBLEM This example is taken from Smith and Missen (1982, pp. 208-211) who use it to demonstrate the capacities and limitations of different computation methods. The problem was originally formulated and solved with slightly less CH„ in the bulk composition by Madeley and Toguri (1973). All data and the result are listed in table 1. As we would expect from a blast furnace the stable phases are iron, a gas phase and impurities (CaO). This problem has a unique solution and in addition nitrogen is an inert species in the gas phase. Our method cannot take advantage of any of these special cases but still converges at very acceptable speed and the calculated concentrations are identical to those published by Smith and Missen (1982). 1.3.3 EXAMPLE 2: SILICATE MELTS The system considered is CaO - Al203 - Si02. All data for the solid phases and the ternary non-ideal melt model are taken from Berman and Brown (1984). Let us first concentrate on the melt alone. The thermodynamic model of the melt phase involves a 4t*1 degree Margules-type excess function with 12 interaction parameters. Fig. 5 shows the 36 Table 1.: Equilibrium calculations for the blast furnace example. (1050 K, 1 atm) Spec ies AfG[J/mol] Bulk Stable m. f. Solid phases C(Graphite) 0 85.5901 Fe(Iron) 0 3.5270 42. 8270 CaO(Lime) -529190 0.6063 0. 7562 Fe3Ofl (Magnetite) -762660 13.1000 CaC03(Calcite) -942450 0.1499 < FeO(Wustite) -193930 ideal qas 282. 2639 02 0 20.4600 6. 1303- 10" 2 2 H2 0 2. 2766- 10" 2 N2 0 187.1000 6. 6286< 10" 1 CH20 -86110 8. 3543« 10" 9 CHO -62550 3. 7258- 10" 9 OH 22590 2. 8093. 10" 1 3 CO 2 -395970 2. 3608- 10" 2 H20 -189870 1.7750 1 . 5723- 10- 3 CH« 24850 2.5540 2. 3201 - 10" 5 CO -204640 2. 8918- 10" 1 Bulk: inital mixture of phases in moles, m.f.: mole fraction in stable gas phase. 37 Fig. 5: (page 38) Miscibility gaps in the CaO - Al203 - Si02 melts according to the data from Berman and Brown (1984). The concentrations are in mol %. The straight lines are calculated tie-lines between coexisting phases. The dotted area is a field where three different ternary melts are in coexistence at 1400 °C. Their compositions are in terms of (CaO/Al203/Si02): (0.02135/0.13489/0.84376), (0.09798/0.77994/0.12208) and (0.08535/0.20656/0.70809) . Fig. 5: Miscibility gaps in the CaO - A1203- SiOg melts Si08 39 results of equilibrium computations for varying compositions at 1400° and 1500° C. For the two diagrams some 70 calclations were performed. There has been some discussion about the temperature extensions of that model (Barron (1985), Berman and Brown (1985b), Connolly and Kerrick (1986)) to which we can now add a new spice: below ca. 1478 °C there is a field with three coexisting melts. This arises from the interference of two two-phase fields. Although it is metastable relative to possible solid phases and has no further implications for this system we should once more be reminded that multicomponent solutions may exsolve to more than only two phases. Similar results have been reported for the same system by Connolly and Kerrick (1986) at temperatures higher than those for which the model was calibrated. Fig. 6. is the phase diagram for this system at 1400 °C including the solid phases. Mullite is not considered because of inadequate thermodynamic data. If mullite were included the field with two coexisting melts in the Si02~rich corner might prove to be metastable. For the quaternary system MgO - CaO - Al203 - Si02 the mixing properties of the melt were investigated by Berman (1983). The model is similar to the ternary system but now has 31 Margules parameters. They have a validity range defined by the location of the liquidus surface and experimentally determined two-liquid fields and are listed in table 2 together with a calculated tie-line in table 3. 40 Fig. 6: (page 41) 0 Phase diagram for the system CaO - A1203 - Si02 at 1400 °C. All thermodynamic data are from Berman and Brown (1984). The liquidus field includes a two-phase region in the Si02-rich corner. The stippled areas are the stable melt fields. The tie-lines between the melt and the solid phases are omitted. Fig. 6: Phase diagram for the system CaO - A1 203- Si02 at 1400 °C Si08 42 Table 2.'. Interaction parameters for the quaternary system MgO - CaO - A1203 - Si02, according to Berman (1983). The index is as defined by Berman and Brown (1984). W = WH - T-Ws Binary Si02 - AL203 index W. H SSSA -161039.81 SSAA 1803871.61 SAAA 258911.07 W, -60.41 844.79 110.47 Binary Si02 - CAO SSSC SSCC SCCC -25525.64 •341962.81 •960867.88 34. 19 56.62 •247. 1 1 Binary Si02 - MgO SSSM SSMM SMMM 94145.91 •270581 .70 •610906.87 52.77 -59.98 •195.01 Binary A1203 - CaO AAAC AACC ACCC •1 97743.47 •734020. 10 •617537.61 -1.11 •251 .94 -76.83 Binary A1203 - MgO AAAM AAMM AMMM -641890.87 727706.30 -691193.17 -224.47 290.88 -227.94 43 Table 2. (continued) W = WH - T-Wg Binary CaO - MgO index CCCM CCMM CMMM W H 318144.87 590616.72 114076.93 154.79 322.37 58.66 Ternary Si02 - A1203 - CaO SSAC -2685775.05 -917.87 SAAC -2833471.13 -976.80 SACC 580678.70 526.17 Ternary Si02 - CaO - MgO SSCM -1143506.91 -279.90 SCCM -2464803.70 -669.00 SCMM -2026666.90 -555.03 Ternary A1203 - CaO - MgO AACM 343546.79 160.77 ACCM -2440837.52 -526.78 ACMM -3334297.25 -1148.10 Ternary Si02 - A1203 - MgO SSAM -1828080.99 -693.44 SAAM -3201173.35 -1382.29 SAMM -1828080.99 -693.44 Quaternary SACM Si02 - A1203 - CaO - MgO 2179011.74 1328.50 44 Table 3. : Calculated coexisting quaternary liquids at 1400 °C, 1 bar . The bulk composition is 30% Si02, 40% A1203, 10% CaO and 20% MgO. All concentrations are in mol%. 12.023 % 87.977 % liquid 1 liquid 2 Si02 32.625 29.641 A1203 38.721 40.175 CaO 22.914 8.235 MgO 5.740 21.949 Although the algorithm was developed having mainly binary and ternary systems in mind, it also works well for calculating quaternary solvi. The computing time seems to increase roughly in proportion to the square of the number of endmembers. If the method were used to study phase separation models in higher order multicomponent melts, it would be useful to accelerate the convergence for this special case. In principle, this can be achieved by using a previously calculated equilibrium to generate the initial guess and by adding more than just the minimum A^G composition phases at each iteration (e.g. some points in the vicinity of these minima and around the bulk 45 composition.) 1.3.4 EXAMPLE 3: MICA - FELDSPAR EQUILIBRIA 1.3.4.1 Thermodynamic models Let us assume we were interested in doing an experimental study on the reactions between white mica (paragonite - muscovite) and feldspar. This system is relatively well-known and we can predict most of the results. The data-base used was compiled by Berman et al. (1985) and is consistent with most experiments performed in this system. Albite and K-feldspar have low-feldspar standard state properties. A disordering function is used, so that at high temperatures their A^G's are those of the high-feldspars. The a - 0 transition in quartz is modelled according to Berman and Brown (1985a). A^G of C02 is calculated using a modified Redlich-Kwong equation of state (Kerrick and Jacobs (1981)) and A^G of H20 according to Haar et al. (1984). The apparent A^G for all considered phases are listed in Table 4. The most important reactions for which the data have to be consistent are paragonite + quartz = albite + alumosilicate + water (Chatterjee (1972)). and muscovite + quartz = K-feldspar + alumosilicate + water. (Chatterjee and Johannes (1974)). The mixing model for muscovite - paragonite is taken from Chatterjee and Froese (1975) which they derived from their own molar volume measurements and the solvus data of Eugster 46 et al. (1972) for white micas. The notation for the Margules parameters is the same as introduced by Berman and Brown (1984). AfG(Mica) = xpa-AfG(Pa) + xMu«AfG(Mu) + R.T.xpa.ln(xpa) + R.T.xMu.ln(xMu) + W122.xpa.xMu + W112.xpa.xMu [J/mol]. Where : W122 = 12230.2504 + 0.7104432-T + 0.665256-P W112 = 19456.0184 + 1.6543536-T - 0.456056«P For the feldspars the model of Ghiorso (1984) was chosen, which on rearrangement, yields: AfG(fsp) = xAb-AfG(Ab) + x0r-AfG(Or) + xAn«AfG(An) + K-^Ab-^Ab^An^ + R'T-xOr-ln(xOr(l-xAn)) + R-T-x, -ln(xa (1+x. )2/4) + W112.xj An An An Ab Or + W'^-XAb*XAn + W'33'xAb'xAn + W^-x0r.xAn + wi23-xAb.x0r.xAn [J/mol] Where : W112 = 17062.352 + 0.3606608-P W122 = 30978.336 - 21.5476-T + 0.3606608-P (Thompson and Hovis (1979)) W, , 3 = 8471.3448 W133 = 28225.6824 (Newton et al. (1980)) 47 W223 = 27983.0104 + 20.21022624-T W233 = 67469.0920 - 11.062496-T W123 = 76225.45088 - 8.43465112«T (Ghiorso (1984)) The mixing properties for H20 and C02 are according to Kerrick and Jacobs (1981). The first column in table 5 shows the calculated assemblages at various temperatures and 4 Kbars for a bulk composition equal to 1/2 paragonite, 1/2 muscovite plus water. 1.3.4.2 Excess phases Chatterjee and Froese (1975) have calculated the equilibrium assemblages in the same system, assuming that in addition to H20, quartz is also always present. Whether quartz is stable in the chosen P-T-range depends on the bulk composition. We can always force quartz into the stable assemblage by adding enough Si02 to the system. Alternatively we can calculate the equilibrium assemblages with excess quartz by assuming the chemical potential of Si02 in the stable assemblage to be equal to A^G of quartz. In that case we have to allow that quartz may be present in a negative amount. Because the linear programming routine is based on the constraint that all amounts are positive, I propose a slightly different approach: we define a phase called -quartz with the composition -Si02 and a A^G which is the negative of that of quartz. The phases quartz and -quartz have the same chemical potentials and if quartz alone is stable (relative to tridymite, cristobalite, Si + 48 02 etc.) then one of the two will always be part of the stable assemblage: quartz, if enough Si02 is present and -quartz if not. The number of moles of stable -quartz is the amount of Si02 we would have to add to the system to saturate it with quartz. In column 2 of table 5 the results with excess quartz are listed. As long as two white micas are stable their compositions are the same as in column 1. For 600 °C Chatterjee and Froese (1975) calculated xQr = 0.0416 and xMu = u'8"738. The small difference in our computational results is expected from the slightly different endmember properties used. 1.3.4.3 Addition of calcite Adding calcite to the system changes the situation drastically. The feldspars have an additional endmember, the fluid becomes a mixture of H20 and C02 and more phases have to be considered. These changes are responsible for quite different equilibrium compositions (column 3, table 5). The three coexisting feldspars at 550 0 are a consequence of Ghiorso's (1984) model ^which was fitted to data between 600 0 and 900 °C with the intention to extrapolate to higher temperatures. The configurational entropy assumes disordered albite/K-feldspar and fully ordered anorthite (according to Newton et al. (1980)). Our extrapolation to lower temperatures is intended only to demonstrate the ability of the algorithm to handle such complex stability relations. 49 1.3.4.4 Addition of a buffer In many experimental techniques buffers are used to control the activities of one or more species in the fluid phase. Similar (and probably more complex) buffers play an important role in geological processes. If the controlling reactions are simple, the concept of buffering can easily be simulated in a A^G-minimization. We will hypothetically assume that the reaction brucite = periclase + H20 is buffering the activity of H20. This reaction was chosen because the activity of H20 will vary considerably over the considered temperature range. We define a new phase which we call BP-buffer. Its composition is H20 and A^G(BP-buffer) = A^G(brucite) - A^G(periclase). We now have to add enough H20 to the system, so that the BP-buffer becomes stable. If too much is added this does not change the assemblage, because all the excess H20 will go into the buffer phase. For the calculation of column 4, table 5 I did not add H20 but have used the same technique as for the excess quartz and have defined a negative buffer phase. The biggest influence of the buffer on the stable assemblage is at 400 and 450 °C, where the H20-activity is small. 50 Table 4.: AfG [J/mol] for all considered phases in example 3. P = 4 Kbars 400 C 450 C 500 C 550 C eoo C 650 C 700 ' C ALBITE ANDALUSITE ANORTHITE BOEHMITE CALCITE CORUNDUM CRISTOBALITE DIASPORE GEHLENITE GIBBSITE GROSSULAR dADEITE KAOLINITE KYANITE LAUMONTITE LAWSONITE LIME MARGARITE MEIONITE MUSCOVITE -4075566.88 -2654752.33 -4365243.60 -1026914.47 -1270609.53 -1714917.47 -935769.21 -1026442.54 -4120291.55 -1347493.52 -6820716.11 -3122061.28 -4265285.94 -2655718.71 -7581274.72 -5035238.32 -661949.37 -6428119.55 -14346560.88 -6185113.43 -4096864.29 -2665986.52 -4386277.47 -1032301.70 -1279423.62 -1721749.27 -940463.02 -1031171.02 -4141299.37 -1356203.25 -6850766.32 -3137126.10 -4288420.54 -2666485.69 -7627497.71 -5061677.06 -665876.09 -6458716.13 •14420543.81 -6216798.67 -4119235.37 -2677855.52 -4408347.79 -1037984.64 -1288639. 10 -1728988.88 -945383.80 -1036195.21 -4163277.56 -1365454.08 -6882433.84 -3152980.36 -4312781.45 -2677890.85 -7676025.56 -5089582.82 -669982.32 -6490976.10 -14498043.78 -6250141.51 -4142625.94 -2690326.99 -4431402.77 -1043950.40 -1298236.69 -1736615.54 -950519.82 -104 1502.22 -4186175.27 -1375224.21 -6915633. 14 -3169584.01 -4338308.43 -2689902.21 -7726741.68 -5118891.96 -674257.68 -6524818.08 -14578886.74 -6285060.13 -4166984.24 -2703371.50 -4455395.50 -1050187.11 -1308198.85 -1744610.38 -955860.42 - 1047080. 18 -4209946.62 -1385493.37 -6950286.68 -3186900.74 -4364946.79 -2702490.61 -7779540.35 -5149546.07 -678692.92 -6560168.00 -14662915.02 -6321479.82 -4192261.32 -2716962. 17 -4480283.36 -1056683.82 -1318509.58 -1752956. 19 -961395.88 -1052918.14 -4234550.00 -1396242.70 -6986324.01 -3204897.48 -4392646.66 -2715629.44 -7834325.31 -5181491.30 -683279.72 -6596958.26 -14749985.14 -6359332.25 -4218411.29 -2731074.42 -4506027.43 -1O63430.4O -1329154.25 -1761637.21 -967117.33 -1O59005.97 -4259947.55 -1407454.63 -7023680.91 -3223544.00 -442 1362.44 -2729294.30 -7891008.64 -5214677.94 -688010.56 -6635126.99 -14839966.08 -6398554.76 Ln O 51 Table 4. (continued) 400 C 450 ' C 500 * C 550 ' C GOO ' C 650 ' C 700 ' C PARAGONITE POTASSIUM FELDSPAR PREHNITE PYROPHYLLITE QUARTZ SILLIMANITE STELLERITE TRIDYMITE CA-AL PYROXENE WAIRAKITE WOLLASTONITE PSEUDOWOLLASTONITE YUGAWAIRALITE ZOISITE CLINOZOISITE CARBON DIOXIDE STEAM BP-Buffer (=BRUCITE-PERICLASE) -6141210.88 -4114965.26 -6401100.31 -5808596.81 -938516.34 -2654516.62 -11378078.94 -936240.56 -3400457. 16 -6915351.05 -1687570.02 -1685346.75 -9453495.64 -7105190.98 -7102840.97 -489581.23 -337079.75 -351616.51 -6172241.75 -4136665.82 -6432810.31 .-5836291.37 -942969.67 -2665892.71 -11449229.40 -940873.57 -3416215.49 -6953799.26 -1696055.53 -1693992.11 -9508560.64 -7138292.66 -7135417.64 -498243.82 -343366.37 -355636.63 -6204913.85 -4159424.00 -6466161.13 -5865503.69 -947658.46 -2677898.25 -11523978.12 -945736.62 -3432792.79 -6994141.16 -1704948.08 -1703041.89 -9566381 .59 -7173133.63 -7169733.61 -507116.90 -349892.75 -359867.93 -6239143.93 -4183184.04 -6501073.20 -5896161.71 -952574.78 -2690502.49 -11602143.94 -950817.94 -3450146.98 -7036280.80 -1714226. 16 -1712474.65 -9626819.52 -7209628.74 -7205703.72 -516186.73 -356643.87 -364299.76 -6274855.89 -4207894.55 -6537474.24 -5928199.70 -957712.45 -2703677.47 -11683562.49 -956106.76 -3468239.87 -7080131.10 -1723870.29 -1722270.96 -9689748.21 -7247700.69 -7243250.66 -525441.37 -363605.91 -368922.36 -6311980.05 -4233508.34 -6575298.31 -5961557.49 -963066.98 -2717397.67 -11768084.10 -961593.20 -3487036.71 -7125612.71 -1733862.84 -1732413. 18 -9755052.74 -7287279.04 -7282304.00 -534870.33 -370765.97 -373726.80 -6350452.50 -4259982.05 -6614485.08 -5996179.88 -968653.89 -2731639.75 -11855572.00 -967268 . 19 -3506505.75 -7172653. 15 -1744187.72 -1742885.21 -9822628.04 -7328299.35 -7322799.30 -544464.30 -378111.94 -378704.91 I—1 52 Table 5.: Calculated mica - feldspar equilibria. Bulk 0.5 Parag + 0.! 5 Muse 0.5 Parag +05 Muse 0.5 Parag + 0.5 Muse + 1 H20 0.5 Parag + 0.5 Muse + 1 H*0 comp.: + 1 HiO + 1 H;0 + excess Qz + 2 Qz + 2 Cc + 2 Oz + 2 Cc (+ BP-Buffer) 400 ' C Pa(0.09O7)Mu(0 .9093) Pa(0.0907)Mu(0.9093) Pa(0.0907)Mu(0.9093) Pa(0.0370)Mu(0.9630) 4 Kbar Pa(0.9537)Mu(0 .0463) Pa(0.9537)Mu(0.0463) Pa(0.9537)Mu(0.0463) Ab(0.7911)0r(0.007 1)An(0. . 2018) Ab(0.8877)Or(0.0261)An(0 .0862) Steam Steam Hi 0(0.9928)C0*(0.0072) H,0(0.0279)C0*(0.9721) Quartz Quartz, Calcite, Zoisite Quartz, Calcite, Zoisite 450 ' C Pa(0.1158)Mu(0 .8842) Pa(0.1158)Mu(0.8842) Pa(0.1158)Mu(0.8842) Pa(0.0326)Mu(0.9674) 4 Kbar Pa(0.9387)Mu(0 .0613) Pa(0.9387)Mu(0.0613) Pa(0.9387)Mu(0.0613) Ab(0.5782)0r(0.OO4O)An(O. 4178) Ab(0.7549)0r(0.0271)An(0 .2180) Ab(0.1187)0r(O.OOO3)An(O. 8810) Steam Steam HJ0(0.9369)C0*(0.0631) H;0(0.0600)CO «(0.9400) Quartz Quartz, Calcite Quartz, Calcite, Kyanite 500 ' C Pa(0.1448)Mu(0 .8552) Pa(0.1448)Mu(0.8552) Pa(0.0308)Mu(0.9692) Ab(0.0568)0r(0.9372)An(0. .0060) 4 Kbar Pa(0.9208)Mu(0 .0792) Pa(0.9208)Mu(0.0792) Ab(O.5157)0r(0.O159)An(O.4684) Ab(0.5175)0r(0.0215)An(0. .4610) Ab(0.1535)0r(O.OO23)An(O. 8442) Ab(0.15O8)0r(O.OO30)An(O. 8462) Steam Steam H;0(0.7502)C0z(0.2498) H*0(0. 1 152)C0z(0.8848) Quartz Quartz, Calcite Quartz, Calcite Ln to Table 5. (continued) Bulk 0.5 Parag + 0.! 5 Muse 0.5 Parag + 0.5 Muse 0.5 Parag + 0.5 Muse + 1 H*0 0.5 Parag + 0.5 Muse + 1 HJO comp.: + 1 HJO + 1 HzO + excess Oz + 2 Qz + 2 Cc + 2 Qz + 2 Cc (+ BP-Buffer) 550 ' C Pa(0.1783)Mu(0 .8217) Pa(0.1783)Mu(0.8217) Ab(0.0730)0r(0.9185)An(0 .0085) Ab(0.0730)0r(0.9185)An(0 .0085) 4 Kbar Pa(0.8993)Mu(0 .1007) Pa(0.8993)Mu(0.1007) Ab(0.4412)0r(O.O223)An(O .5365) Ab(O.4412)0r(O.O223)An(O . 5365) Ab(0.2040)0r(0.0065)An(0 .7895) Ab(0.2040)0r(0.0065)An (0 . 7895) Steam Steam H*0(0.6667)C0*(O.3333) H,0(0.2049)COz(0.7951) Quartz Quartz, Calcite Quartz, Calcite 600 * C Pa(0.2169)Mu(0 .7831 ) Pa(0.1404)Mu(0.8596) Ab(0.0892)0r(0.8993)An(0. .0115) Ab(0.0892)0r(0.8993)An(0. ,0115) 4 Kbar Pa(0.8734)Mu(0 .1266) Ab(0.9432)0r(0.0568) Ab(0.3078)0r(0.0168)An(0. .6754) Ab(0.3078)0r(0.0168)An(0. .6754) Steam Steam H*0(0.6667)CO*(0.3333) H* 0(0.346O)C0*(0.6540) Corundum Quartz, Sillimanite Quartz, Calcite Quartz, Calcite 650 ' C Pa(0.0963)Mu(0 .9037) Ab(0.8105)0r(0.1895) Ab(0.1044)0r(0.8804)An(0. 0152) Ab(0.1O44)0r(O.88O4)An(O. .0152) 4 Kbar Ab(O.8666)0r(O . 1334) Ab(0.3952)0r(0.6048) Ab(0.3025)0r(0.0229)An(0. 6746) Ab(0.3025)0r(0.0229)An(0. 6746) Steam Steam H*0(0.6667)C0z(0.3333) Hj0(0.5691)C02(0.4309) Corundum Quartz, Sillimanite Quartz, Calcite Quartz, Calcite 700 ' C Ab(0.5000)0r(0, .5000) Ab(0.5000)0r(0.5000) Ab(0.1183)Or(0.8622)An(0.0195) Ab(0.1183)Or(0.8622)An(0.0195) 4 Kbar Ab(0.2972)0r(0.0304)An(0. 6724) Ab(0.2972)0r(0.0304)An(0. 6724) Steam Steam H; 0(0.6667)C0;(0.3333) H!0(O.9178)C0!(0.0822) Corundum Quartz, Sillimanite Quartz, Calcite Wollastoni te 54 1.3.5 DISCUSSION The method presented for computing phase equilibria can be used to solve a great variety of problems and to test the consequences of thermodynamic models and data in a reasonable amount of computer time. The timings presented in table 6 show that even for very complex problems the computing times are in the order of one to two seconds. For extensive calculations in a specific system it might be more efficient to use a more specialized algorithm, and to use the general algorithm only if difficulties are encountered or to check some of the assemblages. For example, the position of the liquidus in Fig. 6 can be calculated much faster with an algorithm used by Berman and Brown (1984), but their procedure will not recognize the two-liquid field in the Si02-rich corner. Exploring the P-T-plane for several systems with varying bulk compositions it was found that the algorithm always converged, but as with all other methods, we cannot completely exclude the possibility that some of our results are local minima. In future applications I will include further solution models (e.g. electrolytes) and a different choice of independent variables. 55 Table 6: Computing times for the examples on a 48 megabyte Amdahl 5850 computer 1. Blast furnace example (table 1) 0.43 sec 2. Silicate melts (figs. 5 & 6, table 2) two binary liquids ca. 0.10 sec One ternary liquid 0.40 - 0.60 sec two ternary liquids 0.30 - 0.40 sec three ternary liquids ca. 0.50 sec one ternary liquid + one solid phase 0.25 - 0.35 sec one ternary liquid + two solid phases ca. 0.20 sec three solid phases ca. 0.10 sec two quaternary liquids 1.40 sec 3. mica - feldspar example (table 4) column 1 0.20 - 0.30 sec column 2 0.20 - 0.30 sec column 3 0.50 - 1 .20 sec column 4 0.30 - 1.10 sec 2. ORDER-DISORDER IN TERNARY FE-MN-MG OLIVINES 2.1 INTRODUCTION Thermodynamic models of solutions always include a configurational entropy term which is based on our knowledge of ordering. A very important type of ordering is the "site preference" of certain atoms in certain structures. Because the olivines have two octahedral cation sites of different size and symmetry, it can be expected that there will be a noticable ordering. According to the crystal chemical considerations of Ganguli (1977), the larger atoms will prefer the larger M2 site. This may be demonstrated with different techniques (e.g. Shinno, 1981) for Kirschsteinite (CaFeSiO«), Fe-Mn olivines (Annersten et al., 1984) Fe-Ni and Fe-Ni-Mg olivines (Annersten et al., 1982, Nord et al., 1982). The Fe-Mg distribution is almost disordered, (Brown and Prewitt (1973), Wenk and Raymund (1973), Basso et al. (1979)) but the different degrees of ordering given by different authors suggest that a dependency on some intensive variables must exist, (e.g. oxygen fugacity as proposed by Will and Nover (1979). The aim of the investigation presented in this chapter is to determine the cation occupancies in synthetic ternary Fe-Mn-Mg olivines. This knowledge will be used to propose an entropy of mixing model for these olivines. 56 57 2.2 THE SYNTHESIS OF OLIVINES Over the last half century, many olivines and olivine type structures have been synthesized. They are usually crystallized from a melt or glass at 1100 to 1400 °C. The method described below takes into account that the synthesis temperature was intended to be very close to the temperature of the planned exchange experiments. The starting materials were : Fe70i: Fisher Certified Reagent. LOT 725030. Fired at 600 °C for 13 hours. Powder stored 110 °C. A microprobe analysis of synthetic fayalite revealed later that this substance was contaminated with ca. 0.6 % Mn. All compositions were then recalculated with this correction. MnCQ3; Fisher Certified Reagent. LOT 734606. Lot analysis of 48.4 % assay as Mn used. Powder stored in desiccator. MgO; Fisher Certified Reagent. LOT 741694 Powder stored at 110 °C. SiQ2: From Si02«xH20, Mallinckrodt Analytical Reagent. LOT KMNG. The silicic acid was converted to Cristobalite by slowly heating to 800 °C in a platinum crucible, and leaving the sample at this temperature for 24 hours. Powder stored at 110 °C. For each desired olivine composition an oxide/carbonate mixture is prepared, then enough graphite is added so that the bulk composition contains at least one mole graphite for each mole of Fe203 and MnC03. The mixture is then placed into a Ag-tube, (ca. 3 cm long, 1.0 cm diam. and closed at the bottom) inside a Si02 glass tube (1.2 cm inner diam.) 58 Fig. 7: Experimental set-up for the Olivine synthesis o 6 8 10 12 a £ 16 a a 18 • f-i fl 20 o • rH £ 22 w f£ 24-26 28 30 32 34 C 3 2 800 820 840 860 880 900 Temperature [°C] •a c 3 3 cr to vacuum pump and Nitrogen •Pt wire -Ag tube with sample 32 30 28 26 24 22 20 c6 18 o 14 12 10 8 6 0 ------ U 2 -- Fig. 8: Calculated activities in the system C — 0, with graphite present -- A - \ \\ Cv J \ -100 Bar s U J l -1 i 0.003N Bars 1 • \~~\ 1 - 1 — 1 1 0.003 Bars 1 Bar 10 Bars 100 Bars 0.003 Bars 1 Bar 10 Bars 100 Bars 0 100 200 300 400 500 600 700 800 900 Temperature [°C] 60 and connected to the vacuum pump, after being flushed three to four times with nitrogen. Then it is heated to 850 °C for ca. 3 hours. This preliminary heating is necessary to let all MnC03 decarbonate. In the smaller diameter tubes used for the synthesis, there would be too much loss of material. Most of the Fe203 will also have reacted to Fe3Oj, and FeO. Then the sample is cooled and transferred to a smaller Ag-tube (0.6 cm diam., ca. 8 cm long). A small graphite cylinder is inserted on top and the whole tube is placed in a Si02 tube (0.7 cm inner diam.). (See. Fig. 7) It is exposed to 850 °C for 3 to 4 hours while connected to the vacuum pump. At about that time a graphite deposit develops in the Si02-tube at a position corresponding to a temperature of 600-700 °C. We may speculate that this reflects the reaction: 2-CO = C02 + C The tube is then sealed and left at 850 °C for one to three weeks. Fig. 7 shows the run conditions and the temperature distribution in the furnace. Because up to three samples could be accomodated in the furnace, which were not all inserted or removed at the same time, the temperature varied up to ±20 °C for short times during the synthesis. The pressure could not be controlled and varied around one bar, the lower limit being the limit of the vacuum pump (0.003 Bars) and the upper limit the strength of the silica glass (around 100 Bars). The calculated activities for 02, CO and C02 are shown in Fig. 8. The presence of graphite in the 61 experiments guarantees a 02-activity less than 10"2°. The products were examined with a magnet, optically and by X-ray diffraction. A good product is non-magnetic, monomineralic according to optical and X-ray diffraction and has diffraction peak widths at half maximum around 0.3 °20. All products not conforming with the above criteria were rejected and the synthesis repeated either with the same sample or with a new mixture. It turned out that for the synthesis conditions chosen, olivines with a composition of more than 75% forsterite could not be synthesized even after four weeks without being contaminated with MgO, crystobalite and Fe- and Mn-oxides. Pure forsterite was synthesized at 1100 °C in two weeks. 2.3 SOME METHODS FOR SITE OCCUPANCY DETERMINATION CITED IN  THE LITERATURE There is no simple, easily available method that could be used to measure all site occupancies of all elements. However several methods are very accurate for certain types of atoms and a combination of methods may be used to extract the desired information. Various methods used for olivines are briefly reviewed below. The literature cited is mainly restricted to applications in the ternary Fe-Mn-Mg olivine system. 62 2.3.1 MOSSBAUER SPECTROSCOPY Within ten years of the discovery of the Mossbauer effect, the first olivines were being investigated with this method. (Eibschiitz and Ganiel (1967)). The Fe population on the two sites M1 and M2 can be distinguished if the sample is heated to ca. 300 °C. No other element has been successfully measured in olivines by Mossbauer spectroscopy, and therefore the method applies only to Fe bearing solutions. Systematic investigations involving synthetic olivines were made by Annersten (1982), Nord et al. (1982), Shinno (1981) and Annersten et al. (1984). in addition the technique is often used as an additional source of information to characterize natural or synthetic phases. (Bush et al. (1970), Virgo and Hafner (1972), and others). 2.3.2 SINGLE CRYSTAL STRUCTURE REFINEMENTS The crystal structure refinement using X-ray diffraction is still the most important method to obtain structure data. If a particular lattice position is occupied by more than one atom, and these differ only slightly in the scattering factors, (e.g. Fe and Mn) then an accurate site occupancy for each atom cannot be obtained by diffraction alone. Further, a minimum grain size of a single crystal (=sl00jum) is required for the method. The crystal structure of olivine (forsterite) was first determined by Bragg and Brown (1926). Later refinements were reported by Belov et al. (1951), Hanke and Zeman (1963), Birle et al. (1968) and 63 others. (See also list given in appendix F). Site occupancies of olivines from single crystal structure refinements were reported by Wenk and Raymund (1973), Brown and Prewitt (1973), Basso et al. (1979), Francis and Ribbe (1980) and Brown (1980). 2.3.3 THE RIETVELD METHOD A very promising method is the XRD profile refinement as proposed by Rietveld (1967,1969). The method consists of measuring a large number of intensities (approximately 1000) along a profile and fit the lattice parameters, positional parameters, occupancies etc. to these intensities. Initially the method was used for neutron diffraction patterns with gaussian peak shapes. The major problem of applying the method to XRD data is that the peak shapes have to be known in order to fit the data. Although a Voigt or pseudo-Voigt function was found to be very acceptable, (Hill (1984), David (1986)) some problems are unresolved. Sakala and Cooper (1979) could show that the structural parameters obtained by a Rietveld profile refinement were not the same as those obtained from an integrated intensity refinement of the same data and that the standard deviations of the parameters are incorrect. They argue that a systematic error is introduced due to correlations between residuals across a Bragg peak. Additional difficulties were pointed out by Thompson and Wood (1983), who propose that much more information must be considered for an accurate profile 64 refinement, (e.g. finite specimen length, eccentricity errors, broadening due to strain or particle size and spectral distribution of the incident X-rays). All these problems led several authors (Cooper et al. (1981), Will et al. (1983)) to concentrate more on pattern decomposition methods, where the useful information such as integrated intensity, the peak maximum position and the peak width of individual reflections are obtained first and then the structure parameters are refined analogous to a single crystal structure refinement. The newest trend among crystallographers was initiated by Prawley (1981) and later Toroya (1986). Their methods are whole-powder-pattern fittings without reference to a structural model. In this approach, the intensities and the positions of all reflections can vary individually. We may summarize that for X-ray diffraction, the Rietveld method is far from being an established routine investigation and is at present mainly restricted to refinements of solved, simple structures. As further developments in diffraction techniques will produce data with a resolution much superior to that presently available, powder diffraction profile refinements may develop more and more importance for the whole range of structure refinements. Few Rietveld refinements have been published for the relatively complicated olivine structure. (Lager et al. (1981), Hill and Madsen (1984)). Cation distributions in 65 olivine-type structures were investigated by Nord (1984) and Nord et al. (1985), who had very encouraging results, despite numerous difficulties, (e.g. negative temperature correction factors). 2.3.4 THE A-B PLOT A more empirical method for the occupancy determination in olivines is mentioned by Lumpkin and Ribbe (1983) and developed in more details by Lumpkin et al. (1983), Miller (1985) and Miller and Ribbe (1985,1986). They found that a linear regression could accurately be fitted for each unit cell parameter in terms of the effective radii of the cations occupying the M1 and M2 octahedral sites, using the radii of Shannon (1974). The a0_cell edge was found to be strongly dependent on the radius of the cations occupying M1, and the b0-cell edge on those occupying M2. This led to the construction of a0 versus b0 plots for binary olivines that allow prediction of the bulk compositions together with the M1 and M2 site occupancies. The method requires first a certain number of known occupancies, and because it is not a direct measurement, is subject to misinterpretation due to charge distributions or strains in the crystals. The advantage is that it allows an estimation of occupancies from published bulk composition and lattice parameters. So far the method has only been applied to binary systems. 66 2.3.5 VIBRATIONAL SPECTRA Huggins (1973) proposed a simplified interpretation of vibrational spectra which allows an estimation of the site occupancies. However his theory may only be used when a pronounced non-linearity has been demonstrated for a given frequency - composition relationship. This could not be done for the Fe-Mg olivines and therefore the method is restricted to the Fe-Mn and Mn-Mg binaries. 2.3.6 CHEXE SPECTROSCOPY A new analytical transmission electron microscopic technique known as C/mnneling Enhanced X-ray Emission spectroscopy was used by Smyth and Taft^ (1982) to determine the site occupancies of Fe, Ni, Mn and Ca in a natural olivine. The strength of the method is a very high accuracy at very low (0.001 %) concentrations. 2.4 CHOICE OF METHODS For the present investigation with Fe-Mn-Mg olivines, the choice of the methods used for the determination of the site occupancies was naturally influenced by the small grain size of the samples (usually <5 um) and by the equipment available at UBC. Because the investigated system includes Fe-olivines, the Mossbauer spectroscopy was chosen as an ideal tool for determining the Fe-site distribution. At first the intention was to use a Rietveld profile refinement to resolve the Mn-Mg distribution. Unfortunately some 67 preliminary investigations showed that the peak shapes in the profiles were not symmetric and that the widths were not a smooth function of 20. This may be due to strains in the synthetic crystals. At present a standard Rietveld profile refinement cannot take into account all these additional problems, and the development of a more sophisticated profile refinement exceeds the aim of the present investigation. The calculation of integrated intensities, however, showed that several peak intensities are strongly dependent on the Mn-Mg site distribution and that a simple method, using only few intensities could very well be used to determine the site occupancies. The intensity ratios used must be only slightly dependent on the positional parameters and the effective charge distribution. 68 2.5 THE DETERMINATION OF FE-SITE DISTRIBUTIONS BY MOSSBAUER  SPECTROSCOPY 2.5.1 INTRODUCTION The Mossbauer effect is based on the observation that in crystalline substances the nuclear resonance absorption is essentially recoil-free if T << ©D. (©D = Debye temperature). (Mossbauer (I958a,b)). For a detailed introduction into the principle and the methodology see Vertes et al (1979), Herber (1971), Gibb (1976) and Gonser (1975). We will restrict our overview to 57Fe. (1 For a 57Fe nucleus, the energy difference between an exited state and the ground state is = 14.4 keV. If a 7-quantum with the energy E^ is emitted from a free nucleus, the nucleus is accelerated in the opposite direction, because of the conservation of momentum and energy. The velocity of recoil is E^/M-c = 81.5 m/s, resulting in a recoil energy of (E^2)/(2-M-c2) 1.9-10"3 eV, thereby reducing the energy of the emitted 7-ray. Simiiarily the energy of a 7-quantum will be decreased by another =*1.9- 10"3 eV when it is absorbed by a free nucleus. As the natural line width of 57Fe is only ^4.7-10'9 eV, no resonance absorption can occur under the 1 summary of constants: c = 2.997925-108 [m/s] k = 1.3804-10-26 [J-K-1] h = 6.6256-lO"34 [J-s] X = h/2rr = 1 . 0545 • 1 0~3" [J-s] N = 6.02252-1026 [molecules/kg-mol] M = Mass of 57Fe = 57/N [kg] 1eV = Energy of wave with v = 8068 cm-1 where v = 1/X = v/c = h-v = h-7-c = 1 .602551 -10"19 [J] 69 above assumed conditions. As a consequence of thermal motion, the atoms of the absorber and the source approach and move away from each other, and the frequency (energy) of the 7-quanta change as a result of the nuclear Doppler-effect. Let vx be the velocity of the emitting nucleus in the direction of the emission, E0 the exitaton energy of the nucleus and the energy of the 7-ray. Then, because of conservation of energy: E0 + (M-v2)/2 = E^ + (M* (v +v)2 )/2 X j A and E0-E = AE = (M«v2)/2 + M-v-v 7 x where the recoil velocity v = E /(M«c) 7 thus: AE = E2/(2'M-c2) - E^'Vx/c. Depending on vx, AE may become zero and if such a 7-ray then hits an absorbing nucleus which is moving such that AE also equals zero then resonance absorption may occur. However the probability is very low, because for 57Fe, vx would have to be = 163 m/s to compensate for the total energy difference of 3.8*10~3 eV. The velocity due to thermal vibration can be approximated by the velocity vfc with the maximum probability in the isotropic Maxwell velocity distribution: PT 1/2 vx " vt = 2-k«T M For 57Fe at room temperature this is =9.3 m/s. In a crystalline lattice the recoil energy is not 70 absorbed by the emitting nucleus but can be transmitted as lattice.vibration to the whole crystal. In a classical interpretation, the proportion of 7-rays that are recoil free is: (e.g. Vertes et al., 1979, p 19) f = e-<x2>A' where <x> is the mean amplitude of the lattice vibration. This proportion approaches unity, if the amplitude of the lattice vibration is small relative to the wave length 71 of the 7 radiation. The amplitude of the lattice vibration decreases with decreasing temperature and increasing bond interactions. The factor f is called the Debye-Waller factor and its exact calculation is only possible using quantum mechanics, (see e.g. Gonser (1975)). A Mossbauer spectrum is obtained by moving the source relative to the absorber at a speed up to some cm/s and measuring the absorption as a function of relative speed. The energy of the 7 rays will change according to the Doppler relation E_= E - E -w/c. For E =14.4 keV and D 7 7 7 assuming that we can correlate aborption events with speed intervals on the order of 0.05 mm/s we can detect energy differences between different nuclei or between different energy levels of a nucleus on the order of 10"9 eV. To facilitate the interpretation of the results, some frequently used terms are explained below: Line width r The natural linewidth T of a 7-ray with the energy E can 71 be calculated on the basis of the Heisenberg uncertainty principle. (At«AE where At = r = lifetime of the exited state.) Assuming that the linewidth at low temperatures for emission and absorption is the natural linewidth, this relation can be used to measure the lifetime of the exited state. (Mossbauer (1958b)). The measurable linewidth at room temperature is usually considerably greater than r , due to thermal motion and finite sample thickness. In addition, any vibration in the experimental set-up (vacuum pump, air conditioning etc.) will contribute to line broadening. Therefore, to obtain an optimal spectrum the source, the absorber and the detector must be suspended carefully. Isomer shift 6 According to the theory of quantum mechanics the electrons, especially from the s-orbitals, have a non-zero density inside the nucleus, and interact with the nuclear charge. This interaction influences the energy levels of the nucleus, and if source and absorber have different chemical environments, their excitation energies will also be different. This energy difference (= isomer shift) is of the order 10"8 to 10"6 eV and can be compensated using the Doppler effect by moving the source relative to the absorber at a speed of some mm/s. The isomer shift is not generally given in units of energy in the literature, but as a velocity [mm/s] and not as an absolute shift, but relative to a standard, (e.g. iron foil at room temperature). 72 Inseparable from the isomer shift is the temperature shift: When a 7-photon is emitted, the mass of the nucleus is decreased by Am = h-v/c2. At any temperature above 0 K this mass decrease influences the lattice vibration and therefore the phonon energy. This has exactly the same effect as if the recoil energy was not zero. Quadrupole splitting AE^ If the electrons around a molecule are not spherically symmetric, they give rise to an electric field gradient at the site of the nucleus. The interaction with the quadrupole moment of the nucleus partially removes the degeneracy of the (21+1) possible states, resulting in a splitting of the energy levels. These differ from the mean energy by approximately 10"8 eV and can be measured in a Mossbauer spectrum. 2.5.2 EXPERIMENTAL SET-UP Figure 9 shows a schematic diagram of the Mossbauer apparatus used in the present investigation. The furnace is described in more detail in Appendix C. The source is 57Co in a rhodium matrix. 57Co decays to the exited state of 57Fe with T^2 of 270 days. The sample was mixed with graphite (which shows little absorption of the 7-rays) to obtain an optimal concentration of approximately 7 mg iron/cm2 and placed between two graphite or boron nitride discs in the sample holder. It was found by several authors (Eibschutz Fig. 9: Schematic Set—up of the Moessbauer Apparatus Absorber Source Proportiona Counter Velocity transduce \ EX Air Air high voltage Pulse Amplifier Discriminator Multichannel Analyzer Moessbauer driving unit Function generator Oscilloscope 7Co — wFe Decay Scheme WCo = 270 d sir-Fe 1=5/2 > y 137 KeV '91% 14-4 KeV l£l0-'s •0.0 KeV 74 and Ganiel (1967), Bush et al. (1970)) that the M, and M2 sites in olivine cannot be resolved in a Mossbauer spectrum recorded at room temperature, but that by heating the absorber to 300-400 °C the spectra corresponding to the two sites were well separated, although the linewidth T did increase. The observed effect at elevated temperatures is a generally increased difference of the quadrupole splitting between M, and M2. Eibschutz and Ganiel (1967) explain that this is because at low temperatures only the inner electrons contribute significantly to the quadrupole splitting. These inner shells are nearly identical for the M, and M2 sites. The symmetry difference (1 for M, and m for M2) becomes noticable in a Mossbauer spectrum only above ^100 °C. The absorber temperature was kept constant at around 300±1 °C. The spectra were accumulated for two to three days, until two absorption peaks at high velocity could be easily resolved by eye. The spectra were recorded with a multichannel analyzer with 512 channels in multi-scanning mode. The mechanical vibrator for the source was driven in a constant acceleration mode with a triangular velocity wave form. (See Fig. 9). 75 2.5.3 EVALUATION OF THE MOSSBAUER SPECTROSCOPY MEASUREMENTS The data collected in the multichannel analyzer were transfered to a computer-readable disk for further analysis. The conversion from channel number to velocity was calibrated with Fe-foil with known line positions. (-5.3089, -3.0771, -0.8404, 0.8403, 3.0772 and 5.3150 [mm/sec]). The spectra were then fitted with a linear combination of Lorentzian curves. The number of counts corresponding to the velocity v can be expressed as: where N(°°) is the heigth of the baseline, and A^, v? and are the amplitude, position and half width of the ifc^ line respectively. All calculations were performed with a computer program written by R.J. Pollard utilizing subroutines from the CERN library. This is a general purpose fitting program using first a nonlinear simplex approach and then refining the result with a gradient method. All spectra were fitted with three quadrupole doublets. In some cases a successful convergence could only be achieved by constraining the position or the linewidth of the small Fe+3 doublet, resulting in an increased uncertainty for these measurements. The assignment of the two main doublets to the M, and M2 sites was made according to Annersten et al. (1982), Shinno (1981) and Finger and Virgo (1971). The A. I n N(v) = N(») - L i=1 1 + 76 interpretation of Annersten et al. (1984), where the low velocity peaks are crossed over for the Fe-Mn olivines gave a less satisfactory fit for our data. It should be noted however, that this crossover makes no significant change in the area ratios for the M, and M2 sites. The Fe+3 doublet is discussed by Shinno (1981). Heating several samples in air, he showed that the Fe+2 populations of M2 decreased with increasing Fe+3 content, leaving unchanged within the error limits. We may therefore assign as a good approximation all Fe+3 to M2. This assumption is also supported by the measurement of pure fayalite (Table 7), and the consistent KQ values despite the Fe3+ variation (Table 16). Fig. 10 and 11 show two examples of Mossbauer spectra. The first (Fig. 10) converged easily, resulting in an uncertainty for the relative occupancies of -2%. The second (Fig. 11), because of the low Fe content and the strong preference of Fe to occupy the M, site, is more difficult to interpret. The uncertainty in this case is =5%. The results of the Mossbauer measurements are summarized in Tables 7 and 8. Fig. 10: Moessbauer spectrum for fay 6 teph 4 fo 2 + C, at 298 °C 100.20 100.00-^ 99.60--l-> S 99.40-O O 99.20-99.00-4 98.80 --- I -_ y — IIII 4 IIII IIII 3 UN llll 2 un llll 1 IIII ( IIII ) IIII IIII IIII e, llll > HIT] llll 3 nil] mr Velocity [mm/sec] 0.20 o.oo -0.20 -AJ V TV y " \j MA*. — IIII 4 IIII 3 IIII llll 2 '"I llll 1 IIII ( mi ) llll llll im > llll 3 mi B0 = 42247000 AE Q 6 r A, % Fe|*(M,) 2.0282 0.94914 0.39000 1.50140 61.30 Fe (M8) 2.4836 1.00460 0.34887 1.02130 37.30 Fe 0.8607 0.19385 0.30793 0.04319 1.39 78 Fig. 11: Moessbauer spectrum for fay 2 teph 10 + C, at 301 °C 100.05 100.00 99.95 1 1 99.90 99.85 -t-> 99.80 99.75 o o 99.70 99.65 99.60 99.55 -+-H Pf?f -+HH t \ + - + - V ---— 4 — IIII 3 llll llll 2 II 11 mi 1 IIII ( IIII ) IIII IIII mi > IIII nil] llll A n irj Velocity [mm/sec] 0.05 0.00 -0.05 -\ llll mi V 1111 •y^'ll Vul™ ^ llll llll llll llll rm 1 y»< llll im 1111 r mr 1 y*—" rfA/v HIT mi F~ llll B0 = 51755000 AE, (5 T A, % Fe*(M4) 2.1096 0.95486 0.36366 0.67922 74.56 Fe"+(M8) 2.4389 0.99917 0.32011 0.16369 15.82 Fe 0.8475 0.15366 0.36017 0.08846 9.62 79 Table 7.: Isomer shift (6). ' Quadrupole spl i tt i ng ( AE oli v i nes o) and the full width at half heigth All units are in mm/sec. (r> for the synthet i c Fe-Mn-Mg NR . 6Fe! + A E Fe2 + PFe! + 6Fe' + AE Fe> + rFe* + 6Fe3 + AE Fe' + TFe5 + M1 0 M1 M1 M2 0 M2 M2 0 1:120000 0 .9402 2 .0096 0 .3125 1 .0006 2. 4753 0 . 2946 0 .0953 0 .8001 0 .2905 4:080400 0 .9508 1 .9880 0 .3702 1 .0010 2 . 4682 0 . 3333 0, , 1988 0 . 7697 0 . 2503 5:050700 0 .9360 2 .0201 0 . 3441 0 .9935 2 . 4138 0 .2944 0, , 1395 0 . 7501 0 .2702 6:040800 0 .9508 2 .0477 0 .3759 0 .9946 2. 4309 0 .3184 0. ,2000 0, .8605 0 .2503 7:030900 0 .9600 2 .0866 0 .4047 0 .9921 2. 4524 0 .3318 0, , 1087 0. . 7507 0 . 2519 8:021000 0 .9549 2 . 1096 0 .3637 0 .9992 2. 4389 0 . 3201 0. . 1537 0, .8475 0 . 3602 11:100002 0. .9407 2 .0189 0. .3148 0 .9942 2 . 4732 0 . 2855 0. .2067 0, .8041 0 . 201 1 12:080202 0. .9442 1 .9971 0, , 3498 1 .0051 2. 4648 0, .3180 0. 1001 0. ,7502 0 .3717 13:060402 0. .9491 2 .0282 0, ,3900 1 .0046 2. 4836 0, , 3489 0. 1939 0. 8607 0 . 3079 14:040602 0. .9465 2 .0304 0. 3800 0 .9994 2. 4626 0. ,3297 0. 1004 0. 7502 0 .4989 15:020802 0. .9302 2 .0827 0. ,3567 0 .9828 2 . 4283 0, , 2908 0. 1430 0. 7525 0 .3060 17:080004 0. ,9446 2 .0761 0. 3499 0 .9977 2. 4890 0. .3212 0. 1 197 0. 8644 0 .4082 18:060204 0. .9294 2 .0246 0. 3499 1, .0017 2. 4563 0. ,3177 0. 1237 0. 8968 0. .4218 19:040404 0. 9410 2 .0410 0. 3800 0. ,9985 2 . 4637 0. 3235 0. 1990 0. 7846 0. ,4742 20:020604 0. 9543 2 . 1039 0. 4060 1. 0313 2. 5357 0. 3552 0. 1111 0. 8509 0. ,4741 22:060006 0. 9279 2 .0998 0. 3190 0. 9853 2 . 5025 0. 2814 0. 2999 0. 8659 0. 7055 23:040206 0. 9368 2 .0809 0. 3500 0, ,9978 2. 4854 0. 3171 0. 1044 0. 7510 0. ,4974 24:020406 0. 9337 2 . 1347 0. 3599 0. 9916 2 . 5091 0. 3293 0. 1096 0. 7521 0. 3103 26:040006 0. 9206 2 . 1803 0. 3308 0. 9901 2. 5203 0. 2719 0. 2334 0. 8852 0. 7993 27:020208 O. 9422 2 . 1067 O. 3600 0. 9913 2. 4926 0. 3205 0. 1094 0. 7500 0. 3822 The uncertainties in the Mossbauer parameters for the Fe+! are: 6 = ±0.02 mm/s, AE = ±0.03 mm/s and r = ±0.04 mm/s. For The Fe+3 the errors are ±0.04, +0.06 and ±0.08 mm/s respectively. " 80 Table 8.: Mossbauer area ratios and Fe-occupancies for the synthetic Fe-Mn-Mg olivines. Area rat ios in % Reiat ive occupancies in % Absolute occupancies NR. Fe* + Fe! + Fe3 + Fe* + Fe2 + Fe3 + x(Fe!t) x(Fe!+) x(Fe3+) M1 M2 M1 M2 M1 M2 1 :120000 49, . 19 48 .88 1 .92 50. .05 48 .24 1 .71 0 .9950 0 .9590 0 .0340 4 :080400 60 .77 33 .24 5 .99 61 . .85 32 .82 5 . 33 0 .8198 0 .4350 0 .0706 5 :050700 65, .84 28 .33 5 .83 66. .89 27 .92 5 . 20 0, .5541 o. .2312 0 .0431 6 :040800 68 , .41 26 .72 4 .87 69, , 38 26 . 29 4 . 34 0 .4593 0 . 1740 0 .0287 7 :030900 71 . . 17 27 .20 1 .63 71 , ,90 26 .66 1 .44 0 .3573 0 . 1325 0 .0072 8 :021000 74 , .56 15 .82 9 .62 75, .80 15 .60 8 .61 0, .2512 0, .0517 0, .0285 1 1 :100002 51 , .54 46 .08 2 .38 52, ,42 45 .46 2 . 12 0. .8684 0, .7531 0, .0351 12 :080202 54 , .23 36 .66 9 . 1 1 55 . .47 36, .38 8 . 15 0, . 7351 0. .4821 0. . 1080 13 :060402 61 . .30 37 .30 1 . 39 62. , 1 1 36 .66 1 .23 0. .6174 0. . 3644 0, .0122 14 :040602 63 , .53 29 .83 6 .64 64. 64 29. .44 5, .92 0. ,4283 0. . 1951 0. .0392 15 :020802 70. .03 29 . 15 0. .82 70. 72 28 , ,55 0, .73 0. .2344 0, ,0946 0, .0024 17 :080004 51 . .82 44 .78 3, .40 52. 76 44. .22 3 . .02 0. ,6993 0. ,5861 0. .0400 18 :060204 55 . .74 41 . .52 2, .74 56. 64 40. ,93 2 . ,43 0. 5630 0. ,4068 0. ,0242 19 :040404 60. 63 33. .21 6, . 17 61 . 71 32. 79 5. ,50 0. 4089 0. 2173 0. 0364 20 :020604 66 . .99 24 . .83 8, , 18 68. 18 24 . 52 7. ,31 0. 2259 0. 0813 0. 0242 22 :060006 50. 56 41 , .02 8, .42 51 . 75 40. 72 7. 53 0. 5144 • 0. 4048 0. 0748 23 :040206 59 . 29 39 . .01 1 . .70 60. 12 38 . 37 1 . 50 0. 3984 0. 2542 0. 0100 24 :020406 65 . 37 33 . .07 1 . .56 66. 15 32 . 46 1 . 38 0. 2192 0. 1076 0. 0046 26 :040008 52. 89 35 . ,78 1 1 . .32 54. 25 35 . 60 10. 15 0. 3594 0. 2359 0. 0673 27 :020208 57 . 70 40. .25 2. .05 58. 56 39. 63 1 . 82 0. 1941 0. 1313 0. 0060 For the conversion from area ratios to relative occupancies the constants are Ci = 0.97 and Ci = 1.13. oo o The relation between site populations and area ratios can written as: xFe2+ , Fe2 + _ J_ . Fe2+ , Fe2+ _ XM1 / XM2 " C, M1 ' AM2 " *1 Fe3 + / Fe2+ _ \_ Fe3+ / , Fe2 + _ x 7 xtotal_ C2 A 7 Atotal" Yz where A is an absorption peak area and x the Fe site population on or M2. (Bancroft and Brown (1975)). The constants and C2 are related to the ratios of the linewidths, the fractions of recoil free absorption and a saturation correction. The site populations are then calculated as: xFe3 + Fe2+ XM1 Fe2 + XM2 1 + Y2 Y 1 1 + 1 1 + 1 L 1 + Y2 J We will use c, = 0.97. This is consistent with the value obtained by Annersten et al.(l984) (They used a slightly different formulation equivalent to = 0.98) and the measurement of fayalite (Fa - 1) of Shinno (1981). The correction is smaller than the expected uncertainty, but included in order to avoid systematic errors as much as possible. C2 is set according to the chemical analyses of 82 Shinno (1981) to 1.13. Because of the small Fe3+ concentrations and the relatively large uncertainties, the value of C2 is irrelevant. 2.5.4 DISCUSSION OF THE RESULTS Our synthetic olivines'contain between 1% and 10% of the total iron as Fe3+. Compared with natural olivines this fact is not surprising, as many chemical analyses (e.g. those reviewed by Deer, Howie and Zussmann (1972)) show appreciable amounts of Fe3+. In conection with Mossbauer data, however, Fe3+ was not reported until 1981 (Shinno, 1981). This is probably due to the fact that the samples for Mossbauer analysis are often carefully selected, extremely pure phases where Fe3+ was systematically excluded. In synthetic olivines Fe3+ has not been reported before, probably because most syntheses are done at 1000 to 1400 °C with extremely low 02 fugacities. (Shinno (1981), Annersten et al. (1984)). 83 2.6 CALCULATION OF INTEGRATED X-RAY INTENSITIES Most equations and data to calculate integrated intensities can be found in the INTERNATIONAL TABLES FOR X-RAY CRYSTALLOGRAPHY, 1974 (abbreviated I.T.) The following outline is mainly influenced by Yvon et al.(1977) and Borg and Smith (1969). 2.6.1 THE DATA NEEDED FOR THE CALCULATIONS Space group specific data For a site s = (x/a,y/b,z/c) = (x',y',z') the equivalent positions p^ are defined by the symmetry operations for the space group: p. = a. + |'|T.| | -sT i = 1 ,2,3. ..Neq Where Neq is the number of symmetry operations. For Pbnm the equivalent positions are: (I.T. 1/151) p, = ( 0 , 0 , 0 ) + 1 0 0 0 1 0 0 0 1 x' Y' z' -1,0,0 x' p2 = (1/2,1/2,1/2) + 0,1,0 • y' 0,0,-1 z' p3 = ( 0 , 0 ,1/2) + •1 0 0 0 •1 0 0 0 1 X1 • y' z' pfl = (1/2,1/2, 0 ) + 1 0 0 0 •1 0 0 0 •1 x' y' z' Because Pbnm has a symmetry centre at the origin there are 84 at most 8 equivalent positions: Pi, P2f P3f Par "Pi» _p2, -p3 and -p«. For certain sites these may not all be different if taken modulo 1. We therefore define a multiplicity factor for each si te: number of non-identical p. modulo 1 The conditions for non-extinction are also given in I.T. 1/151. For Pbnm they are: hOl : h+1 = 2n and Okl : k = 2n Element specific data The scattering factors f° for the atom (or ion) m is approximated with the analytical function: , ,sin20^ b- (—TZ—>-The coefficients a^, b^ and c for each element are listed in I.T. IV/Table 2.2B. For O2- they were taken from Tokonami (1965). The correction for anomalous dispersion is made by adding a real and an imaginary dispersion correction term: f = f0 + M ' + / • Af" m m m m (I.T. IV/Table 2.3.1.) They are dependent on the wavelength X but assumed to be independent of 0. 85 The Lorentz-Polarisation factor (LP) For a diffTactometer powder pattern the Lorentz-Polarisation factor is (I.T. 11/314): 1 + cos2(20) (LP) = sin© • sin(20) Information about the individual crystal Besides the lattice parameters a, b, c, a, 0 and y we have to know for each site the atom coordinates, the occupancy factors for each element and the temperature correction factors. The numerical assumptions about these parameters is discussed in detail in chapter 2.7. - The temperature correction factor (or Debye-Weller factor) B for a given site can either be assumed constant (= Be<^ = isotropic equivalent of the temperature correction factor) or is: B = b^-h2 + b22«k2 + b33«l2 + b12«h«k + b13»h«l + b23«k.l (= anisotropic temperature correction). In a structure refinement the b^j are usually so-called fit parameters which should not be stressed for a strong physical interpretation. The difference in the calculated intensities using one or the other (if both are given) is too small to be important for our calculations. We will therefor use Be<^. 86 2.6.2 EQUATIONS Summary of symbols a,b,c,a,0,7: Lattice parameters X: Wavelength of primary X-ray 0: Glancing angle of reflection (hkl) Fhkl: structure factor for reflection (hkl) M: Number of different elements in the structure I(m): Number of different sites an element m may occupy J(i): Number of equivalent positions in unit cell for site i f^: Scattering factor for Element m. (a function of sin0/X) Af^: real correction term for anomalous dispersion Afm: imaginary correction term for anomalous dispersion Ms: Multiplicity of site i °mi: 0ccuPancY factor for element m on site i B^: Temperature correction factor for site i xn,i4»ym^Fzm^: Atom coordinates in A for element m on mi] •'mi] mi] J equivalent position of site i p M : Multiplicity of reflection (hkl) LP: Lorentz-Polarization factor for angle © The calculation of © for all reflections (hkl) X2 r sin2© = ^,v-i (h»b'C -sina)2 + (k«a«c«sin/3)2 + (l«a«b«sin7) + 2 • k • 1 «a2 • b«c • (cos/3 • cos7~cosa) + 2«h«l«a-b2 «c • (cos7«cosa-cos/3) + 2«h«l«a«b'C2' (cosa*cos/3-COS7)j 87 Where v is the volume of the unit cell: v = 2• a• b• c / sin—^—'-•sin £—L«sin—=—L«sin—£—L V 2 2 2 z For an upper 20 limit (20max) the maximal values for |h|,|k| and |1| are: hfax - biggest integer < sin(20max)-2-v i =r 3 X'b«c«sina |kf» - biggest integer < "^^si^"" Uf-- biggest integer < li^fC^ We can now combine all possible h, k and 1 and check whether they fulfill the conditions for non-extinction and whether there are identical reflections due to the symmetry of the crystal system. By convention a powder line is labeled with the highest index (ordered with respect to h, k and 1) and the number of identical reflections is called the multiplicity of that p powder line M . In the orthorhombic system e.g.: (0 2 0) = (0 2 0) MP=2 and (13 1)=(T3 1)=(13 1)=(13T) =(13T)=(T3 1)=(131)=(T3T) MP=8 88 The structure factor and the integrated intensity One possible way of calculating the structure factor is given below, m is used as an index for a the elements, i for the sites these elements can occupy and j for their equivalent positions. hkl M = Z m=1 (£o+Af.) + , Km) 1 J. \ • s "Bi Mr»0 .«e 1 mi sin2© J(i) • Z [cos(27r(h.xm. • + k«y . . + 1-z . .)) . , mil mil mil 3 = 1 + '•sin(27r(h.xmij + k.ymij + l.zmij>>] Collecting the real and imaginary terms separately: R I(m) s = z m i=1 j I (m) si = 2 j(i)r s [M?-°mi--B sin2© i r~ .cos(27r(h.xmij + k.ymij + l-zm..))] J(i) j „ sin2© ~Bi~Tz_ f, [Mi,0m sin(2^(h.xmij + k.ymij + l-zmij>>] fR = f° + Af mm m f1 = Af" m m Then: hkl M r = L m=1 L m mm m J and iphkii2 M M , m m , m m m=1 m=1 M M 2 (sl-f*) + 2 (S?«fl) mm .mm m= 1 m=1 The integrated intensity of a powder line is defined as: IhR1 = MP.(LP).|Fhkl|2 This is called the absolute intensity (Hubbard et al. (1975)). All factors that are constant for a given diffTactometer or structure are not included. The example appendix D is for a disordered Olivine of the composition Fe0.3333Mn0.eeeyMgSiO,. 90 2.7 THE DETERMINATION OF MN-MG OR FE-MG SITE OCCUPANCIES BY  XRD ANALYSIS 2.7.1 INTRODUCTION If we know the structure, the lattice parameters, the positional parameters and the scattering factors for each site, we can calculate all integrated intensities as outlined in chapter 2.6. Because the scattering factor for a site occupied by Mn (or Fe) differs strongly from one occupied by Mg, the distribution of Mn (or Fe) and Mg on M1 and M2 has a noticable influence on the resulting intensities. In order to use this dependency for the determination of site occupancies, all other parameters should ideally be known. The method presented here is based on the fact that the structure and the bulk composition is known, the lattice parameters can be measured by X-ray diffraction and that the positional parameters can be approximated with a sufficient accuracy from published single crystal structure refinements. The main task in developing the method is to determine the uncertainty in the interpretation due to the use of approximate positional parameters and an unknown effective charge distribution. It was found that for each olivine at least four intensity ratios could be used for the occupancy determination. These ratios show a reasonable dependency on ordering, but remain practically independent of small errors in the positional parameters and of charge distribution. The most important 91 ratios are (112)/(130) and (112)/(131), which proved useful for almost all synthetic olivines. The estimated uncertainty of the method is ±3% for the occupancy on each site. 2.7.2 THE MEASUREMENT OF LATTICE PARAMETERS One set of data needed to calculate integrated intensities are the lattice parameters a0 b0 and c0. These can easily be measured from an X-ray powder diffraction profile. The internal standard was natural quartz, which in turn was standardized against Si metal. The parameters obtained for quartz are a0 = 4.9135 ±0.0002 c0 = 5.4059 ±0.0003 which is in excellent agreement with the values in the ASTM-file. The programs used for fitting were JOB9214 from the U.S. Geological Survey (Evans et al. (1963)) and the non-linear programming monitor (NLP) of the UBC computing centre. In Table 9 all measured lattice parameters are listed. Figures 12 to 15 are an attempt to visualize the ternary compositional variation of a0, b0, c0 and volume. Each diagram has one independent compositional variable and isolines for the other two. The lines were calculated from a polynomial function fitted to the data. (See appendix F.) Although the lattice parameters for Mn-olivines show a distinct non linear dependence on the composition, the volumes are almost a linear combination of the endmember Table 9.: The lattice parameters for the snthetic Fe-Mn-Mg olivines Nr. X_ XMn X„ a0[A] b0[A] c0[A] vol[A3] 1 0. 9940 0. 0060 0 .0000 4 .8198 10. 4839 6. 0919 307 .8255 4 0. 6627 0. 3373 0 .0000 4 .8420 10. 5574 6. 1 443 314 .0900 5 0. 41 42 0. 5858 0 .0000 4 .8640 10. 5883 6. 1799 318 .2741 6 0. 331 3 0. 6687 0 .0000 4 .8688 10. 5964 6. 1 944 319 .5800 7 0. 2485 0. 751 5 0 .0000 4 .8780 10. 6051 6. 2094 321 .2227 8 0. 1 657 0. 8343 0 .0000 4 .8890 10. 6085 6. 2285 323 .0409 9 0. 0828 0. 9172 0 .0000 4 .8959 10. 6071 6. 2460 324 .3629 9 0. 0828 0. 9172 0 .0000 4 .8982 10. 61 39 6. 2486 324 .8585 10 0. 0000 1 . 0000 0 .0000 4 .9033 10. 6030 6. 2579 325 .3463 1 0 0. 0000 1 . 0000 0 .0000 4 .9030 10. 6076 6. 2619 325 .6756 1 1 0. 8283 0. 0050 0 . 1 667 4 .81 06 10. 4409 6. 0752 305 . 1390 1 2 0. 6627 0. 1 707 0 . 1 667 4 .821 9 10. 471 1 6. 1 001 307 .9977 1 3 0. 4970 0. 3363 0 .1667 4 .8310 10. 5045 6. 1 263 310 .8928 1 4 0. 331 3 0. 5020 0 .1667 4 .8428 10. 5351 6. 1 606 314 .3100 1 4 0. 3313 0. 5020 0 . 1 667 4 .8468 10. 5400 6. 1 633 314 .8539 1 5 0. 1 657 0. 6676 0 . 1 667 4 .8560 10. 5577 6. 1875 317 .2219 1 6 0. 0000 0. 8333 0 .1667 4 .8770 10. 5683 6. 2283 321 .0165 1 7 0. 6627 0. 0040 0 .3333 4 .7998 10. 3815 6. 0539 301 .6605 1 7 0. 6627 0. 0040 0 .3333 4 .7983 10. 3830 6. 0554 301 .6846 Table cont inued on next page. 93 Table 9. (continued) Nr. XFe XMn XMg a0[A] b0[A] c0[A] vol[A3] 18 0. 4970 0. 1697 0. 3333 4 .8108 10. 4218 6. 0829 304 .7894 19 0. 3313 0. 3353 0. 3334 4 .8171 10. 4451 6. 1 047 307 .1585 19 0. 3313 0. 3353 0. 3334 4 .8193 10. 4492 6. 1097 307 .671 2 20 0. 1657 0. 5010 0. 3333 4 .8292 10. 4914 6. 1473 31 1 .4534 21 0. 0000 0. 6667 0. 3333 4 .8417 10. 51 55 6. 1825 314 .7690 22 0. 4970 0. 0030 0. 5000 4 .7914 10. 3425 6. 0387 299 .2481 22 0. 4970 0. 0030 0. 5000 4 .7895 10. 3425 6. 0387 299 .1294 23 0. 3313 0. 1687 0. 5000 4 .7962 10. 3837 6. 071 0 302 .3498 24 0. 1657 0. 3343 0. 5000 4 .8060 10. 4184 6. 0989 305 .3770 25 0. 0000 0. 5000 0. 5000 4 .8133 10. 441 1 6. 1 255 307 .8440 25 0. 0000 0. 5000 0. 5000 4 .81 34 10. 4441 6. 1 276 308 .0444 26 0. 3313 0. 0020 0. 6667 4 .7759 10. 2986 6. 0235 296 .2664 27 0. 1657 0. 1677 0. 6666 4 .7806 10. 331 1 6. 0501 298 .8075 28 0. 0000 0. 3333 0. 6667 4 .7857 10. 3669 6. 0750 301 .3982 31 0. 0000 0. 0000 1 . 0000 4 .7548 10. 2004 5. 9823 290 .1467 Cell parameter a *>> ^ ^ ^. ^ ^ I Ul/ I I I g^l uLia i .Li vL I I I I I—'• 00 I—•* CD o CD 3 CD <r»-CD •1 P o O t-r» CD ^3 CD I I CD 00 ^ ^ ^ g s ^ ^ ^ ^ cn os CO CO O r-^ 76 Fig. 13: The cell parameter b 0 of the Fe-Mn-Mg olivines Fig. 14: The cell parameter c 0 of the Fe-Mn-Mg olivines Fig. 15: The volume of the Fe-Mn-Mg olivines 98 volumes. 2.7.3 UNCERTAINTIES IN CALCULATED INTENSITIES DUE TO ATOM COORDINATES AND TEMPERATURE CORRECTION FACTORS Variation of the positional parameters for Fe-Mn-Mg olivines is relatively small, as may be seen in table 10. (The literature data are tabulated in appendix F). The calculation of integrated intensities using an average value for each coordinate with an uncertainty of 0.02 - 0.05 A, would yield intensities with uncertainties in the range of 15 - 70 %. To avoid as much of this source of error as possible a multiple linear regression was fit to the published structure refinement data. The independent variables are the site occupancies xpe(Ml)f xMn(Ml), xpe(M2) and xpe(M1). The result of this regression is tabulated in table 11. To estimate the influence of each positional parameter on the resulting X-ray diffraction pattern, a primitive sensitivity analysis was performed. The estimated errors for the positional parameters were taken to be the maximal residuals from the multiple linear regression. This corresponds to ^3a. Because most reported structure refinements are for compositions close to the binary joins, especially fayalite - forsterite, interpolation inside the ternary region is less certain than along the binaries. Changing one atom coordinate or one temperature correction factor at a time by the amount of the maximal residual and 99 Table 10.: The range of values for the positional parameters and the temperature correction factors. HCP Ranqe var. max.res. XM1 0.0 0.0 0.0 0.0 yM1 0.0 0.0 0.0 0.0 ZM1 0.0 0.0 0.0 0.0 XM2 0.0 0. 98510 - 0 .99169 0.00659 0.0011 yM2 0.25 0. 27739 - 0 .28030 0.00291 0.0002 ZM2 0.25 0.25 0.0 0.0 XSi 0.375 0. 42260 - 0 .43122 0.00522 0.0013 ySi 0.08333 0. 09100 - 0 .09765 0.00665 0.0002 ZSi 0.25 0.25 0.0 0.0 x01 0.75 0. 75776 - 0 .76870 0.01094 0.0003 y01 0.08333 0. 08670 - 0 .09363 0.00693 0.0012 Z01 0.25 0.25 0.0 0.0 X02 0.25 0. 20760 - 0 .23010 0.02250 0.0008 y02 0.41667 0. 44721 - 0 .45510 0.00789 0.0012 Z02 0.25 0.25 0.0 0.0 X03 0.25 0. 27723 - 0 .28897 0.01174 0.0004 y03 0.16667 0. 15900 - 0 .16563 0.00663 0.0011 Z03 0.0 0. 03304 - 0 .04140 0.00836 0.0020 Table continued on next page. 100 Table 10. (continued) Range var. max.res. BM1 0.26 -- 0.62 0.36 0.16 BM2 0.22 -- 0.56 0.34 0.22 BSi 0.08 -- 0.52 0.44 0.23 B01 0.26 -- 0.70 0.44 0.22 B02 0.24 -- 0.68 0.44 0.25 B03 0.28 -- 0.70 0.42 0.23 HCP: "ideal" hexagonal close-packed olivine model. (Hazen, 1976) Range: smallest and biggest value from the literature, var.: difference between biggest and smallest value, max.res.: maximal residual in the multiple linear regression. 101 Table 11.: The result of the multiple linear regression. The constants are used to calculate the positional parameters from known site occupancies f = a0 'X Fe(M1) + a 1*xMn(MD + a2*XFe(M2) + a3*xMn(M2) a0 ai a2 a3 a„ XM2 = 0. 99065 + 0. 0079070 + 0. 0014940 -o. 0132500 -0. 004212 yM2 = 0. 27740 + 0. 0001013 + 0. 0013330 + 0. 0026840 + 0. 001676 XSi = 0. 42639 +0. 0045390 + 0. 0059540 -0. 0010360 -0. 004791 ySi = 0. 09403 +0. 0019040 + 0. 0063790 + 0. 0015420 -o. 003984 X01 = 0. 76575 + 0. 0007991 + 0. 0001765 + 0. 0017330 -o. 008172 yoi = 0. 091 65 + 0. 0007996 + 0. 0082890 -0. 0005220 -0. 006306 X02 = 0. 221 67 -0. 0115900 -0. 0222700 -0. 0019070 + 0. 011480 y02 = 0. 4471 2 -0. 0008320 + 0. 0050220 + 0. 0075800 + 0. 001551 X03 = 0. 27732 + 0. 0126300 +0. 0096130 -o. 0011740 + 0. 0001291 y03 = 0. 16306 + 0. 0017360 + 0. 0058690 + 0. 0000079 -0. 0050850 Z03 = 0. 0331 4 -0. 0005452 + 0. 0038170 + 0. 0057090 + 0. 0044400 BM1 = 0. 41954 -0. 4030000 + 0. 2199900 + 0. 5038800 -o. 0198600 BM2 = 0. 43665 -0. 3399100 -0. 0238300 + 0. 3529300 + 0. 1180900 BSi = 0. 31248 -0. 3063000 + 0. 0188800 + 0. 3729400 + 0. 0493900 B01 = 0. 47866 + 0. 1597800 + 0. 0390600 -o. 1653900 + 0. 0178700 B02 = 0. 48532 -0. 2139000 + 0. 0699900 + 0. 1610200 -o. 0145500 B03 = 0. 50677 + 0. 0164300 + 0. 0887800 + 0. 0331200 -o. 0176900 1 02 recalculating the XRD intensities provides an estimate of the error introduced in the intensity calculations by uncertainty in the positional parameters. For the three endmembers fayalite, tephroite and forsterite these errors tabulated in appendix F. The total uncertainties are also shown in fig. 16. It may be seen that all peaks with a relative intensity greater than 25 % have a total uncertainty of less than 3.5 %. This is true for all three endmembers and was also confirmed in several sample calculations of solid solutions. As a general rule, the uncertainties increase slightly with increasing Mg content. 2.7.4 UNCERTAINTIES IN CALCULATED INTENSITIES DUE TO CHARGE  DISTRIBUTION. A further factor contributing to uncertainty in the calculations is the effective charge distribution. For fayalite, tephroite and forsterite the charges on each site have been refined by Fujino et al. (1981). Their results show strong deviations from ideal ionic charges, but at present they do not allow a prediction of the charge distribution of the solid solutions. In addition, the presence of Fe3+ in our samples does not allow a direct comparision with their data. The only simple way to extract site occupancies from intensity measurements is to use intensity ratios that are, within acceptable limits, independent of the effective charge distribution. In order to find these ratios we make 103 Fig. 16: Uncertainty of Integrated Intensities due to uncertainties in Atom coordinates and Temperature correction factors 10 9-8 7-S 6 .S 5-cd ^ A O 4 fl fl 3-2-0 o °A o a A o • D tf A • D ' O A o DA 0m o fi1 O A • A • a A • o • © A Tephroite Mn2Si04 Fayalite Fe2Si04 Forsterite Mg8Si04 8 a a • o 1 I 1 I 1 I 1 I 1 I 1 I 1 I 1 I 1 I 1 0 10 20 30 40 50 60 70 80 90 100 relative intensity 104 two calculations for every sample: one assuming neutral atoms in the lattice and one with ideally charged ions. Only those ratios that differ by less than 5 % in the two calculations are used for intensity measurements. The two extreme assumptions do not span the whole range of possible charge distributions, but it was found that even very irregular charges (e.g. only M1 and half of the 03 charged) give intensity ratios between the two extreme values. 2.7.5 THE INTENSITY MEASUREMENTS AND THE OCCUPANCY  INTERPRETATION The X-ray diffraction profiles were measured on two types of diffTactometer. An older (1965) Philips PW1050 goniometer and a Philips PW1710 automatic diffTactometer. In the first case the peaks of interest were scanned at 2 cm/min and 0.125 deg. 2©/cm. The peak shapes and the background were drawn in by hand. The resulting profiles were digitized with a Talos CYBERGRAPH digitizer and the areas calculated with a polygonal approximation. The important peaks (130), (131) and (112) were usually scanned twice and each digitizing was repeated three times. The differences between the different measurements average approximately 0.5 %. If the same peak is scanned with different scales, the differences are increased to 2 %. To each peak an error is assigned which is one quarter of the background noise over the measured length plus 2 % of the measured area to account for possible systematic errors. The 105 total uncertainty thus assigned to the ratios varies from 3 % to 7 %, which we consider acceptable. The measurements made with the PW1710 diffTactometer were evaluated similarly, except that the digitizing is done in constant steps of 0.05° 20, and that the background was approximated with a polynomial function. The measuring programs are listed in appendix G. A final difficulty is that several peaks cannot be measured individually in a XRD profile. Instead of simple reflections it is necessary to consider groups of two or three reflections. In these cases the total uncertainty due to approximate positional parameters and temperature correction factors can be estimated from the tables in appendix F. The measuring strategy may be summarized as follows: • The reflections or groups of reflections that may be used should have a total relative intensity greater than 25 %. This is necessary to assure that the uncertainty resulting from the approximate positional parameters and temperature correction factors is less than =3.5 %. • For these peaks we can calculate all ratios first using uncharged atoms and then using ideally charged ions. Those ratios that remain within a range of =5 % can be used for the determination of site occupancies. Which ratios we can use must be determined separately for each individual sample. 106 As we can measure intensity ratios with an accuracy of =5 %, we may predict that the maximal discrepancy between calculated and measured intensity ratios will be in the magnitude of 10 %. This prediction can be tested with the three endmembers fayalite, tephroite and forsterite. In table 12 the crucial ratios are listed together with the calculated and observed values. All differences are less than 10 %. The ratios 112/130 and 112/131 are usable for all three endmembers. Not all peaks can always be measured. The reasons are that for some compositions they may not be separable from neighbouring peaks of the olivine or they overlap with graphite or silver peaks which are always present in varying amounts in the experimental products. Usually at least four usable and measurable intensity ratios were found in the solid solutions. The solid solutions were evaluated by first measuring the intensities. Then for the whole range of possible orderings (the Fe distribution is taken from the Mossbauer measurements) the intensities were calculated in steps of xMg (M2)=n * uE> for uncharged atoms and for ideally charged ions. Those ratios that remain within 5 % for both calculations were used. Comparing with the measurements and assuming a 10% tolerance, each ratio yields a range of possible occupancies. This range is not a true absolute bracket and therefore the final interpretation is taken as the weighted mean ±1a of the midpoints of the all ranges, the weight being the reciprocal of the width of the range. 1 07 Table 12.: The differences between calculated and observed integrated intensity ratios for fayalite, forsterite. tephroite and 1) calc. obs. dif f [%] fayalite 122/111+120 0.37672 0.38649 2.59 222+240+123/111+120 222+.. not measured 022+041/130 0.45960 0.49389 7.46 112/130 1.08995 1.10898 1 .75 222+240+123/130 222+.. not measured 112/022+040 2.37152 2.24539 5.62 222+240+123/022+040 222+. . not measured 112/131 1.54171 1.66188 7.79 200+041/131 0.43868 0.44257 0.89 tephroite 222+240+123/111+120 1.52454 1.55106 1 .74 200+041/121+022 2.35904 2.33459 1 .05 112/130 1.15534 1.17306 1 .70 222+240+123/130 1.07927 1.05567 2.24 131/022+040 1.65471 1.68087 1 .58 112/022+040 2.57255 2.45424 4.82 112/131 1.55468 1.46011 6.48 108 Table 12. (continued) forsterite 212+002/020 1. 200+041/020 210/111+120 0. 222+240+123/111+120 3. 131/121+002 3. 112/130 1210/130 0. 112/131 1222+240+123/210 8. 08861 1.09177 0.29 200+.. not measured 35267 0.34161 3.24 12378 2.95109 5.85 30228 3.03487 8.81 59151 1.62960 2.39 16209 0.17813 9.89 24503 1.26579 1.67 85752 8.63869 2.53 1): ratios predicted to have a difference between calculated and measured values smaller than 10 %. The calculated values are for uncharged atoms. 109 As may be seen in the following example, this coincides roughly with the range where all useful measured ratios are within 10% of the calculated ones. (Table 13.) All measured intensities are compared with the calculated ones in fig. 17. 2.7.6 EXAMPLE OF A SITE OCCUPANCY DETERMINATION The measured intensities for MnMgSiOa are listed together with the other results in table 14. The reflections with intensities greater than 25% and not overlapping with peaks from other phases are (130), (131), (112), (121), (122) and (222). In table 13 the result of the calculations is summarized. The five usable ratios are also plotted in figure 18 and 19. The boxes on the curves represent the ranges where the observed values are within 10% of the calculated ones. The (110) reflection could not be observed and is assumed to have a relative intensity less than =1%. It is interesting to note that this is also consistent with the interpretation of xMn(M1) = 0.336 because much smaller or larger values would result in a more intense (110) reflection. 110 Fig. 17: Comparison of calculated and measured integrated intensities for tephroite, fayalite and forsterite 100 90-80 •TH 70 w fl i5 60 fl XI CD > U CD W O 50-40-30 20-10-0 -ffl • : Tephroite Mn2Si04 O : Fayalite Fe2SiO« A : Forsterite Mg2Si04 A /A A 43 / 6*' A / / / / I 1 I 1 I 1 I 1 I 1 I 1 I 1 I 1 I 1 0 10 20 30 40 50 60 70 80 90 100 calculated intensity 111 Table 13.: Example: The site occupancy for MnMgSiO« reflex uncharged charged dif f comments xMn(M1) xMn(M1) 130/121 0.354±0. 036 0.31710. 035 0 .037 O.K. 131/121 0.387±0. 074 0.35410. 068 0 .033 O.K. 112/121 0.356±0. 034 0.33710. 030 0 .019 O.K. 122/121 0.42110. 042 0.29110. 042 0 .130 too big diff. 222/121 0.36110. 048 0.29810. 042 0 .063 too big diff. 131/130 0.326+0. 069 0.28510. 065 0 .041 O.K. 112/130 0.42010. 420 0.57210. 373 0 .152 too flat 122/130 0. 13110. 131 0.438+0. 184 0 .307 too big diff. 222/130 0.36010. 204 0.42810. 206 0 .068 too flat 112/131 0.32710. 059 0.32110. 054 0 .006 O.K. 122/131 0.46110. 1 03 0.19210. 1 06 0 .269 too big diff. 222/131 0.30410. 1 04 0.21210. 099 0 .092 too big diff. 122/112 0.17310. 1 24 0.47810. 122 0 .305 too big diff. 222/112 0.36710. 1 39 0.47410. 132 0 . 1 07 too big diff. 121 : 121+002 122 : 122+140 222 : 222+240+123 10 % bracket, weighted mean 0.32910.022 0.33610.024 Fig. 18: Intensity ratios versus site occupancy for Mn6Mg6Si6024 (ratios < 1) cz o TD OJ cn ro sz u 110/112 121+002/130 121+002/112 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 CD O -M ro ro ZD QJ 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 v \ \ \ v \ \ \ \ \ V s. \ 110/112 121+002/130 121+002/112 0.0 0.1 0,2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 XJM1) Fig. 19: Intensity ratios versus site occupancy for r1n6Mg6Si6024 (ratios > 1) 10.0-a in a o OJ cn ro sz u 0.0 -7-. .._ . f :z: / -7' f 7 s 131/121+002 112/131 130/131 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1 14 Table 14.: normalized integrated intensities The uncertainties are ±(2 + 0.02*1) 01 10 1 1 1 2 13 1 4 15 16 020 8.8 9.4 4.0 9.2 1 .4 2.1 2.3 5.7 110 8.4 5.9 1.3 1 .2 1 .4 0.8 021 11.9 22.3 101 6.0 111+120 62.6 58.0 37.2 57.6 36.7 39.0 39.3 51 .6 121+002 10.2 16.5 6.9 12.5 12.7 13.0 11.1 10.2 130 90.2 85.2 77.7 85.4 73.4 72.5 68.9 77.3 022+040 44.5 40.7 30.3 37.4 33.0 31 .3 28.8 24.2 131 60.2 68.5 60.4 62.6 67.9 67.8 67.6 55.3 1 12 100.0 100.0 100.0 100.0 100.0 1 00.0 100.0 100.0 200+041 26.6 25.2 26.3 26.2 24.2 24.2 22.6 17.9 210 5.2 6.4 24.2 5.0 23.5 17.7 122+140 24.2 27.3 31.6 26. 1 32.3 33.7 35.0 211+220 5.0 11.4 222+240+123 87.5 90.0 1 36.2 90.4 121.0 1 22.0 127.8 84.9 152 17.3 11.4 —'— 20.8 23.0 01:12.00.00 1 0:00.12.00 11: 10.00.02 12_:08.02.02 13:06.04.02 14:04.06.02 15:02.08.02 16:00.10.02 1 15 Table 14.: (continued) 17 18 19 20 21 22 23 24 020 5 .9 9 .2 4 .3 1 .2 4 . 1 4 . 1 3 .9 3 . 1 1 10 021 2 .3 2 .0 <1 <0 .5 <1 <0 .5 <0 .5 <0 .5 101 111+120 34 .9 50 .2 43 .5 39 .3 68 .4 25 .9 38 .8 38 .9 121+002 1 1 .0 1 1 .8 1 1 .0 14 .3 21 .3 9 .2 15 .3 15 . 1 130 84 .3 86 .7 78 .0 70 .4 85 .4 64 .4 73 .8 71 .3 022+040 25 .3 24 . 1 23 .8 21 .5 23 .5 1 4 .2 1 7 . 1 16 .4 131 68 .6 72 .4 72 .9 76 .2 83 .5 59 .4 71 .8 77 .5 1 12 1 00 .0 100 .0 100 .0 1 00 .0 1 00 .0 1 00 .0 100 .0 1 00 .0 200+041 21 .5 24 .5 24 .3 22 .6 25 .7 — — — — 20 .0 210 7 .7 6 . 1 30 .0 6 .2 — — — 10 . 1 122+140 211+220 222+240+123 39 .6 34 .9 39 . 9 40 .4 38 .2 — 49 .5 47 .3 1 1 5 .7 100 .2 121 .2 1 26 . 1 109 .7 1 1 5 . 9 129 .2 1 32 . 1 1 52 16 .2 1 6 . 1 — — 17:08.00.04 18:06.02.04 19:04.04.04 20:02.06.04 21:00.08.04 22:06.00.06 23:04.02.06 24:02.04.06 116 Table 14.: (continued) 25 26 27 28 31 020 2.7 7.8 4. 1 10.2 23.8 110 <0.5 <0.5 <0.5 <1 <0.5 021 68.7 101 26.4 111+120 44.0 27.7 33.4 56.9 32.0 121+002 23.6 12.9 18.4 27.0 26.0 1 30 79.6 68.4 66.6 80. 1 61 .4 022+040 14.5 10.1 4.3 12.1 131 95.2 68.2 78.9 90.5 79.0 1 12 100.0 100.0 100.0 100.0 100.0 200+041 26.0 16.4 44.5 18.8 11.4 210 24.8 9.6 11.5 9.2 10.9 122+140 49.8 55.3 58.5 50. 1 78.0 211+220 19.8 222+240+123 102.6 111.1 1 17.5 105.1 77.4 1 52 10.2 25:00.06.06 26:04.00.08 27:02.02.08 28:00.04.08 31:00.00.12 1 17 Table 15.: Site occupancies for the synthetic Fe-Mn-Mg olivines NR . 1:120000 calc.: 4:080400 calc. : 5:050700 calc. : G:040800 ca1c. : 7:030900 calc.: 8:021000 calc.: 11:100002 11:100002 calc.: 12:080202 calc.: 13:060402 calc.: 14:040602 14:040602 calc.: Fe 0.9940 Mn 0.0060 Mg 0.0000 Fe(M1) Fe(M2) Mn(M1) Mn(M2) Mg(M1) Mg(M2) 0.6627 0.3373 0.0000 0.4142 0.5858 0.3310 0.6687 0.2485 0.7515 0.1657 0.8343 0.8283 0.8283 0.0050 0.0050 0.0000 0.0000 0.0000 0.0000 0.1667 0.1667 0.6626 0.1707 0.1667 0.4970 0.3363 0.1667 0.3313 0.3313 0.5020 0.5020 0.1667 0.1667 0.9950 0.9974 0.8198 0.8010 0.5541 0.5655 0.4593 0.4679 0.3573 0.3623 0.2512 0.2484 0.8684 0.8490 0.8435 0.7351 0.7407 0.6174 0.6079 0.4283 0.4283 0.4399 0.9930 0.9906 0.5056 0.5244 0.2743 0.2629 0.2027 0.1943 0.1397 0.1347 0.0802 0.0830 0.7882 0.8076 0.8131 0.5901 0.5845 0.3766 0.3861 0.2343 0.2343 0.2227 0.003 0.0026 0.1811 0.1990 0.4459 0.4345 0.5407 0.5320 0.6427 0.6377 0. 7488 0.7516 * 0.002 * 0.002 0.0022 0.0871 0.0870 0.21 10 0.2008 0.3400 0.3510 0.3496 0.009 0.0094 0.4944 0.4756 0.7257 0.7371 0.7973 0.8058 0.8603 0.8653 0.9198 0.9170 0.008 0.008 0.0078 0.2543 0.2544 0.4616 0.4718 0.6640 0.6530 0.6544 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 O.0000 o.0000 0.0000 O.0000 0.0000 0.0000 0.1276 0.1470 O.1544 0. 1778 O.1722 0.1716 0.1913 0.2317 0.2207 0.2105 O.0000 0.0000 0.0000 0.0000 O.OOOO 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.2058 O.1864 0.1790 0.1556 0.1612 0.1618 O.1421 0.1017 0.1127 0.1229 1n(KD)' 1.4876 1.1902 1.2063 1.3207 1 .3474 ln(K )2 ln(K )3 method D D 1 .2912 1.2772 1 .2726 1.2240 0.5749 M 0.2875 PW 0.0863 -1.2048 M,D 0.4355 -0.8416 M.PW -0.2202 -1.4928 M,PW -0.0689 -1.2929 M,D 118 Table 15. (continued) NR. 15:020802 ca1c.: 16:001002 16:001002 ca1c. : 17:080004 17:080004 calc. : 18:060204 cal c. 19:040404 calc.: 20:020604 calc.: 21:000804 calc.: 22:060006 22:060006 calc.: 23:040206 calc.: Fe 0. 1657 0.0000 O.0000 0.6627 0.6627 Mn 0.6676 0.8333 0.8333 0.0040 0.0040 0.4970 0.4970 0.0030 0.0030 Mg 0. 1667 0. 1667 0.1667 0.3333 0.3333 Fe(M1) Fe(M2) Mn(M1) Mn(M2) Mg(M1) Mg(M2) ln(KD): 0.4970 0.1697 0.3333 0.3313 0.3353 0.3334 0.1657 0.5010 0.3333 O.0000 0.6667 0.3333 0.5000 O.5000 0.3313 0.1687 0.5000 O.2344 O.2361 O.0000 O.0000 O.0000 0.6993 0.6970 0.6847 0.5691 O.5630 0.4089 0.4100 0.2259 O.2222 O.0000 O.0000 0.5144 0.5015 0.5209 0.3984 0.3803 0.0970 0.0953 O.0000 0.0000 0.0000 0.6261 0.6284 0.6407 0.4294 0.4310 0.2537 0.2526 0.1055 0.1092 0.0000 O.OOOO 0.4796 0.4925 0.4731 0.2642 0.2823 0.5480 O.5354 0.7600 0.7770 0.7559 * 0.002 * 0.002 0.0018 0.0922 0.0877 O.2030 0.2025 0.3650 0.3524 0.5300 0.5393 * 0.001 * 0.001 0.0013 0.0900 0.0882 0.7872 O.7997 0.9066 0.8896 0.9107 * 0.006 * 0.006 0.0062 0.2472 0.2517 0.4676 0.4681 0.6370 0.6496 0.8034 0.7941 * 0.005 * 0.005 0.0047 0.2474 0.2492 0.2176 O.2284 0.2400 0. 2230 0.2441 0.2977 0.3000 0.3135 0.3403 0.3493 0.3881 0.3874 0.4091 0.4254 0.4700 0.4673 0.4831 0.4960 0.4778 0.5116 0.5315 O.1158 O.1050 0.0934 0.1104 0.0893 O.3689 0.3666 O.3531 0.3263 0.3173 0.2787 0.2794 0.2575 0.2412 0.1966 O.2059 0.5169 0.5040 0.5222 0.4884 0.4685 1.2445 1.2679 1.3117 1.3183 ln(K )* ln(K )] D D 0.2515 -0.9930 0.3250 0.3041 0.2396 -1.1201 -0.8384 1.0282 0.1462 -1.1655 0.2984 •1.0198 •1 .2875 1 .4319 0.1377 0.0341 0.3643 -1.0576 method M,PW PW D M PW M, D M,D M.PW M PW M,PW CO Table 15. (continued) NR. xxx Fe(M1) Fe(M2) Mn(M1) Mn(M2) Mg(M1) Mg(M2) ln(K )' ln(K )! ln(K )' method Fe Mn Mg D D D 24 020406 0 1657 0 3343 0 5000 0 2192 0 1 122 0 2140 0 4546 0 5668 0 4332 1 .4231 0 4009 -1 .0222 M,PW calc.: 0 2074 0 1240 0 2042 0 4644 0 5883 0 41 16 25 000606 O 0000 0 5000 0 5000 O 0000 0 OOOO 0 3360 0 6640 O 6640 0 3360 -1 3623 PW calc.: 0 0000 0 0000 0 3552 0 6448 0 6448 0 3552 26 040008 0 3313 0 0020 0 6667 0 3594 0 3032 0 * 001 0 * 003 0 6391 O 6943 0 2529 M 26 040008 0 3313 0 0020 0 6667 0 3625 0 3001 0 * 001 0 * 003 0 6360 0 6974 0 281 1 PW calc.: 0 3521 0 3105 0 0009 0 0031 0 6469 0 6865 27 020208 0 1657 0 1677 0 6667 0 1941 0 1373 0 0960 0 2394 0 7099 0 6233 1.2600 0 2161 -1 0439 M, PW ca1c. : 0 1927 0 1390 0 0882 0 2455 0 7190 O 6155 28 000408 0 0000 0 3333 0 6667 0 0000 0 0000 0 2000 0 4666 0 8000 0 5334 - 1 2525 D calc.: 0 0000 0 0000 0 2059 0 4607 0 7941 0 5393 *: For these samples the occupancies for Mn are estimated 1: (k )i = (Fe(M1 ) Mn(M2))/(Fe(M2)-Mn(M1)) D 2: (kph = (Fe(M1 ) Mg(M2))/(Fe(M2) Mg(M1)) 3: (kD>3 = (Mn(M1)•Mg(M2))/(Mn(M2)•Mg(M1)) method: M: Mossbauer spectroscopy, D: XRD intensities using old diffractometer, PW: XRD Intensities using Philips PW1710. The calculated values are according to 'model 2' described in chapter 2.8. 120 2.7.7 THE SITE OCCUPANCIES OF THE SYNTHETIC FE-MN-MG  OLIVINES In Table 14 all measured integrated intensities are listed. Knowing the site distribution of Fe from the Mossbauer spectroscopy, the Mn-Mg distribution was determined as described above. In addition, the binary fayalite-forsterite series was also analyzed with this method, in order to compare the results with the Mossbauer data. The measured Fe3+ was assigned to M2 as discussed in chapter 2.5.3. The final result with the M1 and M2 occupancies of all synthetic olivines is presented in table 15. For the ternary compositions the uncertainties in the Fe and Mn site distribution are highly correlated. Because the Fe and Mn have similar scattering factors, the XRD method provides information on Fe+Mn versus Mg occupancies. An overestimation of the Fe occupancy in the Mossbauer spectroscopy will result in an underestimation of the Mn occupancy on the same site in the XRD method. 121 2.8 THERMODYNAMIC MODEL FOR THE TERNARY FE-MN-MG OLIVINE SOLID SOLUTIONS AT 850 °C 2.8.1 INTRODUCTION The general framework for the mixing model of the olivines is chosen to be the "speciation model" of Brown and Greenwood (in preparation). (See also chapter 1.2.2.) This model is a generalization of all site mixing models and therefore very appropriate for our problem. Because three cations (Fe, Mn and Mg) can be distributed on two sites (M1 and M2) the complete structural variation using two-site species can be described with nine species. Among these there are 6 independent reactions: (FeFe) + (MnMn) = 2-(FeMn) (1) (FeFe) + (MnMn) = 2-(MnFe) (2(FeFe) + (MgMg) = 2-(FeMg) (3) (FeFe) + (MgMg) = 2-(MgFe) (4(MnMn) + (MgMg) = 2'(MnMg) (5) (MnMn) + (MgMg) = 2«(MgMn) (6For an ideal speciation model, the activity of each species is equal to its concentration and the reaction constants become: 2 2 xFeMn _ xMnFe K1 _ K 2 -xFeFe'xMnMn xFeFe'xMnMn 122 K3 = XFeMg R = xMgFe xFeFe'xMgMg xFeFe*xMgMg 2 2 xMnMg „ xMgMn K5 - K.6 = xMnMn'xMgMg xMnMn'xMgMg 2.8.2 MODEL ASSUMING INDEPENDENT SITE MIXING If the ordering in the olivines is assumed to be a pure site preference then the probability of finding for example Fe on a specific M1-site is equal to xFe(Ml), independent of what the nearest neighbours are. We may therefore write: x(FeMn) = xFe(Ml)'xMn(M2) This assumption is quite frequently used to approximate the activities of endmembers in solutions with ideal site mixing, (e.g. Wood and Fraser (1972)). The implication for a speciation model is that only two independent reaction constants remain: K, = Ki1 = KD(Fe-Mn) = K K 3 = K;1 = KD(Fe-Mg) 5 = Ki1 = (Mn-Mg) = xFe(MD *xMn(M2) *Fe(M2) •xMn(M1) *Fe<Ml) 'xMg(M2) xpe(M2) *xMg(M1) xMn(Ml) 'xMg(M2) XMn(M2) •xMg{Ml) 123 Fig. 20: The observed ln(KD) values for the synthetic Fe-Mn-Mg olivines 2.0 X(Mn) 0.0 0.2 0.4 0.6 0.8 1.0 ,1,1,1,1,1,1,1,1,1, 1.5 — 1.0 — 0.5 — a o.o -0.5 — 1.0 -1.5 -2.0 K = Ee(Mjj^n(M_.) D Mn(M ,)Fe(M.) Mg(M ,)Fe(M,) Mn(M,)Mg(M_.) Mg(M ,)Mn(M,) 1 I 1 I 1 I 1 I 1 I 1 I 1 I 1 I 1 I 1 0.0 0.2 0.4 0.6 0.8 1.0 X(Mg) 124 where k5 = k3/k, because K^(Mn-Mg) = KD(Fe-Mg) KD(Fe-Mn) We can therefore predict the thermodynamic properties of the ternary solution, knowing only two binaries. As an example we may assume we had only the ten site occupancy measurements on the fayalite-forsterite and on the fayalite-tephroite join. A fit to the data yields ln(KD(Fe-Mg)) = 0.237 and ln(RD(Fe-Mn)) = 1.326. We can now calculate ln(K^(Mn-Mg)) = -1.089. Considering how few data were used, this is an excellent prediction. A fit to all data, assuming k5 = K3/k, yields: ln(k,) = ln(kD(Fe-Mn) = 1.332 ln(k3) = ln(kD(Fe-Mg) = 0.206 model 1 ln(k5) = ln(kD(Mn-Mg) =-1.126 2.8.3 A SLIGHTLY MORE GENERAL MODEL The most general ideal model would assume as the only constraint that all k's are constant. A first attempt to fit the data under these conditions failed to converge (ln(k3) growing infinite) and was later not repeated because the uncertainties of the data do not really justify too complicated a mixing model. The only extension we will allow is that the kD's are not equal to the k values, but that the relations k,=k21, 125 k3 = k«1 and k5 = ki1 still hold. This assumption is equivalent to the statement that any internal reaction where the site occupancies remain the same has a ArG of zero. (kr = 1). For the binaries, kD will still be equal to k but the kQ values vary with increasing concentration of the third cation. The improvement over the independent site mixing model is that the data of the three binaries are much better taken into account. The k values obtained are: ln(k, ) = -ln(k2) = 1.295 ln(k3) = -ln(k4) = 0.185 model 2 ln(k5) = -ln(k6) =-1.193 This model is represented by the horizontal lines in Fig.20. 2.8.4 FITTING THE MODELS TO THE DATA With the uncertainties given in table 15, there is no problem to fit a model which is consistent with all data. For the "best fit" the following function was minimized: n Z SORT i=1 (x obs Mg (M1 ) The distribution of species was calculated with the program THERIAK described in part one of the present thesis. The minimization of the above function was made with the same 1 26 gradient method as used for the G-minimization of solution phases in THERIAK, except that the derivatives were calculated by finite differences. The calculated occupancies are compared with the measured ones in Table 15. 2.9 CONCLUSIONS Using integrated powder diffraction intensities, we can measure the site distribution of two elements, provided their scattering factors are sufficiently different. The method presented yields uncertainties for the occupancies in the order of 0.03. Combined with Mossbauer data it was possible to determine the site distributions of Fe, Mn and Mg in olivines. Theoretically the method is not restricted to olivines, and it might provide useful information if it were applied to other systems, e.g. the orthopyroxenes. Because the precision of the method is limited, it may be important for experimental petrologists to concentrate on the growth of larger crystals, so that single crystal structure refinements are possible. Larger and homogeneous crystals would also be very desirable as microprobe standards. To obtain smaller uncertainties dealing with fine grained samples, it may be necessary to investigate using newer methods, like CHEXE (Smyth and Taftj^ ( 1982)) or the effects of anomalous dispersion (Waseda (1984)). A further unresolved problem is that the knowledge of site occupancies describes only long-range ordering, and it 1 27 should therefore be an aim for future investigations to recognize also short-range ordering. In order to incorporate the knowledge of occupancies into a thermodynamic model, we need a versatile site mixing model and a robust method for calculating chemical equilibria. The model used to describe the olivine solid solutions in my thesis is the "speciation" model according to Brown and Greenwood (in preparation). This model considers each configuration of a small structural unit as a species, similar to the ones used in gas mixing models. (Compare also chapters 2.8.1. and 1.2.2.). The method for computing chemical equilibria presented in the first part of my thesis ("THERIAK"), uses a non-linear programming technique (step 1 of the algorithm), which is specially designed to be used with non-ideal "speciation" models. The combination "THERIAK"/"speciation" provides therefore a powerful tool for modelling even very complex mineral equilibria. BIBLIOGRAPHY Annersten H., Adetunji J. and Filippidis A.(1984): Cation ordering in Fe-Mn silicate olivines. Amer. Mineral. 69: 1110- 1115 Annersten H., Ericsson T. and Filippidis A.(1982): Cation ordering in Ni-Fe olivines. Amer. Mineral. 67: 1212-1217 Bancroft G.M. and Brown J.R.(1975): A Mossbauer Study of Coexisting Hornblendes and Biotites: Quantitative Fe3+/Fe2+ Ratios. Amer. Mineral. 60: 265-272 Barron L.M.(1985): Comment on "A thermodynamic model for multicomponent melts, with application to the system CaO - Al203 - Si02" by Berman and Brown. Geochim. Cosmochim. Acta 49:611-612 Basso R., Dal Negro A., Delia Giusta A. and Rossi G.(1979): Fe/Mg distribution in the olivine of ultramafic nodules from Assab (Ethiopia). N. Jb. Mineral. Mh. 197 9/5: 197-20 2 Becker R.(1978): Theorie der Warme. Springer-VerI ag, 2. Aufl. Bearbei t et von W. Ludwi g. Belov N.V., Belov E.N., Andrianova N.N, and Smirnova R.F.(1951): Determination of the parameters in the olivine Cforsterite) structure with the harmonic 3-D synthesis. C.R. Acad. Sci. USSR 81: 399-402 Berman R.G.(1983): A thermodynamic Model for Multicomponent Melts with Application to the System CaO - MgO - Al203 -Si02. Ph. D. Thesis Univ. of British Columbia Berman R.G. and Brown T.H.(1984): A thermodynamic model for multicomponent melts, with application to the system CaO-Al203-Si02. Geochim. Cosmochim. Acta 48: 661-678 128 129 Berman R.G. and Brown T.H.(1985a): Heat capacity of minerals in the system Na20 - K20 - CaO - MgO - FeO - Fe203 -A1203 - Si02 - Ti02 - H20 - C02: representation, estimation, and high temperature extrapolation. Contrib. Mineral. Petrol. 89: 168-183 Berman R.G. and Brown T.H.(1985b): A thermodynamic model for multicomponent melts, with application to the system CaO-Al203-Si02: Reply to a Critical Comment by Barron. Geochim. Cosmochim. Acta 49:613-614 Berman R.G., Brown T.H. and Greenwood H.J.(1985): An internally consistent Data Base for Minerals in the System Na20 - K20 - CaO - MgO - FeO - Fe203 - Al203 -Si02 - Ti02 - H20 - C02. Techn. Rec. TR-377, Atomic Energy of Canada Ltd. Res. Comp., Sci. Doc. Distr. Office, Chalk River, Ontario KOJ 1J0 Birle J.D., Gibbs G.V., Moore P.B. and Smith J.V.(1968): Crystal structure of natural olivines. Amer. Mineral. 53: 807-824 Borq I.Y. and Smith P.K.(1969): Calculated X-ray Powder Patterns for Silicate Minerals. Mem. geol. Soc. Amer. 122 Bradley R.S., Engel P. and Munro D.C.(1966): Subsolidus solubility between R2SiOi, and LiRPOa: a hydrothermal investigation. Mineral. Mag. 35: 742-755 Bragg W.L. and Brown G.B.(1926): Die Struktur des Olivins. Z. Kristallogr. 63: 538-556 Brinkley S.R.Jr.(1947): Calculation of the Equilibrium Composition of Systems of Many Constituents. /. Chem. Phys. 15:107-110 Brown G.E. and Prewitt C.T.(1973): High-Temperature Crystal Chemistry of Hortonolite. Amer. Mineral. 58: 577-587 Brown G.E.Jr.(1980): Olivines and Silicate Spinels. In: Reviews in Mineralogy vol. 5, Or t hos i I i cat e s (ed. P.H. Ribbe) Mineral. Soc. Amer.: 27 5-381 130 Brown T.H. and Skinner B.J.(1974): Theoretical prediction of equilibrium phase assemblages in multicomponent systems. Amer. J. Sci. 274: 961-986 Bush W.R., Hafner S.S. and Virgo D.(1970): Some Ordering of Iron and Magnesium at the Octahedrally Coordinated Sites in Magnesium-rich Olivine. Mature (London) 227:1339-1341 Caram H.S. and Scriven L.E.(1976): Non-unique Reaction Equilibria in non-ideal Systems. Chem. Eng. Sci. 31:163-168 Chatterjee N.D.(1972): The Upper Stability of the Assemblage Paragonite + Quartz and its Natural Occurrences. Contrib. Mineral. Petrol. 34: 288-303 Chatterjee N.D. and Froese E.(1975): A Thermodynamic Study of the Pseudobinary Join Muscovite - Paragonite in the System KAlSi3Oa - NaAlSi308 - Al203 - Si02 - H20. Amer. Mineral. 60: 985-993 Chatterjee N.D. and Johannes W.(1974): Thermal stability and standard thermodynamic properties of synthetic 2M,-muscovite KA12[AlSi30^ 0(OH)2]. Contrib. Mineral. Petrol. 48: 89-114 Connolly J.A.D. and Kerrick D.M.(1984): VERTEX: a Computational Algorithm for the Calculation of Stable Phase Equilibrium Topologies and Assemblages (abstr.). EOS 65/16: 287, VI1-12 Connolly J.A.D. and Kerrick D.M.(1987): An Algorithm and Computer Program for Calculating Composition Phase Diagrams. CALPHAD 11/1:1-55 Cooper M.J., Rouse K.D. and Sakata M.(1981); An alternative to the Rietveld profile refinement method. Zeitschr. Krist. 157:101-117 Cromer D.T. and Mann J.B.(1968): X-ray scattering factors computed from numerical Hartree-Fock wave functions. Acta crystallogr. A24: 321-323? 131 Cruise D.R.(1964); Notes on the Rapid Computation of Chemical Equilibria. /. Phys. Chem. 68: 3797-3802 Dantziq G.B.(1963): Linear Programming and Extensions. Princeton University Press David W.I.F.(1986): Powder diffraction peak shapes. Parametrization of the pseudo-Voigt as a Voigt function. Appl. Cryst. 19:63-64 De Capitani C. and Brown T.H.(1987); The Computation of Chemical Equilibrium in Complex Systems containing non-ideal Solutions. Geochim. Cosmochim. Acta (submitted, not yet rejected) De Capitani C. and Greenwood H.J.(1985): Site occupancies in Mn-Mg and Fe-Mg olivines by XRD intensities (abstr.). EOS 66/46:1134 Deer W.A., Howie R.A. and Zussman J.(1978): An Introduction to the Rock-Forming Minerals. Longman, London (11th ed.) Denbigh K.(1971): The Principles of Chemical Equilibrium. Cambridge University Press 1971, 3rd ed. Dempsey M.J.(1980): Evidence for Structural Changes in Garnet Caused by Calcium Substitution. Contrib. Mineral. Petrol. 71: 281-282 Dixon L.C.W.(1980): Introduction to numerical Optimization. In: Nonlinear Optimization, Theory and Algorithms (eds. Dixon L.C.W. , Spedi cat o E. and Szego G.P.), Birkhauser Bos ton Doyle P.A. and Turner P.S.( 1968): Relativistic Hartree-Fock X-ray and Electron Scattering factors. Acta crystallogr. A24: 390-399 Eibschutz M. and Ganiel U.(1967): Mossbauer Studies of Fe2+ in Paramagnetic Fayalite (Fe2SiOa). Solid State Comm. 5: 267-270 1 32 Enqi M.(1983): Equilibria involving Al-Cr Spinel: Mg-Fe exchange with Olivine. Experiments, Thermodynamic analysis and consequences for Geothermometry. Amer. J. Sci. 283A: 29-71 Eriksson G.(1971): Thermodynamic Studies of High Temperature Equilibria III:SOLGAS a Computer Program for Calculating the Composition and Heat Condition of an Equilibrium Mixture. Acta Chaem. Scand. 25: 2651-2658 Eriksson G.(1974): Thermodynamic Studies of High Temperature Equilibria XII:SOLGASMIX, a computer program for calculation of equilibrium compositions in multiphase systems. Chem. Script a 8:100-103 Eugster H.P., Albee A.L., Bence A.E., Thompson J.B. and  Waldbaum D.R.(1972): The two-phase region and excess mixing properties of Paragonite - Muscovite crystalline solutions. /. Petrol. 13: 147-179 Evans H.T.Jr., Appleman P.E. and Handwerker D.S.(1963): The least squares refinement of crystal unit cells with powder diffraction data by an automatic computer indexing method. Amer. Cryst. Assoc. Ann. Mtg., Cambridge Mass., Prog. Abstr. 42-43 Fickett W.(1963): Calculation of the Detonation Properties of Condensed Explosives. Phys. Fluids 6: 997-1006 Finger L.W. and Virgo D.(1971): Confirmation of Fe/Mg Ordering in Olivines. Carnegie Inst. Wash. Yearbook 70: 221-225 Fisher G.W. and Medaris L.G.(1969): Cell dimensions and X-Ray determinative curve for synthetic Mg-Fe olivines. Amer. Mineral. 54: 741-753 Francis C.A. and Ribbe P.H.(1980): The forsterite -tephroite series: I. Crystal structure refinements. Amer. Mineral. 65: 1263-1269 Fujino K., Sasaki S., Takeuchi Y. and Sadanaga R.(1981): X-Ray Determination of Electron Distributions in Forsterite, Fayalite and Tephroite. Acta cr yst al I ogr . B37: 513-518 133 Ganguli D.(1977): Crystal chemical aspects of olivine Structures. N. Jb. Mineral. Abh. 130/3: 303-318 Gautam R. and Seider W.D.(1979): Computation of Phase and Chemical Equilibrium: I: Local and Constrained Minima in Gibbs Free Energy, II: Phase-splitting, III: Electrolytic Solutions. Amer. Inst. Chem. Eng. J. 25/6: 991-1015 George B., Brown L.P., Farmer C.H., Buthod P. and Manning F.S.(1976): Computation of Multicomponent, Multiphase Equilibrium. Ind. Eng. Chem. Proc. Des. Dev. 15: 372-377 Ghiorso M.S.(1984): Activity/composition relations in the ternary Feldspars. Contrib. Mineral. Petrol. 87: 282-296 Gibb T.C.(1976): Principles of Mossbauer Spectroscopy. Chapman and Hall, London Gonser U.(1975): From a Strange Effect to Mossbauer Spectroscopy. I n:Topi cs in Applied Physics vol 5: Mos sbauer Spect r os copy (ed. U. Gonser), Springer Verlag, pp. 1-52 Haar L. , Gallagher J.S. and Kell G.S.Q984): NBS/NRC Steam Tables: Thermodynamic and Transport Properties and Computer Programs for Vapor and Liquid States of Water in SI Units. Hemisphere Publ. Corp. Hall M.M., Van Veerarghavan V.G., Rubin H. and Winchell P.G.(1977): The approximation of symmetric X-ray peaks by Pearson type VII distributions. /. Appl. Cryst. 10:66-68 Hanke K. and Zemann J.(1963): Verfeinerung der Kristallstruktur von Olivin. Nat urwi s s e ns chaf t e n 50:91-92 Harvie C.E. and Weare J.H.(1980): The prediction of mineral solubilities in natural waters: the Na-K-Mg-Ca-Cl-SOfl-H20 system from zero to high concentration at 25 °C. Geochim. Cosmochim. Acta 44: 981-997 134 Hazen R.M.(1976): Effects of temperature and pressure on the crystal structure of forsterite. Amer. Mineral. 61: 1280-1293 Hazen R.M.(1977): Effects of temperature and pressure on the crystal structure of ferromagnesian olivine. Amer. Mineral. 62: 286-295 Heidemann R.A.(1978): Non-uniqueness in Phase and Reaction Equilibrium computations. Chem. Eng. Sci. 33:1517-1528 Herber R.H.(1971): Mossbauer Spectroscopy. Scientific American 225, oct . 1971: 86-95 Hill R.J.(1984): X-ray powder diffraction profile refinement of synthetic hercynite. Amer. Mineral. 69: 937-942 Hill R.J, and Madsen I.C.(1984): The Effect of Profile Step Counting Time on the Determination of Crystal Structure Parameters by X-ray Rietveld Analysis. /. Appl. Cryst. 17: 297-306 Holub R. and Vonka P.(1976): The Chemical Equilibrium of Gaseous Systems. D. Reidel Dordrecht Hubbard C.R., Evans E.H. and Smith P.K.(1975): The Reference Intensity Ratio, I/Ic, for Computer Simulated Powder Patterns. /. appl. Crystallogr. 9:169-174 Huff V.N., Gordon S. and Morrell V.E.Q951): General Method and Tables for Computation of Equilibrium Composition and Temperature of Chemical Reaction. Natl. Advis. Comm. Aeronaut., Report 1037, Washington Huqqins F.E.(1973): Cation Order in Olivines: Evidence form Vibrational Spectra. Chem. Geol 11:99-109 International Tables for X-ray Crystallography(1974): . Birmingham, Kynoch Press Kaufmann L. and Bernstein H.(1970): Computer Calculation of Phase Piagrams. in Margrave J. L. (e d) : Re f r act or y Materials vol.4, Academi c Press N.Y. and London 135 Kawasaki T. and Matsui Y.(1977): Partitioning of Fe2+ and Mg2 + between olivine and garnet. Earth and planet. Sci. Lett. 37:159-166 Kerrick D.M. and Jacobs G.K.Q981): A Modified Redlich-Kwong Equation for H20, C02, and H20-C02 Mixtures at Elevated Pressures and Temperatures. Amer. J. Sci. 281: 735-767 Lager G.A., Ross F.K., Rotella F.J, and Jorgensen J.D.(1981); Neutron powder diffraction of forsterite, Mg2SiO«: a comparision with single crystal investigations. /. Appl. Cryst 14:137-139 Louisnathan S.J, and Smith J.V.(1969): Cell dimensions of olivine. Mineral Mag. 36: 1123-1134 Lumpkin G.R. and Ribbe P.H.(1983): Composition, order-disorder and lattice parameters of olivines: relationships in silicate, germanate, beryllate and borate olivines. Amer. Mineral. 68:164-176 Lumpkin G.R., Ribbe P.H. and Lumpkin N.E.(1983): Composition, order-disorder and lattice parameters of olivines: determinative methods for Mg-Mn and Mg-Ca silicate olivines. Amer. Mineral. 68:1174-1182 Madeley W.P. and Toguri J.M.(1973): The application of free energy minimization techniques to determine equilibrium compositions in systems of metallurgical interest. Canad. Metallurg. Quart. 12:71-78 McCormick G.P.(1983): Nonlinear Programming, Theroy, Algorithms and Applications. A WiIey-Intersci ence Publication, John Wiley & Sons 1983, 444 pp. Miller M.L.(1985): Cell parameter systematics of the binary olivines: Methods for the determination of composition and intracrystalline cation ordering. M.Sci. Thesis, Virginia Polytech. Inst. Miller M.L. and Ribbe P.H.(1985): Methods for determination of composition and intracrystalline cation distribution in Fe-Mn and Fe-Ni olivines. Amer. Mineral. 70:723-728 136 Miller M.L. and Ribbe P.H.(1986): Mg-Mn and Mg-Fe Olivines: Use of Diffraction Peak Intensities, d-Spacings and Lattice Parameters in Determining Composition and Intracrystalline Cation Distribution, (abstr.). IMA 86 Mossbauer R.L.(1958a): Kernresonanzabsorption von Gammastrahlung in Ir191. Z. Physik 151:124 Mossbauer R.L.(1958b): Kernresonanzabsorption von Gammastrahlung in Ir191. Naturwissenschaft en 45:538 Naphtali L.M.(1959): Complex Chemical Equilibria by Minimizing Free Energy. /. Chem. Phys. 31:263-264 Naphtali L.M.(1961): Calculate Complex Chemical Equilibria. Ind. Eng. Chem. 53/5: 387-388 Newton R.C, Charlu T.V. and Kleppa O.J.( 1980): Thermochemistry of the high structural state plagioclases. Geochim. Cosmochim. Acta 44: 933-941 Nord A.G.(1984): Use of the Rietveld Technique for Estimating Cation Distributions. /. Appl . Cr yst . 17: 55-60 Nord A.G., Annersten H. and Filippidis A.(1982): The cation distribution in synthetic Mg-Fe-Ni olivines. Amer. Mineral. 67: 1206-1211 O'Neill H.St.C.(1980): An Experimental Study of Fe-Mg Partitioning Between Garnet and Olivine and its Calibration as a Geothermometer: Corrections. Contrib. Mineral. Petrol. 72: 337 O'Neill H.St.C. and Wood B.J.(1979): An Experimental Study of Fe-Mg Partitioning Between Garnet and Olivine and its Calibration as a Geothermometer. Contrib. Mineral. Petrol. 70: 59-70 Othmer H.G.(1976): Nonuniqueness of equilibria in closed reacting systems. Chem. Eng. Sci. 31:993-1003 1 37 Pawley G.S.(1981): Unit-Cell Refinement from Powder Diffraction Scans. /. Appl . Cryst. 14: 140-148??? Peters Tj., Schwander H. and Trommsdorff V.(1973): Assemblages among Tephroite Pyroxmangite, Rhodochrosite, Quartz: Experimental Data and Occurences in the Rhetic Alps. Contr. Mineral. Petrol. 42: 325-332 Prausnitz J., Anderson T., Grens E., Eckert C, Hsien R. and  0'Connell J.(1980): Computer Calculations for Multicomponent Vapor-Liquid and Liquid-Liquid Equilibria. Prentice-Hall, Inc., Engl ewood Cliffs, N.J. Priqogine I. and Defay R.(1954): Chemical Thermodynamics. Longmans London, translated by Everett D.H. Rietveld H.M.(1967): Line profiles of neutron powder-di ffract ion peaks for structure refinement. Act a Cryst. 22:151-152 Rietveld H.M.(1969): A Profile Refinement Method for Nuclear and Magnetic Structures. J. Appl. Cryst. 2:65-69 Robie R.A., Hemingway B.S. and Fisher J.R.(1978): Thermodynamic Properties of Minerals and Related Substances at 298.15 K and 1 Bar (105 Pascals) Pressure and at Higher Temperatures. U.S. Geol . Surv. Bull. 1452 Rooksby H.P.(1951): Oxides and Hydroxides of Aluminium and Iron. in:Brindley G.W. (ed.): X-Ray identification and Crystal Structure of Clay Minerals. The Mineral. Soc. London (Clay Minerals Group) Sakata M. and Cooper M.J.(1979): An Analysis of the Rietveld Profile Refinement Method. Appl. Cryst. 12:554-563 Sanderson R.V. and Chien H.H.Y.(1973): Simultaneous Chemical and Phase Equilibrium Calculation. Ind. Eng. Chem. Proc. Des. Dev. 12:81-85 1 38 Schwab R.G. and Kuestner D.(1977): Prazisionsgitterkonstantenbestimmung zur Festlegung rontgenographischer Bestimmungskurven fur synthetische Olivine der Mischkristallreihe Forsterit - Fayalit. N. Jb. Mineral. Mh. 1977: 205-215 Shannon R.D.(1976): Revised Effective Ionic Radii and Systematic Studies of Interatomic Distances in Halides and Chalcogenides. Acta Cryst. A32: 751-767 Shapiro N.Z. and Shapley L.S.(1965): Mass Action Laws and the Gibbs Free Energy Function. SI AM J. Appl. Math. 13: 353-375 Shinno I.(1981): A Mossbauer Study of Ferric Iron in Olivine. Phys. Chem. Minerals 7:91-95 Smith W.R.(1980a): Computational Aspects of Chemical Equilibrium in Complex Systems. In: Theoretical Chemistry, Advances and Perspectives (eds. Eyring H, and Henderson D.), vol. 5, pp. 185-259, Academi c Press N.Y. Smith W.R.(1980b): The Computation of Chemical Equilibria in Complex Systems. Ind. Eng. Chem. Fundam. 19:1-10 Smith W.R. and Missen R.W.(1968): Calculating Complex Chemical Equilibria by an Improved Reaction-Adjustment Method. Canad. J. Chem. Eng. 46: 269-27 2 Smith W.R. and Missen R.W.(1982): Chemical Reaction Equilibrium Analysis: Theory and Algorithms. A Wi I e y-1 nt er s ci ence Publication, John Wiley & Sons 1982, 364 pp. Smyth J.R.(1975): High Temperature Crystal Chemistry of Fayalite. Amer. Mineral. 60:1092-1097 Smyth J.R. and Hazen R.M.(1973): The Crystal Structures of Forsterite and Hortonolite at Several Temperatures Up to 900 °C. Amer. Mineral. 58: 588-593 Smyth J.R. and Tafta7 J.(1982): Major and Minor Element Site Occupancies in Heated Natural Forsterite. Geophys. Res. Lett. 9/9:1113-1116 139 Sundaram V.S., Gupta V.P. and Subbarao E.C.(1971): A Miniature Vacuum Furnace for Mossbauer Spectroscopy. Rev. Sci. Instr. 42: 1616-1618 Thierry P., Chatillon-Colinet C, Mathieu J.C., Regnard J.R.  and Amosse J.O981): Thermodynamic Properties of the Forsterite - Fayalite (Mg2SiO,-Fe2SiO„) Solid Solution. Determination of Heat of Formation. Phys. Chem. Minerals 7:43-46 Thompson J.B, Jr and Hovis G.L.Q 979): Entropy of mixing in sanidine. Amer. Mineral. 64: 57-65 Thompson P. and Wood I.G.(1983): X-ray Rietfeld Refinement using Debye-Scherrer Geometry. J. Appl. Cryst. 16: 458-47 2 Tokonami M.Q965): Atomic scattering factors for O2". Acta crystallogr. 19:486 Toroya H.(1986): Whole-Powder-Pattern-Fitting without Reference to a Structural Model: Application to X-ray Powder DiffTactometer Data. /. Appl. Cryst. 19: 440-447 Van Zeqgeren F. and Storey (1970): The Computation of Chemical Equilibria. Cambridge 13 ni v er s i t y Press Vertes A., Korecz L. and Burger K.Q 979): Mossbauer Spectroscopy. Studies in physical and theoretical chemistry 5, El si ever Sci. Publ. Comp. Villars D.S.(1959): A Method of Successive Approximation for Computing Combustion Equilibria on a High Speed Digital Computer. /. Phys. Chem. 63: 521-525 Virgo D. and Hafner S.S.Q972): Temperature-dependent Mg,Fe distribution in a lunar Olivine. Earth and planet. Sci. Lett. 14: 305-312 Wang X. (1986): A study on the equilibrium grossular + clinochlore = 3 diopside + 2 spinel + 4 H20. M.Sc. thesis, University of British Columbia 140 Waseda Y.(1984): Anomalous (resonance) X-ray scattering for structural characterization of disordered materials. Spri nger-Verl ag N.Y., 183 pp. Wenk H.-R. and Raymond K.N.(1973): Four new structure refinements of olivine. Zeitschr. Kristallogr. Bd. 137': 86-105 White W.B., Johnson S.M. and Dantziq G.B.0958): Chemical Equilibrium in Complex Mixtures. /. Chem. Phys. 28: 751-755 Will G. and Nover G.(1979): Influence of Oxygen Partial Pressure on the Mg/Fe Distribution in Olivines. Phys. Chem. Minerals 4: 199-208 (6: 247-248) Will G., Parrish W. and Huang T.C.Q983): Crystal-Structure Refinement by Profile Fitting and Least-Squares Analysis of Powder DiffTactometer Data. /. Appl. Cryst. 16:611-622 Wood B.J, and Fraser D.G.(1976): Elementary Thermodynamics for Geologists. Oxford University Press, 303 p. Yoder H.S.Jr. and Sahama Th.G.(l957): Olivine X-Ray determinative curve. Amer. Mineral. 42: 475-491 Yvon K., Jeitschko W. , Parthe E.0 977); LAZY PULVERIX, a computer program for calculating X-ray and neutron diffraction powder patterns. /. Appl. Cryst. 10:73-74 Zeleznik F.J, and Gordon S.(1968): Calculation of Complex Chemical Equilibria. Ind. Eng. Chem. 60/6: 27-57 APPENDIX A: DESCRIPTION OF INPUT FOR THE PROGRAM THERIAK A.1 PROBLEM INPUT The minimum input consists of two lines (the first and the last). These provide information about the temperature, the pressure, the bulk composition, the desired output and the phases to be considered. first line: TC P TC: Temperature in °C P : Pressure in bars last line: PRTCODE FORMULA USE PRTCODE: Allows a choice betweeen different outputs: <-1: print information about selected or rejected phases from the data-base. NO EQUILIBRIUM CALCULATED =-1: print composition, considered phases and solution models. NO EQUILIBRIUM CALCULATED = 0: short output (stable paragenesis) = 1: long output (composition, considered phases, solution models, stable paragenesis, activities of all considered phases 141 142 FORMULA: Bulk composition in the form: component(value) component(value)... the values can be any numbers, but should be positive to avoid unpredictable results. The maximum length of FORMULA is 170 characters, it may contain single blanks and must be separated from PRTCODE and USE by at least two blanks. USE: Code for selecting data from the data-base. For more information see A.2.2. Two examples of minimum input: 700 3000 -2 SI(1.0)AL(2.0)0(5.0) N 550.00 2000.0 1 MN(1) SI(8) CA(2) 0(19) 143 optional input Between the first and the last line, optional lines may be inserted. They contain one or more statements in the form: parameter=value separated by at least two blanks. The first eight of the following possible parameters define the sizes of arrays and structures. They can be changed at execution time only in the PL/1 version. In FORTRAN these have to be changed before compilation of the program. parameter default COMAX 15 PHMAX SOMAX EMMAX SITEMAX MAMAX MPOLMAX 100 10 Maximum number of components. (Can be less than the number of components in the database) Maximum number of considered non-solution phases. Maximum number of considered solution phases. Maximum number of endmembers for each solution phase. Maximum number of different sites for ideal site mixing model. Maximum number of margules parameters for each solution phase, Maximum degree of polynom for margules equation. 144 CALMAX 150 L01 MAX 80 TEST 10"8 EQUALX 10 - 5 PGAS 1 LPP 60 DELXMIN 10"7 DELXSCAN 1 DELXSTAR 0.02 STEPSTAR 2 Maximum number of phases to be kept simultanously in matrix ||X||. Maximum number of iterations for the calculation. If LO1MAX < 0 then the number of iterations will be exactly |L01MAX|. The calculations will stop, if the absolute sum of all non-positive g^ after the linear programming section is smaller than |TEST|. If TEST < 0 then the program prints a short summary for each iteration. Two phases of the same solution are considered equal if E|Ax^| < EQUALX. The pressure for fluid phases is P*PGAS. Lines per page, (has an effect only in the PL/1 version). ^min : smallest possible stepsize. = precision for calculating x^'s in non-ideal solutions. Grid width for scanning non-ideal solution phases for initial guess. ^init : ^•n^t^a-'- stepsize. Maximum number of steps, if initial guess results from a scan. 1 45 STEPMAX 3 Maximum number of steps if initial guess is a previous minimum. GCMAX 100 Maximum number of AG function calls per step. (= maximum m in stepsize procedure) Examples for optional input: TEST=-1E-7 LO1MAX=200 GCMAX=15 MPOLMAX=4 MAMAX=32 EMAX=10 A.2 THE DATA-BASE The format of the data-base follows closely the one used by E.H. Perkins, R.G. Berman and T.H. Brown for the calculation of phase diagrams. The first few lines of the data-base contain general information on the components to be used : NC R COMPN(l) COMPN(2) COMPN(8) • • • COMPN( ) COMPN( ) COMPN(NC) MOLWT(l) MOLWT(2) MOLWT(8) • • * MOLWT( ) MOLWT( ) MOLWT(NC) NC: Number of components used in the data-base. R : Gas constant [J/mol] 1 46 COMPN(i) : Components. (Format = 8A8) MOLWT(i) : Molecular weights. (Format = 8F8.2) The rest of the data-base is organized in sections. Each section begins with a line having the string '***' as the first three non-blank characters. The text of that line is scanned for a string defining the section. The sections recognized by the program are: *** ... MINERAL DATA ... *** ... GAS DATA ... These two are treated identically. They contain the phase definitions and the information to calculate A^G for variable pressures and temperatures. *** ... SOLUTION DATA ... Definitions of solutions and solution models. *** ... MARGULES ... This section contains Margules parameters for non-ideal solution phases. Other sections (e.g. *** ... COMMENTS ...) will be skipped by the program. Principally the sections can be in any order and may appear more than once. But it is obvious that if we define a solution phase, its endmembers must have been read in previously. Similarly the Margules parameters for a solution phase can only be assigned properly after the solution phase is defined. Any line anywhere, which is empty or begins with a '!' is considered a comment line and is skipped. 147 A.2.1 SECTION *** ... MINERAL DATA ... Each phase is defined with one phase definition line and any number of data lines. phase definition line NAME FORMULA ABBREV [ CODE ] The four strings are separated by at least two blanks. They all may contain single blanks. NAME : Name of the phase, (maximum 16 characters) FORMULA : Chemical formula of the phase in the form: component(value) component(value) ... The components have to be the same as defined at the beginning if the data-base. The values can be negative. ABBREV : Abbreviation for phase (maximum 8 characters) CODE : [optional] (maximum 15 characters) Each character in CODE defines a group to which the phase belongs. If the first character is a '*' then the phase is considered "special". For more details see A.2.2. A line within this section is recognized to be a phase definition line if it contains at least one '(' (left 1 48 paranthesis) and is not a comment line. Examples of phase definition lines: HIGH ALBITE NA(1)AL(1)SI(3)0(8) H-ALB N ALMANDINE FE(3) AL(2) SI(3) 0(12) aim Data lines The thermodynamic data for a phase follow the phase definition line in any order. The first three non-blank characters identify the content of the input line. These three characters must be within the first five columns of the line. Columns 6 to 80 contain at most five fields of 15 columns with numerical data. (FORMAT = A5,5F15.4) 1. Standard state information. (25 °C, 1 bar). A^G0 is not used and its field can be left blank. ST AfG°[J/mol] AfH°[J/mol] S°[J/K.mol] V°[cm3/mol] 2. Heat capacity information: cp = k1 + k2«T + k3/T2 + k4//T + k5«T2 + k6/T + k7-/T + k8/T3 + k9-T3 [j/mol] CP1 k1 k4 k3 k8 CP2 k6 k2 k5 k7 k9 CP3 k1 k2 k3 1 49 3. Equation of state for gases (used to calculate /Vdp). If the A^G calculation shows that the phase is liquid the name of the phase will be changed to: name(LIQ). a = a0 + a,-T [J.cm3] b = b0 + b,«T [cm3] Van der Waals: P = (R-T)/(V-b) + a/V2 Redlich-Kwong: P = (R«T)/(V-b) - a/(i/T»V' (V+b) ) VDW a0 a, b0 b, R-K a0 a, b0 b. 4. Lambda transitions. Between the limits T e and T. a ret tr Cp-like function is added: Cptr = (T-AT).[1, + 12-(T-AT)]2 where Tref = T°ef + AT Ttr - TJr + AT and AT = (P-P0)«T In addition AH Avtr/ (5V/5T) and (6V/6P) are considered. TR1 T°r T°ef 1, 12 AHfcr TR2 Tg AVfcr (6V/5T) (6V/5P) 5. Disorder contributions to A^G can be approximated by adding a Cp-like function between the limits TQ and T^. dis = d1 + d2-T + d3/T2 + d4/i/T + d5-T2 + d6/T + d7«i/f + d8/T3 + d9-T3 [J/mol] The volume is taken from the shape of the enthalpy function and is scaled to the data by the variable V 150 D1 dl d4 d3 Vad d6 D2 d2 d5 T T, o d 6. Special phases: A^G at p and T is calculated in an external subroutine. All other data lines will be ignored. (Used e.g. to calculate A^G for water and steam according to Haar et al.(1982)). The Keyword can be maximal 10 characters long. (See also A.3) SPC Keyword 7. To the A^G defined by the standard state, Cp's etc. we can add any combination of previously calculated A^G's. This is useful e.g. for polymorphs or buffers. COM name[value] name[value] ... 151 A.2.2 USE AND CODE (SELECTING PHASES) The phases in the data-base may be divided into different groups. Each group is coded as one character (e.g.:A,B,C,D). The variable CODE in the data-base [optional] defines for each phase to which groups it belongs. When the program is run we can specify in the variable USE all groups that should be considered. If USE = '*' then all groups are considered, including those with no CODE defined. special phases: If The first character of CODE is a '*' then the phase is "special" (e.g. a buffer) and does not belong to a specific group. It will only be considered if mentioned in USE after a comma. The first comma in USE is a delimiter between the group names and the special phases. If the first character of CODE is a '+' then AfG of this phase will be calculated even if its composition is outside the compositional space. In that case this phase can still be used to define A^G of other phases, but will itself not be considered for the equilibrium assemblage. In general a phase will be considered if: 1 . The group code is matching 2. no phase with identical name is already considered 3. its components are a subsystem of the bulk components 4. enough data to calculate AfG is provided. 153 Examples for USE and CODE: CODE USE Considered phases Phase 1 A A 1,4 Phase 2 BC B 2 Phase 3 C C 2,3,4 Phase 4 AC AB 1 ,2,4 Phase 5 AC 1 ,2,3,4 Phase 6 *QFM BC 2,3,4 Phase 7 *CB ABC 1,2,3,4 * 1,2,3,4,5 AB,QFM 1,2,4,6 AB,QFMr CB 1,2,4,6,7 ABC ,CB 1,2,3,4,5,7 A,CB 1 ,4,7 A.2.3 SECTION *** . . . SOLUTION DATA ... A solution phase is defined by one definition line followed by any number of endmember lines. solution definition line SOLNAME (MODELL)[/DIV] N M1 M2 . .. M A line within this section is recognized to be a solution definition line if it contains the string ' (' (blank,blank,left parenthesis) and is not a comment line. 154 SOLNAME : Name for solution (maximum 16 characters) MODELL : This string is scanned for certain keywords: SKIP : The solution phase will not be considered. IDEAL : An ideal solution model is assumed. (a^=x^). This is also the default if no keyword is recognized. SITE : An ideal site mixing model is used. N : Number of different sites (integer, can be zero). M^ : Multiplicity of site i (integer). It is assumed that the endmembers have the site i occupied by M^ identical elements or element groups. EXT : The activities of the endmembers are defined in an external subroutine. All other keywords (except SKIP and MARGULES) N and M have no influence. (See also A.4. ) MARGULES : This keyword states, that there may be Margules parameters defined for this phase. They will only be added if this keyword appears in MODELL. /DIV : If a slash follows immediately the (MODELL), then the number following it is used to calculate fractional multiplicities. All multiplicities are divided by DIV. Comments: N, M^ and DIV are integers by definition, but read as real. If decimal fractions are entered the program will calculate accordingly, but print a wrong model. N and M^ are not optional, if not used at least N=0 has to be defined. 1 55 Endmember lines EMNAME E, E- ... E EMNAME : Name of the endmember. (maximum 16 characters). The endmember will be added to the solution if a considered phase with the same name exists. E^ : Element on site i. (Maximum 8 characters). The element names do not have to correspond to a compositional element. They are only used to find out which endmembers have which sites occupied by the same element or element group. Examples: GAS PHASE (IDEAL) 0 CARBON DIOXYDE STEAM OXYGEN CARBON MONOXYDE HIGH FELDSPARS (IDEAL,MARGULES) 0 HIGH ALBITE HIGH SANIDINE GARNETS (SITE) 2 3 2 PYROPE MG AL ALMANDINE FE AL SPESSARTINE MN AL GROSSULAR CA AL ANDRADITE CA FE For the above examples the program will print the models as shown on the following page. 15G Examples of printed models SOLUTION PHASES: 1 GAS PHASE 1 CARBON DIOXYDE ( 29) 2 STEAM ( 96) 3 OXYGEN ( 73) 4 CARBON MONOXYDE ( 30) SOLUTION MODELL: IDEAL ONE SITE MIXING A(C02) = X(C02) A(H20) = X(H20) A(02) = X(02) A(CO) = X(CO) HIGH FELDSPARS 1 HIGH ALBITE 2 HIGH SANIOINE MARGULES PARAMETERS: SOLUTION MODELL: IDEAL ONE SITE MIXING + MARGULES TYPE EXCESS FUNCTION ( 14) A(H-ALB) = X(H-ALB) ( 88) A(H-SAN) = X(H-SAN) W(112) = 18948.06 W(122) = 10322.68 GARNET 1 PYROPE ( 81) 2 ALMANDINE ( 15) 3 SPESSARTINE ( 94) 4 GROSSULAR ( 50) 5 ANDRADITE ( 18) SOLUTION MODELL: "IDEAL" 2 SITE MIXING 3 2 A(PYROPE) = [ X(PYROPE) ] [ X(PYROPE) + X(ALM) + X(SPESS) + X(GROSS) ] 3A(ALM) = [ X(ALM) ] [ X(PYROPE) + X(ALM) + X(SPESS) + X(GROSS) ] 3A(SPESS) = t X(SPESS) ] [ X(PYROPE) + X(ALM) + X(SPESS) + X(GROSS) ] 3 2 A(GROSS) = [ X(GROSS) + X(ANDR) ] [ X(PYROPE) + X(ALM) + X(SPESS) + X(GROSS) ] 3 2 A(ANDR) = [ X(GROSS) + X(ANDR) ] [ X(ANDR) ] 157 A.2.4 SECTION *** ... MARGULES ... The Margules parameters are grouped in subsystems (binary, ternary etc.). Each subsystem is defined by a definition line, followed by any number of parameter lines. Margules definition line EMNAME1 - EMNAME2 - ... A line within this section is recognized to be a definition line if it contains the string ' - ' (blank,minus,blank) EMNAMEn : Name of ntn endmember in subsystem. parameter lines k,k2k3... WH WS WV WCP The number of k^'s defines the degree of the polynomial in the Margules equation. This does not have to be the same for all parameters. WG = WH - T-WS + p-WV + ... GEX = WG • x(k1).x(k2)-x(k3) ... where the k^'s refer to the indices in the definition line. Example: HIGH ALBITE - HIGH SANIDINE 112 320,98.8 16.1356 0.46903 0 122 26470.9 19.3807 0.38702 0 158 A.3 CALCULATION OF A£G IN AN EXTERNAL SUBROUTINE If A^G is to be calculated in an external subroutine, (data line: SPC Keyword), then the program calls a subroutine named GSPEC. The parameters transmitted are: NAME(name of phase), P(pressure), PGAS(pressure of fluid phases), T(temperature), CASE(=Keyword) and G(A^G). The subroutine calculates G (or may read it from a terminal) and returns control to the main program. Example of GSPEC in PL/1: GSPEC:PROCEDURE(NAME,P,PGAS,T,CASE, G) ; DCL (NAME) CHAR0 6) VARYING; DCL (CASE) CHAR(10) VARYING; DCL (P,PGAS,T,G) DECIMAL FL0AT(16); DCL (WHAAR) ENTRY; G=0.0; IF CASE='HAAR' THEN CALL WHAAR(NAME,PGAS,T,G); RETURN; END GSPEC; 159 A.4 CALCULATION OF ACTIVITIES IN AN EXTERNAL SUBROUTINE If the model of a solution phase contains the string 'EXT' then three subroutines (or three entry-points) will be called: 1. PSOLINI. In this subroutine we define for a given solution phase the number and the names of the endmembers. 2. PSOLMOD. This subroutine returns a string to be printed, and which describes the activity according to solution name and endmember number, (optional) 3. PSOLCAL. For each endmember the activity is calculated. The solution has to be defined in the data-base, but may have fewer endmembers and in a different order than the same solution in the external subroutines. The calling parameters are relatively complex, but to add a new solution phase to the already existing subroutines, only few lines have to be inserted: Example (for PL/1) in PSOLINI: IF SOLNAME='name of solution phase' THEN DO; N=number of endmembers; NAME(1)='name of endmember 1'; NAME(2)='name of endmember 2'; NAME(n)='name of endmember n'; END; 160 in PSOLMOD: (Default: MODELL='NOT EXPLICITLY DEFINED';) IF SOLNAME='name of solution phase' THEN DO; IF K=1 THEN MODELL='activity of endmember 1'; IF K=2 THEN MODELL='activity of endmember 2'; IF K=n THEN MODELL='activity of endmember n'; END; in PSOLCAL: The independent variables in the formulas can be: P,T,X(1),X(2),..,X(n) IF SOLNAME='name of solution phase' THEN DO; A(l)=formula for activity of endmember 1; A(2)=formula for activity of endmember 2; A(n)=formula for activity of endmember n; END; APPENDIX B: LISTING OF PROGRAM THERIAK The major COMMON blocks are only listed in the main routine. INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX = 10,SITMAX = 5, * MAMAX = 31 ,MPOMAX = 4,CALMAX = 200) LOGICAL*4 MORE INTEGERS I001,I002,1,I2,II,COMAY,LLL,LPP REAL*8 FAR001(11),FF,MOLGEW(COMAX) CHARACTER*250 CH001,CH002,SYREC CHARACTER*8 CAR001(11) C COMMON BLOCK FOR SAVING INPUT DATA INTEGER*4 INDATA( 12,PHMAX) COMMON /DAIN/ INDATA REAL*8 REDATA(75,PHMAX) COMMON /DARE/ REDATA CHARACTER*!6 CHDATA(PHMAX) COMMON /DACH/ CHDATA LOGICAL*4 LODATA(5,PHMAX) COMMON /DALO/ LODATA C-—GLOBAL COMMON BLOCK REAL * 8 P, PGAS, PRAT, PO, R, RT,T,TC,T0 COMMON /SURE/ P,PGAS,PRAT,P0,R,RT,T,TC,T0 C—-COMMON BLOCK FOR DATABASE 1NTEGER*4 CHMCOD(COMAX),DIM,LUSE,NC,NPAR COMMON /ININ/ CHMCOD,DIM,LUSE,NC,NPAR REAL*8 CHE(COMAX),CHEM(COMAX),GGK(PHMAX),BULK(COMAX) COMMON /INRE/ CHE,CHEM,GGK,BULK CHARACTER*250 REC CHARACTER* 170 FORMUL CHARACTER*60 MODCOD CHARACTER*25 CH,USE CHARACTER* 16 MANAM(EMAX),SONAM CHARACTER*8 ALPDIV(SOMAX +1 ),FORM,OXYDE(COMAX) CHARACTER*5 SITEL(SOMAX + 1,EMAX,SITMAX) CHARACTER*3 RECODE COMMON /INCH/ MANAM,SONAM,ALPDIV,FORM,OXYDE, >SITEL,RECODE,REC,FORMUL,MODCOD,CH,USE LOGICAL*4 GENUG(8),MARCOD(SOMAX+1),NULL(PHMAX+1) COMMON /INLO/ GENUG,MARCOD,NULL C—-COMMON BLOCK FOR G-CALCULATION INTEGER*4 NLANDA,NCOM,ICOM(10) COMMON /GCIN/ NLANDA,NCOM,ICOM REAL*8 AAT,AA0,ASPK(4),BBT,BB0,BSPK(4),DHTR(4),DVDP(4), >DVDT(4),DVTR(4),D1,D2,D3,D4,D5,D6,D7,D8,D9,GR,G0R,H0R, > K1, K2,K3, K4, K5, K6,K7, K8, K9,SQT,SQT0,S0R,TDMAX,TD0,TEQ(4), >TQ1 B(4),TRE(4),TT,TT0,VAD),V0R,FFCOM(10) COMMON /CCRE/ AAT,AA0,ASPK,BBT,BB0,BSPK,DHTR,DVDP, >DVDT,DVTR,D1,D2,D3,D4,D5,D6,D7,D8,D9,GR,G0R,H0R, > K1, K2, K3, K4, K5, K6, K7, K8, K9, SQT, SQT0, SO R,TDMAX,TD0,TEQ, >TQ1 B,TRE,TT,TT0,VADJ,V0R,FFCOM 161 162 CHARACTERS 6 CASE,NAM COMMON /CCCH/ CASE,NAM LOGICAL*4 DIS,RDK,VDW,LIQ,SPC,COM COMMON /CCLO/ DIS,RDK,VDW,L!Q,SPC,COM C—-COMMON BLOCK FOR THERIAK INTECERM EM(SOMAX + 1,EMAX),EMBCOD(SOMAX+1,EMAX),EMCODE(0:CALMAX), >EMNR(PHMAX),EMSOL(PHMAX),EQEM(SOMAX + 1,EMAX,SlTMAX,EMAX),CCMAX, > I NDX(SOMAX +1 ,MAMAX,MPOMAX),L001, LOI MAX, N EMBAS(SOMAX +1), >NEND(SOMAX+1),NEQEM(SOMAX+1,EMAX,SITMAX),NMARG(SOMAX+1),NPHA, >NSITE(SOMAX+1),NSOL,NUMMER(0:CALMAX),NUN,NUN2, > POLY(SOMAX +1 ,MAMAX), >PRTCOD,QQ(SOMAX+1,MAMAX,EMAX),STPMAX,STPSTA,SUGC(0:CALMAX),SUCNR COMMON /THIN/ EM,EMBCOD,EMCODE,EMNR,EMSOL,EQEM,CCMAX,INDX,L001, >L01MAX,NEMBAS/NEND,NEQEM,NMARC,NPHA,NSITE,NS0L,NUMMER,NUN,NUN2, >POLY,PRTCOD,QQ,STPMAX,STPSTA,SUCC,SUCNR REAL*8 ALPHA(SOMAX + 1),DXMIN,DXSCAN,DXSTAR,EQUALX,G(0:CALMAX), >CC(PHMAX),NN(0:CALMAX),SITMUL(SOMAX + 1,SITMAX),TEST, > WG(SOMAX +1 ,MAMAX),WH(SOMAX +1 ,MAMAX),WS(SOMAX +1 ,MAMAX), > WV(SOMAX +1 ,MAMAX), WCP(SOMAX +1, MAM AX), >X(0:CALMAX,COMAX),XEM(0:CALMAX,EMAX),XX(PHMAX,COMAX) COMMON /THRE/ ALPHA,DXMIN,DXSCAN,DXSTAR,EQUALX,C,CC,NN,SITMUL, >TEST,WG,WH,WS,WV,WCP,X,XEM,XX CHARACTER* 16 NAME(PHMAX),SOLNAM(SOMAX+1) CHARACTER*8 ABK(PHMAX),CHNAME(COMAX) CHARACTERS MODELL(SOMAX+1) COMMON /THCH/ NAME,SOLNAM,ABK,CHNAME,MODELL LOGICAL*4 PRTLOG(8) COMMON /THLO/ PRTLOG C—-END OF COMMON VARIABLES C— CHARACTER*3 YESNO C— DATA CAR001/'PCAS'/LO1MAX','EQUALX'/TEST','DELXMIN', *'DELXSCAN'/DELXSTAR','STEPSTAR','STEPMAX','GCMAX','LPP7 DATA FAR001/1.0D0,80.0,1D-5,1D-8,1D-7, *1.0D0,2D-2,2.0,3.0,100.0,60.0/ COMAY = COMAX LLL = 0 C-—READ T AND P FROM UNIT 5 MORE = .TRUE. READ (UNIT=9,FMT = '(A250)') SYREC CALL CELI(SYREC,TC) CALL CELI(SYREC,P) C—--READ OOPTIONAL NEW DEFAULT VALUES FROM UNIT 9 C THE FOLLOWING RECORD IS STORED IN SYREC 1001 IF (MORE) THEN READ (UNIT=9,FMT = '(A250)') SYREC MORE = (!NDEX(SYREC,'(').EQ.0) IF (MORE) THEN DO 501,12=1,11 I002 = INDEX(CAR001(I2),' ') IF (I002.EQ.0) 1002 = 9 I001=INDEX(SYREC,CAR001(I2)(1:I002-1)) IF (1001.NE.0) THEN CH002 = SYREC(1001:) I001=INDEX(CH002,' = ') CH001=CH002(I001+1:) CALL FIBLA(CH001,I001) CH002 = CH001(1001:) I001=INDEX(CH002,' ') CH001=CH002(1:1001-1) READ (UNIT=CH001,FMT = '(BN,D16.0)') FAR001(I2) END IF 501 CONTINUE END IF ELSE GOTO 1 END IF GOTO 1001 1 PRAT=FAR001(1) L01MAX=1DINT(FAR001(2)) EQUALX=FAR001(3) TEST=FAR001(4) DXMIN = FAR001(5) DXSCAN = FAR001(6) DXSTAR=FAR001(7) STPSTA = IDINT(FAR001 (8)) STPMAX=IDINT(FAR001(9)) CCMAX = IDINT(FAR001(10)) LPP = IDINT(FAR001(11)) IF (DXMIN.LE.0.0) DXMIN = 1D-7 IF (DXSCAN.LT.0.001) DXSCAN = 1.0D-3 IF (DXSCAN.GT.1.0) DXSCAN = 1.0D0 IF (DXSTAR.LE.0.0) DXSTAR=DXSCAN/10.0D0 IF (LPP.LT.30) LPP=30 C C READ NC AND R FROM UNIT 8 READ (UNIT = 8,FMT = '(A250)') REC CALL GELI(REC,FF) NC = lDINT(FF) IF (NC.CT.COMAX) THEN WRITE (UNIT=6,FMT = '(" COMAX = ",l5/" NC = ",I5)') COMAX, STOP END IF CALL GELI(REC,R) T0 = 298.15D0 P0 = 1.0D0 TT0=T0*T0 SQTO = DSQRT(TO) C READ ELEMENTS AND MOLCEW FROM UNIT 8 DO 502,1 = 1,NC,8 l001=MIN0(NC,l + 7) 502 READ (UNIT=8,FMT='(8A8)') (OXYDE(II),II = I,I001) DO 503,1 = 1,NC,8 l001=MINO(NC,l + 7) 503 READ (UNIT=8,FMT = '(8F8.2)') (MOLGEW(II),II = I,I001) C—--C—-READ PRTCOD, FORMUL AND USE FROM SYREC C-—SET UP FIRST NUN COLUMNS OF MATRIX CALL CELI(SYREC,FF) PRTCOD = IDINT(FF) DO 650,1 = 1,8 650 PRTLOG(i) = .FALSE. IF (PRTCOD.LE.-2) PRTLOC(1) = .TRUE. IF (PRTCOD.EQ.-1) THEN DO 652,1 = 2,5 652 PRTLOC(l) = .TRUE. END IF IF (PRTCOD.EQ.0) THEN DO 654,1 = 5,6 654 PRTLOC(I) = .TRUE. END IF IF (PRTCOD.GE.1) THEN DO 656,1 = 2,8 656 PRTLOG(l) = .TRUE. END IF CALL TAXI(SYREC,FORMUL) CALL TAXI(SYREC,USE) CALL CHEMIE(COMAY,NC,OXYDE,FORMUL,CHEM) LUSE = INDEX(USE,' ')-1 IF (PRTCOD.EQ.0) TEST = DABS(TEST) CALL DBREAD IF (PRTLOG(D) STOP CLOSE(UNIT=9) C WRITE (7,FMT = '(I4)') NUN C WRITE (7,FMT='(7A10)') (CHNAME(I),I = 1,NUN) C WRITE (7,FMT='(I4)') NPHA C WRITE (7,FMT='(5A20)') (NAME(I),I = 1,NPHA) C WRITE (7,FMT='(I4)') NSOL C DO 550,1 = 1,NSOL C WRITE (7,FMT='(A20,I4)') SOLNAM(l),NEND(l) C WRITE (7,FMT='(1015)') (EM(I,1I),II = 1,NEND(1)) C 550 CONTINUE C IF (PRTLOG(2).OR.PRTLOC(3).OR.PRTLOG(4)) CALL PRININ IF (PRTLOG(5)) THEN WRITE (UNIT=6,FMT=140) TEST,L01MAX,EQUALX,DXMIN 140 FORMAT ('0TEST =',1PE11.4,8X,'L01MAX =',I4,13X,'EQUALX =', *1PE11.4,6X,'DELXMIN =',1PE11.4) WRITE (UNIT=6,FMT=141) DXSCAN,DXSTAR,STPSTA,STPMAX,CCMAX 141 FORMAT (' DELXSCAN =',1PE11.4,4X,'DELXSTAR =',1PE11.4,4X, *'STEPSTAR =',14,11X,'STEPMAX =',I4,12X,'GCMAX =',I5) END IF CALL GRECAL C START LOOPING 2111 WRITE (6,2010) 2010 FORMAT (' PRINT PARAMETERS:') YESNO = 'NO ' IF (PRTLOG(2)) YESNO = 'YES' WRITE (6,2012) YESNO 2012 FORMAT (' BEFORE CALCULATION: PRINT BULK COMPOSITION: ',A3) YESNO = 'NO ' IF (PRTLOG(3)) YESNO ='YES' WRITE (6,2013) YESNO 2013 FORMAT (21X/PRINT CONSIDERED PHASES: ',A3) YESNO = 'NO ' IF (PRTLOC(4)) YESNO = 'YES' WRITE (6,2014) YESNO 2014 FORMAT (21X/PRINT SOLUTION MODELS: ',A3) YESNO = 'NO ' IF (PRTLOC(6)) YESNO = 'YES' WRITE (6,2016) YESNO 2016 FORMAT (' AFTER CALCULATION: PRINT STABLE ASSEMBLAGE: ',A3) YESNO = 'NO ' IF (PRTLOG(7)) YESNO = 'YES' WRITE (6,2017) YESNO 2017 FORMAT (20X/PRINT COMPOSITIONS OF STABLE PHASES: ',A3) YESNO = 'NO ' IF (PRTLOG(8)) YESNO ='YES' WRITE (6,2018) YESNO 2018 FORMAT (20X/PRINT ACTIVITIES OF ALL PHASES: ',A3) WRITE (UNIT=6,FMT=2020) P,PGAS,TC,T 2020 FORMAT ('OP =',F9.2,' bar P(Cas) =',F9.2,' bar T =', *F8.2,' C = ',F8.2,' K') WRITE (6,2022) CHNAME(1),CHEM(CHMCOD(1)) 2022 FORMAT ('0BULK COMPOSITION: ',A8,1X,F11.6) DO 605,I = 2,NUN WRITE (6,2023) CHNAME(I),CHEM(CHMCOD(I)) 2023 FORMAT (19X,A8,1X,F11.6) 605 CONTINUE WRITE (6,2000) 2000 FORMAT ('0TP:NEW T AND PV BULK:NEW BULK', >/' PARA: NEW PARAMETERS'/' THER: CALL THERIAK7) READ (UNIT=5,FMT = '(A170)',END = 2099) CH001 IF (CH001.EQ.TP') THEN WRITE (6,2001) 2001 FORMAT (' ENTER NEW T AND P') READ (5,*,END = 2099) TC,P CALL GRECAL END IF IF (CH001.EQ/BULK') THEN WRITE (6,2002) 2002 FORMAT (' ENTER NEW FORMULA.:') READ (UNIT=5,FMT = '(A170)',END = 2099) FORMUL CALL CHEMIE(COMAY,NC,OXYDE,FORMUL,CHE) MORE = .FALSE. DO 601,1 = 1,NC IF (CHE(D.EQ.O.ODO.NEQV.CHEM(I).EQ.O.ODO) MORE = .TRUE. CHEM(I) = CHE(I) 601 CONTINUE IF (MORE) THEN WRITE (6,FMT = '(" RE-READ DATABASE")') CALL DBREAD CALL GRECAL ELSE DO 602,1 = 1,NUN 602 BULK(l) = CHE(CHMCOD(l)) END IF END IF IF (CHOOI.EQ.'PARA') THEN WRITE (6,2030) 2030 FORMAT (' PRINT BULK COMPOSITION?') READ (UNIT=5,FMT='(A3)') YESNO IF (YESNO(1:1).EQ.'Y') THEN PRTLOC(2) = .TRUE. ELSE PRTLOC(2) = .FALSE. END IF WRITE (6,2031) 2031 FORMAT (' PRINT CONSIDERED PHASES ?') READ (UNIT=5,FMT = '(A3)') YESNO IF (YESNO(1:1).EQ.'Y') THEN PRTLOG(3) = .TRUE. ELSE PRTLOC(3) = . FALSE. END IF WRITE (6,2032) 2032 FORMAT (' PRINT SOLUTION MODELS ?') READ (UNIT=5,FMT='(A3)') YESNO IF (YESNO(1:1).EQ.'Y') THEN PRTLOG(4)=.TRUE. ELSE PRTLOC(4) = . FALSE. END IF WRITE (6,2033) 2033 FORMAT (' PRINT STABLE ASSEMBLAGE ?') READ (UNIT=5,FMT='(A3)') YESNO IF (YESNO(1:1).EQ.'Y') THEN PRTLOG(6) = .TRUE. ELSE PRTLOG(6) = .FALSE. END IF WRITE (6,2034) 2034 FORMAT (' PRINT COMPOSITIONS OF STABLE PHASES READ (UNIT = 5,FMT='(A3)') YESNO IF (YESNO(1:1).EQ.'Y') THEN PRTLOG(7) = .TRUE. ELSE PRTLOG(7) = . FALSE. END IF WRITE (6,2035) 2035 FORMAT (' PRINT ACTIVITIES OF ALL PHASES ?') READ (UNIT=5,FMT='(A3)') YESNO IF (YESNO(1:1).EQ.'Y') THEN PRTLOG(8) = .TRUE. ELSE PRTLOG(8) = . FALSE. END IF END IF IF (CH001.EQ/THER') THEN CALL CALSTR IF (PRTLOC(2).OR.PRTLOG(3).OR.PRTLOC(4)) CALL PRININ CALL THER1A END IF GOTO 2111 2099 CONTINUE END C SUBROUTINE DBREAD INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX = 10,SITMAX = 5, * MAMAX = 31 ,MPOMAX = 4,CALMAX = 200) LOGICAL*4 IDCODE,FILEND INTEGERM 1001,1,11,ll,IS CHARACTER*3 SECTIO C-—COMMON BLOCK FOR SAVING INPUT DATA C-—GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR DATABASE C COMMON BLOCK FOR G-CALCULATION C COMMON BLOCK FOR THERIAK C~—END OF COMMON VARIABLES REWIND (UNIT=8) NUN = 0 DO 505,1 = 1,NC IF (CHEM(I).NE.O.ODO) THEN NUN=NUN+1 IF (NUN.GT.COMAX) THEN WRITE (UNIT=6,FMT='(" COMAX = ",l5/" NUN = ",I5)') COMAX,NUN STOP END IF CHMCOD(NUN) = l END IF 505 CONTINUE IF (NUN.LE.0) THEN WRITE (UNIT = 6,FMT = '(" NUN = ",I5)') NUN STOP END IF DO 507,1 = 1,NUN I001=INDEX(OXYDE(CHMCOD(I)),' ') NAME(I) = ""//OXYDE(CHMCOD(I))(1:I001-1)//"" ABK(l) = OXYDE(CHMCOD(l)) DO 506,11 = 1,COMAX 506 XX(l,ll) = 0.0D0 XX(I,I)=1.0DO EMSOL(I) = 0 EMNR(l) = 0 BULK(l) = CHEM(CHMCOD(l)) 507 CHNAME(l) = OXYDE(CHMCOD(l)) NPHA= NUN SUGNR=NUN C—--C~~-START READING DATABASE C—-FILEND = . FALSE. 168 NSOL=0 GOTO 5011 C START END-FILE ACTION 5010 RECODE='***' FILEND = .TRUE. REC = '** ENDFILE **' GOTO 5012 C-—END OF END-FILE ACTION 5011 DO 508,1 = 1,8 508 GENUG(I) = .FALSE. SECTIO = 'BAH' 1002 RECODE = ' ' C SKIP BLANK AND COMMENT RECORDS 1003 IF (RECODE.NE.' '.AND.RECODE(1:1).NE.'!') GOTO 3 READ (UNIT=8,FMT = '(A250)',END = 5010) REC CALL FIBLA(REC,I1) IF (I1.NE.0) RECODE = REC(l1:l1+2) GOTO 1003 C-— 3 IDCODE = .FALSE. IF (SECTIO.EQ.'MIN') IDCODE = (INDEX(REC,'(').NE.0) IF (SECTIO.EQ.'SOL') IDCODE = (INDEX(REC,' (').NE.O) IF (SECTIO.EQ.'MAR') IDCODE = (INDEX(REC,' - ').NE.0) 5012 IF (RECODE.EQ.'***'.OR.IDCODE) THEN IF (CENUG(D) THEN IF (SECTIO.EQ.'MIN') THEN CALL MINFIN CALL DASAVE(NPHA) END IF IF (SECTIO.EQ.'SOL') CALL SOLFIN DO 518,1 = 1,8 518 GENUG(I) = .FALSE. END IF IF (RECODE.EQ.'***') THEN IF (PRTLOGO)) WRITE (UNIT=6,FMT='("0",A132)') REC IF (FILEND.OR.INDEX(REC,'END').NE.0.OR. *INDEX(REC,'F1NISH').NE.0) GOTO 999 SECTIO = 'BAH' IF (INDEX(REC,'MINERAL DATA').NE.0.OR. *INDEX(REC,'GAS DATA').NE.0) SECTIO = 'MIN' IF (INDEX(REC,'SOLUTION DATA').NE.0) SECTIO = 'SOL' IF (INDEX(REC,'MARGULES').NE.O) THEN DO 519,IS=1,NSOL 519 IF (MARCOD(IS)) GOTO 5 5 IF (IS.LE.NSOL) THEN SECTIO = 'MAR' ELSE IF (PRTLOC(D) WRITE (UNIT = 6,FMT=105) 105 FORMAT (1X,'NO SOLUTION PHASE IS EXPECTING MARCULES-PARAMETERS') END IF ELSE IF (SECTIO.EQ.'BAH'.AND.PRTLOG(D) WRITE (UNIT=6,FMT=106) 106 FORMAT (1X/SECTION NOT READ: DATA NOT RECOGNIZED BY THERIAK') END IF ELSE IF (SECTIO.EQ.'MIN') CALL MINNEW IF (SECTIO.EQ.'SOL') CALL SOLNEW IF (SECTIO.EQ.'MAR') CALL MARNEW END IF ELSE IF (GENUG(D) THEN IF (SECTIO.EQ.'MIN') CALL M1NDAT IF (SECTIO.EQ.'SOL') CALL SOLDAT IF (SECTIO.EQ.'MAR') CALL MARDAT END IF END IF GOTO 1002 C-— C-—END OF READING DATABASE 999 RETURN END C £****************************** SUBROUTINE GRECAL 1NTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SlTMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX = 10,SITMAX = 5, *MAMAX=31,MPOMAX = 4,CALMAX = 200) INTEGERM 1001,1,11,IS C—-COMMON BLOCK FOR SAVING INPUT DATA C GLOBAL COMMON BLOCK C COMMON BLOCK FOR DATABASE C—-COMMON BLOCK FOR G-CALCULATION , C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES T=TC+273.15D0 IF (T.LE.0.0) THEN WRITE (UNIT=6,FMT = '(" T =",F8.2)') T STOP END IF IF (P.LT.0.0) THEN WRITE (UNIT=6,FMT='(" P =",F9.2)') P STOP END IF PGAS = P*PRAT RT=R*T TT=T*T SQT=DSQRT(T) DO 601,11 = 1,NUN 601 GGK(ll) = 0.0D0 DO 600,II = (NUN + 1),NPHA 1001=11 CALL DAREST(I001) NAM = NAME(II) IF (SPC) THEN CALL GSPEC(NAM,P,PGAS,T,CASE,GR) ELSE LIQ = .FALSE. CALL GCALC Ll fr*H3031Nl 1SHD (*)*H31DVeIVhD LOOHD 0Sc-*y313VHVI-O 33a (*)*H31DVaVHD (iSH3'D3y)ixvi 3Niinoaans ON3 Nanisa (aOOI)LOOH3 = H3 3d (,(0'9La'Na), = lW3'9L0HD = llNn) <XV3a (L-L00I:L)L00HD = 9L0HD (, /LOOHD)X3aNI = LOOI (:LOOl)H3=LOOH3 31 C3N3 Nani3H 00 = 33 N3HI (0'O3-L00l) 31 (L00l'H3)Viai3 11V3 (HD)N33 = 3V1 3VTL00I KH303J.NI 33 8*TV3a 9L0HD 9L*a3i3Vavl-0 LOOHD 0SZ*y313VHVH3 HD (*)*a31DVaVH3 (33'HD)H30 3Niinoaans 0N3 0 = 11 (l+3VT03'll) 31 1 = 11 L L O1O0 (, ,3N'(H)hD) 31 LOS 3Vl'L = l'lOS OQ (HD)N31 = 3V1 3Vl'l'll fr*H3D3JLNI HD (*)*y313V>JVH3 (n'HD)viai3 3Niinoyans CIN3 SniMLLNCO 0L9 d*(rSI)AM+l*((l'SI)dDM*(Oi/l)OOia + (rSI)SM)-< (01-l)*(l'Sl)dDM + (l'SI)HM=(|/SI)DM (SI)DHVWN'L = I'0L9 OQ lOSN'L = Sl'0L9 OO SflNLLNCO 009 HD = (II)>IDD 31 ON3 ((l)WO3l)>IDD*(l)WCO33 + H0=yD 0S9 VNCON'L = ['0S9 oa N3H1 (WCO) 31 31 QN3 CALL FIBLA(REC,I1) IF (I1.EQ.0) THEN CHST=' ' RETURN END IF CH001 = REC(I1:) I1=INDEX(CH001,' ') CHST=CH001(1:I1-1) REC = CH001(I1:) RETURN END C £****************************** SUBROUTINE CHEMIE(COMAY,NC,OXYDE,FORMUL,CHE) INTEGERM I,I1,I2,13,NC,C0MAY CHARACTER* 170 FORMUL,CH170 CHARACTER*8 ELE,OXYDE(COMAY) REAL*8 CHE(COMAY),FF DO 501(I = 1,COMAY 501 CHE(l) = 0.0 CALL FIBLA(FORMUL,l1) 1001 IF (I1.EQ.0) GOTO 2 12 = INDEX(FORMUL/(') 13 = INDEX(FORMUL/)') IF (I2.LE.I1) 12 = 11 + 1 IF (I3.LE.I2 + 1) 13 = 12 + 2 ELE = FORMUL(l1:l2-1) DO 502,1 = 1,NC 502 IF (ELE.EQ.OXYDE(I)) GOTO 1 1 IF (I.EQ.NC + 1) THEN WRITE (UNIT=6,FMT = 100) FORMUL,ELE 100 FORMAT (' *** ',A170/' *** ELE= ',A8) STOP END IF CH170 = FORMUL(I2+1:13-1) READ (UNIT=CH170,FMT='(BN,D16.0)') FF CHE(I) = CHE(I) + FF CH170 = FORMUL FORMUL = CH170(I3 + 1:) CALL FIBLA(FORMUL,l1) GOTO 1001 2 RETURN END C—-£***************+************** SUBROUTINE MINNEW INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX = 10,SITMAX = 5, *MAMAX = 31,MPOMAX = 4,CALMAX = 200) C-—GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR DATABASE C COMMON BLOCK FOR G-CALCULATION C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTECERM COMAY,I,II,I001 CHARACTER*60 REJECT CHARACTER*!5 USECOD COM AY = COMAX CALL TAXl(REC,NAM) CALL TAXI(REC,FORMUL) CALL TAXl(REC,FORM) CALL TAXI(REC,USECOD) IF (USECOD.EQ.' ') USECOD = 'N' CENUC(1) = .FALSE. NULL(NPHA+1) = . FALSE. CALL CHEMIE(COMAY,NC,OXYDE,FORMUL,CHE) DO 520,1 = 1,LUSE IF (GENUG(1).OR.USE(l:l).EQ.7) GO TO 9 520 GENUG(1) = (INDEX(USECOD,USE(l:l)).NE.0.OR.USE.EQ.'*') 9 IF (USECOD(1:1).EQ.'*') THEN USECOD(1:1) = ',' I001 = INDEX(USECOD,' ') GENUG(1) = (INDEX(USE,USECOD(1:I001-1)).NE.O) END IF IF (.NOT.GENUC(I)) *REJECT = 'CODE NOT MATCHING : "7/USECOD//"" DO 521,11 = 1,NPHA IF (.NOT.GENUGd)) GO TO 10 IF (NAM.EQ.NAME(II)) THEN GENUG(1) = .FALSE. REJECT='DEFINED MORE THAN ONCE IN DATABASE' END IF 521 CONTINUE 10 DO 522,11 = 1,NC IF (.NOT.CENUG(D) GO TO 11 GENUG(1) = (CHE(ll).EQ.0.0.OR.CHEM(ll).NE.0.0) IF (.NOT.GENUC(1).AND.USECOD(1:1).EQ.' + ') THEN DO 702,1 = 1,NC 702 CHE(l) = 0.0D0 GENUG(1) = .TRUE. NULL(NPHA+1) = .TRUE. GOTO 11 END IF IF (.NOT.GENUGd)) REJECT ='COMPOSITION OUTSIDE DEFINED SPACE' 522 CONTINUE 11 IF (GENUG(D) THEN G0R=0.0D0 HOR=O.0D0 SOR = O.0DO VOR=O.0DO AA0 = 0.0D0 AAT = O.0DO BB0 = 0.0D0 BBT=O.0DO K1=0.0D0 K2 = 0.0D0 K3 = 0.0D0 K4 = 0.0D0 K5 = 0.0D0 K6 = 0.0D0 K7 = 0.0D0 K8 = 0.0D0 K9 = 0.0D0 NLANDA = 0 NCOM=0 DO 523,1 = 1,10 1COM(I) = 0 523 FFCOM(I) = 0.0D0 DO 517,1 = 1,4 ASPK(l) = 0.0D0 BSPK(l) = 0.0D0 TQ1B(I) = 0.0D0 TEQ(l) = 0.0D0 DVDT(l) = 0.0D0 DVDP(l) = 0.0D0 TRE(l) = 0.0D0 DHTR(l) = 0.0D0 517 DVTR(l) = 0.0D0 TD0 = 0.0D0 TDMAX=O.OD0 VADj = 0.0D0 D1=0.0D0 D2 = 0.0D0 D3 = 0.0D0 D4 = 0.0D0 D5 = 0.0D0 D6 = 0.0D0 D7 = 0.0D0 D8 = 0.0D0 D9 = 0.0D0 CASE = ' ' RDK=.FALSE. VDW = . FALSE. SPC = .FALSE. COM = . FALSE. DIS = .FALSE. ELSE IF (PRTLOC(D) WRITE (UNIT=6,FMT=107) NAM,REJECT 107 FORMAT (' >',A16,' : ',A60) END IF RETURN END C-— SUBROUTINE MINDAT INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX = 10,SITMAX = 5, *MAMAX=31,MPOMAX = 4,CALMAX=200) C—-GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR DATABASE C COMMON BLOCK FOR G-CALCULATION C—-COMMON BLOCK FOR THERIAK END OF COMMON VARIABLES INTEGERS I IF (RECODE.EQ.'ST ') THEN READ (UNIT=REC,FMT='(5X,4D15.0)') G0R,H0R,S0R,V0R GENUC(2) = .TRUE. V0R = V0R/10.0D0 END IF IF (RECODE.EQ.'R-K') THEN READ (UN1T = REC,FMT = '(5X,4D15.8)') AA0,AAT,BB0,BBT RDK=.TRUE. VDW = . FALSE. END IF IF (RECODE.EQ.'VDW) THEN READ (UNIT=REC,FMT='(5X,4D15.8)') AA0,AAT,BB0,BBT VDW = .TRUE. RDK = .FALSE. END IF IF (RECODE.EQ/CP1') THEN READ (UNIT=REC,FMT = '(5X/4D15.0)') K1,K4,K3,K8 CENUC(3) = .TRUE. END IF IF (RECODE.EQ/CP3') THEN READ (UNIT=REC,FMT='(5X,3D15.0)') K1,K2,K3 CENUC(3) = .TRUE. END IF IF (RECODE.EQ/CP2') THEN READ (UNIT=REC,FMT = '(5X,5D15.0)') K6,K2,K5,K7,K9 END IF IF (RECODE.EQ.'DT) THEN READ (UNIT=REC,FMT='(5X,5D15.0)') D1,D4,D3,VADJ,D6 DIS = .TRUE. END IF IF (RECODE.EQ/D2') THEN READ (UNIT=REC,FMT = '(5X,4D15.0)') D2,D5,TD0,TDMAX END IF IF (RECODE.EQ.'SPC) THEN CALL TAXI(RECCH) CALL TAXI(REC,CASE) SPC = .TRUE. CENUG(2) = .TRUE. GENUC(3) = .TRUE. END IF IF (RECODE.EQ.'COM') THEN CALL TAXI(REC,CH) CALL TAXl(REC,FORMUL) COM = .TRUE. END IF IF (RECODE.EQ.'TRT') THEN NLANDA = NLANDA+1 l = NLANDA READ (UNIT=REC,FMT='(5X,5D15.0)') TQ1B(I),TRE(I),ASPK(1), *BSPK(I),DHTR(I) END IF IF (RECODE.EQ.TR2') THEN IF (NLANDA.GT.O) THEN l = NLANDA READ (UNIT=REC,FMT='(5X,4D15.0)') TEQ(I),DVTR(I),DVDT(I), *DVDP(I) END IF END IF RETURN END C-—-Q* **************************** * SUBROUTINE MINFIN INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX=10,SITMAX = 5, *MAMAX= 31 ,MPOMAX= 4,CALMAX= 200) C-—GLOBAL COMMON BLOCK C COMMON BLOCK FOR DATABASE C COMMON BLOCK FOR G-CALCULATION C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGERS I,IX,I001,I1,I2 REAL*8 FF CHARACTER* 170 MODEL1 CHARACTER* 16 EM NAM IF (GENUG(1).AND.GENUG(2).AND.GENUG(3)) THEN NPHA= NPHA+1 IF (NPHA.GT.PHMAX.OR.NPHA.GT.CALMAX) THEN WRITE (UNIT = 6,FMT=100) P H MAX, CALM AX, N P H A 100 FORMAT (' PHMAX = ',I5/' CALMAX = ',I5/' NPHA = ',I5) STOP END IF IF (COM) THEN NCOM=0 CALL FIBLA(FORMUL,l1) 2001 IF (I1.EQ.0) GOTO 71 l2=INDEX(FORMUL,'[') IX=INDEX(FORMUL,']') IF (12.LE.I1) 12 = 11 + 1 IF (IX.LE.12 + 1) IX=l2 + 2 EMN AM = FORMUL(l1:12-1) DO 701,I = 1,(NPHA-1) 701 IF (EMNAM.EQ.NAME(I)) GOTO 72 72 IF (I.EQ.NPHA) THEN WRITE (UNIT = 6,FMT=300) FORMUL,EMNAM 300 FORMAT (' *** ',A170/' *** NAME= ',A16) STOP END IF MODEL1=FORMUL(l2 + 1:IX-1) READ (UNIT=MODEL1,FMT='(BN,D16.0)') FF NCOM = NCOM + 1 ICOM(NCOM) = l FFCOM(NCOM) = FF MODEL1 =FORMUL FORMUL = MODEL1(IX+1:) CALL FlBLA(FORMUL,l1) 176 GOTO 2001 END IF 71 CONTINUE SUGNR=SUGNR+1 NAME(NPHA) = NAM ABK(NPHA) = FORM DO 705,1 = 1,NUN 705 XX(NPHA,l) = CHE(CHMCOD(l)) EMSOL(NPHA) = 0 EMNR(NPHA) = 0 IF (PRTLOG(D) WRITE (UNIT=6,FMT='(1X,A16," O.K.")') NAM ELSE IF (PRTLOG(D) WRITE(UN1T = 6,FMT = 101) NAM 101 FORMAT (' >',A16,' : NOT ENOUGH DATA') END IF RETURN END C—-Q* **************************** * SUBROUTINE SOLNEW INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX= 22,PHMAX = 150,SOMAX = 20,EMAX= 10,SITMAX = 5, *MAMAX=31,MPOMAX = 4,CALMAX = 200) C—-GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR DATABASE C COMMON BLOCK FOR G-CALCULATION C COMMON BLOCK FOR THERIAK C END OF COMMON VARIABLES INTEGERS l,K REAL*8 FF K=NSOL+1 NEND(K) = 0 CALL TAXI(REC,SONAM) CALL TAXI(REC,MODCOD) IF (INDEX(MODCOD,'SKIP').NE.0) THEN IF (PRTLOG(D) WRITE (UNIT = 6,FMT=108) SONAM 108 FORMAT (' >',A16,' : EXPLICITLY EXCLUDED') GOTO 40 END IF CALL GELI(REC,FF) NSITE(K)= IDINT(FF) IF (NSITE(K).GT.SITMAX) THEN WRITE (UNIT=6,FMT=109) SITMAX,K,NSITE(K) 109 FORMAT (' SITMAX = ',I5/1X,15,' : NSITE = ',l5) STOP END IF DO 523,1 = 1,NSITE(K) 523 CALL GELI(REC,SITMUL(K,I)) GENUG(1) = .TRUE. 40 CONTINUE RETURN END C-—-**************************** * SUBROUTINE SOLDAT INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX= 150,SOMAX= 20,EMAX= 10,SITMAX= 5, * MAMAX = 31 ,MPOMAX = 4,CALMAX = 200) C GLOBAL COMMON BLOCK C COMMON BLOCK FOR DATABASE C COMMON BLOCK FOR G-CALCULATION C COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGER*4 l,ll,lll,K CHARACTER*16 EMNAM K = NSOL+1 ll = NEND(K) + 1 CALL TAXI(REC,EMNAM) DO 526,1 = 1,NSITE(K) CALL TAXI(REC,CH) 526 SITEL(K,ll,l) = CH DO 527,111 = 1,NPHA 527 IF (NAME(III).EQ.EMNAM.AND.(.NOT.NULL(III))) GO TO 15 15 IF (III.LE.NPHA) THEN NEND(K) = NEND(K) + 1 IF (NEND(K).GT.EMAX) THEN WRITE (UNIT=6,FMT=110) EMAX,K,NEND(K) 110 FORMAT (' EMAX = ',I5/1X,I5,' : NEND = ',I5) STOP END IF EM(K,NEND(K)) = III IF (PRTLOG(D) WRITE (UNIT = 6,FMT=111) SON AM,EMNAM 111 FORMAT (1X,A16,': ',A16,' O.K.') ELSE IF (PRTLOG(D) WRITE (UNIT = 6,FMT=112) SON AM, EMNAM 112 FORMAT (1X,A16,' >',A16,' NOT A CONSIDERED PHASE') END IF RETURN END C-— £****************************** SUBROUTINE SOLFIN INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX= 150,SOMAX = 20,EMAX= 10,SITMAX = 5, *MAMAX=31,MPOMAX = 4,CALMAX = 200) C GLOBAL COMMON BLOCK C COMMON BLOCK FOR DATABASE C—-COMMON BLOCK FOR G-CALCULATION C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGERM I,II,IE,IR001(EMAX),I001,1002,1003,11,K REAL*8 FF K=NSOL + 1 IF (NEND(K).GT.D THEN NSOL=K IF (NSOL.GT.SOMAX) THEN WRITE (UNIT = 6,FMT = '(" SOMAX = ",I5/" NSOL = ",l6)') SOMAX,NSOL STOP END IF ALPHA(K) = 1.0D0 ALPDIV(K) = ' ' 11 =INDEX(MODCOD,7') IF (I1.NE.0) ALPDIV(K) = MODCOD(l1:) IF (NSITE(K).EQ.O.AND.lNDEX(MODCOD,'SITE').NE.O) MODCOD = ' ' IF (INDEX(MODCOD/SITE').EQ.O.AND.INDEX(MODCOD,'EXT').EQ.O) * MODELL(K) = T IF (INDEX(MODCOD,'SITE').NE.O) THEN 1 = 1 DO 509,1001 = 1,EMAX DO 509,1002= 1,SITMAX NEQEM(K,I001,I002) = 0 DO 509,1003 = 1,EMAX 509 EQEM(K,I001,I002,I003) = 0 MODELL(K) = 'S' 1007 IF (I.CT.NSITE(K)) CO TO 7 DO 514,IE = 1,NEND(K) DO 512,11 = 1,NEND(K) IF (SITEL(K,IE,I).EQ.SITEL(K,II,I)) THEN NEQEM(K,IE,I) = NEQEM(K,IE,I) + 1 EQEM(K,IE,I,NEQEM(K,IE,I)) = II END IF 512 CONTINUE IF (NEQEM(K,lE,l).EQ.NEND(K)) THEN SITMUL(K,I) = SITMUL(K,NSITE(K)) DO 513,1001 = 1,EMAX 513 SITEL(K,I001,I) = SITEL(K,I001,NSITE(K)) NSITE(K) = NSITE(K)-1 1 = 1-1 CO TO 6 END IF 514 CONTINUE 6 1=1+1 GO TO 1007 7 IF (NSITE(K).EQ.D THEN MODELL(K) = T ALPHA(K) = SITMUL(K,1) END IF END IF IF (INDEX(MODCOD,'EXT').NE.0) THEN MODELL(K) = 'P DO 515,IE = 1,NEND(K) 515 MANAM(IE) = NAME(EM(K,IE)) CALL SOLINI(SONAM,NEND(K),MANAM,NEMBAS(K),IR001) DO 710,IE = 1,NEMBAS(K) 710 EMBCOD(K,1E) = IR001(IE) IF (NEMBAS(K).LT.O) THEN WRITE (UNIT=6,FMT=102) SONAM,NAME(EM(K,-NEMBAS(K))) 102 FORMAT (1X,A16,' :THERE IS NO DATA FOR ',A16, *' IN SUBROUTINE') STOP END IF END IF IF (MODELL(K).EQ.'I') SITMUL(K,1) = ALPHA(K) IF ((MODELL(K).EQ.'l'.OR.MODELL(K).EQ.'S').AND. *ALPDIV(K).NE.' ') THEN CALL CELI(ALPDIV(K)(2:),FF) ALPHA(K) = ALPHA(K)/FF END IF SOLNAM(NSOL) = SONAM DO 516,1 = 1,NEND(NSOL) EMSOL(EM(NSOL,l)) = NSOL 516 EMNR(EM(NSOL,l)) = l IF (PRTLOC(D) THEN WRITE (UNIT=6,FMT=103) SONAM,(NAME(EM(K,l)),l = 1,NEND(K)) 103 FORMAT (1X,A16,' O.K., ENDMEMBERS: ',100(5(2X,A16)/35X)) END IF MARCOD(NSOL) = (INDEX(MODCOD,'MARCULES').NE.0) NMARG(NSOL) = 0 ELSE IF (PRTLOC(1)) WRITE (UNIT=6,FMT=104) SONAM 104 FORMAT (' >',A16,' : LESS THAN TWO ENDMEMBERS') END IF IF (PRTLOC(D) WRITE (UNIT=6,FMT = '(" ")') RETURN END C-— ^-****************************** SUBROUTINE MARNEW INTECER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX= 22,PHMAX = 150,SOMAX = 20,EMAX = 10,SITMAX= 5, *MAMAX = 31,MPOMAX = 4,CALMAX=200) C GLOBAL COMMON BLOCK C COMMON BLOCK FOR DATABASE C—-COMMON BLOCK FOR G-CALCULATION C COMMON BLOCK FOR THERIAK C END OF COMMON VARIABLES INTEGER*4 I DO 524,1 = 2,254 524 IF (REC(I-1:I + 1).EQ.' - ') REC(I-1:I + 1) = ' ' DO 525,1 = 1,EMAX CALL TAXl(REC,MANAM(l)) 525 IF (MANAM(I).EQ.' ') GO TO 13 13 DIM = I-1 NPAR=0 IF (DIM.GT.1) GENUG(1) = .TRUE. RETURN END C-— SUBROUTINE MARDAT INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX= 150,SOMAX = 20,EMAX = 10,SITMAX= 5, *MAMAX = 31,MPOMAX = 4,CALMAX=200) C-—GLOBAL COMMON BLOCK C COMMON BLOCK FOR DATABASE C-—COMMON BLOCK FOR C-CALCULATION 180 C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGERS 1,IIND(MPOMAX),IND(MPOMAX),POL,IS,I001,K REAL*8 WWCP,WWH,WWS,WWV LOGICALM CODE NPAR=NPAR+1 CALL TAXl(REC,CH) POL = INDEX(CH,' ')-1 READ (UNIT=CH,FMT='(100I1)') (IIND(l),l = 1,POL) CALL GELI(REC,WWH) CALL GELI(REC,WWS) CALL GELI(REC,WWV) CALL GELI(REC,WWCP) DO 532,IS = 1,NSOL IF (MARCOD(IS)) THEN CODE = .TRUE. DO 529,1 = 1,DIM IF (.NOT.CODE) GO TO 17 DO 528,K = 1,NEND(IS) 528 IF (MANAM(I).EQ.NAME(EM(IS,K))) GO TO 16 16 IND(I) = K CODE = (K.NE.NEND(IS) + 1) 529 CONTINUE 17 IF (CODE) THEN NMARC(IS) = NMARG(IS) +1 IF (NMARG(IS).GT.MAMAX) THEN WRITE (UNIT=6,FMT=113) MAMAX,lS,NMARG(IS) 113 FORMAT (' MAMAX = ',I5/1X,I5/ : NMARG = ',I5) STOP END IF POLY(IS,NMARG(IS))= POL IF (POLGT.MPOMAX) THEN WRITE (UNIT=6,FMT=114) MPOMAX,IS,POL 114 FORMAT (' MPOMAX = ',l5/1X,I5,' : POL = ',l5) STOP END IF DO 530,1001 =1,EMAX 530 QQ(IS,NMARG(IS),I001) = 0 DO 531,1 = 1,POL INDX(IS,NMARG(IS),l) = lND(IIND(l)) 531 QQ(IS,NMARG(IS),IND(IIND(I))) = QQ(IS,NMARG(IS),IND(IIND(I))) + 1 WH(IS,NMARG(IS)) = WWH WS(IS,NMARG(IS))=WWS WV(IS,NMARG(IS)) = WWV WCP(IS,NMARG(IS)) = WWCP C WG(lS,NMARG(IS)) = WWH+WWCP*(T-T0)-(WWS + DLOG(T/T0)*WWCP)*T+WWV*P IF (PRTLOG(D) WRITE (UNIT= 6,FMT='(1X,A16,": MARGULES-", •"PARAMETER ",10011)') SOLNAM(IS),(IIND(I),I = 1,POL) END IF END IF 532 CONTINUE RETURN END SUBROUTINE CCALC INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX= 150,SOMAX = 20,EMAX = 10,SITMAX = 5, * MAM AX = 31, MPOMAX = 4,CALMAX = 200) -—GLOBAL COMMON BLOCK —COMMON BLOCK FOR G-CALCULATION —END OF COMMON VARIABLES REAL*8 CPRDT,CPRTDT,TD,VD INTEGER*4 1,1001 CPRDT= K1 *(T-T0) + K2*(TT-TT0)/2.0D0 *-K3*(1.0D0AT-1.0D0/T0) + 2D0*K4*(SQT-SQT0) * + K5*(TT*T-TT0*T0)/3.0D0+ K6*DLOG(T7T0) * + K7*(T*SQT-T0*SQT0)*2.0D0/3.0D0 *-K8*(1.0D0/(TT)-1.0D0/(TT0))/2.0D0 * + K9*(TT*TT-TT0*TT0)/4.0D0 CPRTDT=K1*DLOG(T/T0)+K2*(T-T0) *-K3 *(1.0D0/(TT)-1 .ODO/(TTO))/2.0DO *-2D0*K4*(1.0D0/SQT-1.0D0/SQT0) * + K5*(TT-TT0)/2.0D0-K6*(1.0D0/r-1.0D0/T0) * + 2D0*K7*(SQT-SQT0) *-K8*(1.0D0/(TT*T)-1.0D0/(TT0*T0))/3.0D0 * + K9*(TT*T-TT0*T0)/3.0D0 GR=H0R+CPRDT-T*(S0R + CPRTDT) IF (RDK.OR.VDW) THEN CALL GAS ELSE GR = GR + V0R*(P-P0) END IF DO 510,1 = 1,NLANDA 1001=1 510 CALL LANDA(I001) IF (DIS.AND.TD0.NE.0.0D0.AND.TDMAX.NE.0.0D0.AND.T.GT.TD0) THEN TD = DMIN1(T,TDMAX) CPRDT=D1*(TD-TD0) + D2*(TD*TD-TD0*TD0)/2.0D0 *-D3*(1.0D0TD-1.0D0/TD0) + 2D0*D4*(DSQRT(TD)-DSQRT(TD0)) * + D5*(TD**3-TD0**3)/3.0D0 + D6*DLOG(TDATD0) * + D7*(TD*DSQRT(TD)-TDO*DSQRT(TDO))*2.OD0/3.0D0 *-D8*(1.0D0/(TD*TD)-1.0D0/(TD0*TD0))/2.0D0 * + D9*(TD**4-TD0**4)/4.0D0 CPRTDT=D1 *DLOG(TD/TD0) + D2*(TD-TD0) *-D3*(1.0D0/(TD*TD)-1.0D0/(TD0*TD0))/2.0D0 *-2D0*D4*(1.0D0/DSQRT(TD)-1.0D0/DSQRT(TD0)) * + D5*(TD*TD-TD0*TD0)/2.0D0-D6*(1.0D0/TD-1.0D0/TD0) * + 2D0*D7*(DSQRT(TD)-DSQRT(TD0)) *-D8*(1.0D0/(TD**3)-1.0D0/(TD0**3))/3.0D0 * + D9*(TD**3-TD0**3)/3.0D0 IF (DABS(VADJ).GT.10.0D0) THEN VD = CPRDT/(10.0D0*VADJ) ELSE VD = 0.0D0 END IF GR = GR + CPRDT-(T*CPRTDT) + VD*(P-1.0D0) END IF 182 RETURN END C SUBROUTINE GAS INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX= 10,SITMAX = 5, *MAMAX = 31,MPOMAX = 4,CALMAX = 200) C GLOBAL COMMON BLOCK C COMMON BLOCK FOR G-CALCULATION REAL*8 AA,BB,DGGAS COMMON /GORE/ AA,BB,DGGAS C—-END OF COMMON VARIABLES REAL*8 KUB,KUC,KUD,OFT,VREF,VOL/VGAS,VFL,X1,X2,X2I,X3,F001 AA = AAO+T*AAT BB = BBO+T*BBT IF (PGAS.LE.0.0D0) THEN WRITE (UNIT = 6,FMT = '(" PGAS = ",F8.2)') PGAS STOP END IF IF (RDK) THEN OFT=P0*SQT KUB = -10.0DO*RT/P0 KUC = AA/OFT-BB*BB + BB*KUB KUD = -AA*BB/OFT END IF IF (VDW) THEN KUB = -BB-10.0D0*RT/P0 KUC = AA/P0 KUD = -AA*BB/PO END IF CALL KUBIK(KUB,KUC,KUD,X1,X2,X2I,X3) IF (X2I.NE.O.OD0) THEN VREF = X1 ELSE VREF=DMAX1(X1,X2,X3) END IF IF (RDK) THEN OFT=PGAS*SQT KUB = -10.0D0*RT/PGAS KUC = AA/OFT-BB*BB + BB*KUB KUD = -AA*BB/OFT END IF IF (VDW) THEN KUB = -BB-10.0D0*RT/PGAS KUC = AA/PGAS KU D = -AA * B B/PG AS END IF CALL KUBIK(KUB,KUC,KUD,X1,X2,X2I,X3) IF (X2I.NE.0.0D0) THEN VOL = X1 ELSE VGAS = DMAX1 (X1 ,X2,X3) VFL=DMIN1(X1,X2,X3) 183 DGGAS = -1D0 F001 = PGAS IF (VFL.GT.BB) CALL DELCAS(VFL,VCAS,PCAS;F001) IF (DGGAS.GT.O.ODO) THEN LIQ = .TRUE. VOL = VFL ELSE VOL=VGAS END IF END IF CALL DELGAS(VREF,VOL,PO,PGAS) GR=GR+DGGAS RETURN END C-— **************************** * SUBROUTINE DELGAS(V1,V2,P1,P2) INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX= 10,SITMAX= 5, *MAMAX = 31,MPOMAX = 4,CALMAX = 200) C-—GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR G-CALCULATION REAL*8 AA,BB,DGGAS COMMON /GORE/ AA,BB,DGGAS C-—END OF COMMON VARIABLES REAL*8 V1,V2,P1,P2 IF (RDK) DGGAS = V2*P2-V1*P1-10*RT*DLOG((V2-BB)/(V1-BB)) * + (AA/(SQT*BB))*DLOG(V2*(V1+BB)/(V1*(V2 + BB))) IF (VDW) DGCAS=V2*P2-V1*P1-10*RT*DLOG((V2-BB)/(V1-BB)) *-AA*(1.OA/2-1.OA/1) DGGAS = DGGAS/10.0 RETURN END C-— **************************** * SUBROUTINE KUBIK(B,C,D,X1,X2,X2I,X3) REAL*8 B,C,D,Q,P,R,PI,PHI3,FF,X1,X2,X2I,X3 PI = 3.14159263538979D0 IF (C.EQ.0.0D0.AND.D.EQ.0.0D0) THEN X1=-B X2 = 0.0D0 X2I = 0.0D0 X3 = 0.0D0 RETURN END IF Q = ((2.D0*B*B*B)/(27.D0)-(B*C)/(3.D0) + D)/2.D0 P = (3.D0*C-B*B)/(9.D0) FF=DABS(P) R = DSQRT(FF) FF=R*Q IF (FF.LT.0.0D0) R = -R FF = Q/(R*R*R) IF (P.GT.0.0D0) THEN PHI3 = DLOG(FF+DSQRT(FF*FF+1.D0))/3.D0 184 X1=-R*(DEXP(PHI3)-DEXP(-PHI3))-B/(3.D0) X2I = 1D0 ELSE IF (Q*Q + P*P*P.GT.0.0D0) THEN PHI3 = DLOG(FF + DSQRT(FF*FF-1.D0))/3.D0 X1=-R*(DEXP(PHI3)+DEXP(-PHI3))-B/(3.D0) X2I = 1D0 ELSE PHI3 = DATAN(DSQRT(1.D0-FF*FF)/FF)/3.D0 X1 = -2.D0*R*DCOS(PHI3)-B/(3.D0) X2 = 2.D0*R*DCOS(PI/3.D0-PHI3)-B/(3.D0) X2I = 0.0D0 X3 = 2.D0*R*DCOS(PI/3.D0 + PHI3)-B/(3.D0) END IF END IF RETURN END SUBROUTINE LANDA(K) INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX= 150,SOMAX = 20,EMAX= 10,SITMAX= 5, *MAMAX= 31,MPOMAX=4,CALMAX= 200) C GLOBAL COMMON BLOCK C COMMON BLOCK FOR G-CALCULATION C END OF COMMON VARIABLES REAL*8 AI^BI^CI^DI^CTRjgjRg^HSP^DSSP^CSPK, *AASP,ABSP,CCTR,TEQK INTEGER*4 K TEQK = TEQ(K)*(P-1.0D0) + TQ1B(K) CTR=TQ1B(K)-TEQK TR9=TRE(K)-CTR IF (T.GT.TEQK) THEN T9=TEQK ELSE T9 = T END IF D11=BSPK(K)*BSPK(K) AASP = ASPK(K)*ASPK(K) ABSP = ASPK(K)*BSPK(K) CCTR = CTR*CTR A11=AASP*CTR + 2.0D0*ABSP*CCTR + D11*CCTR*CTR B11=AASP + 4.0D0*ABSP*CTR+3.0D0*D11*CCTR C11 = 2.0D0*ABSP+3.0D0*CTR*D11 DHSPK = A11 *(T9-TR9) + B11 *(T9*T9-TR9*TR9)/2.0D0 * + C11 *(T9* *3-TR9* *3)/3.0D0 + D11 *(T9* *4-TR9* *4)/4.0D0 DSSPK=A11*(DLOG(T9)-DLOG(TR9)) + B11*(T9-TR9) + +C11*(T9*T9-TR9*TR9)/2.0D0 + D11*(T9**3-TR9**3)/3.0D0 IF ((T9 + CTR).LT.298.15D0) THEN DHSPK = O.OD0 DSSPK = O.OD0 END IF GSPK= DHSPK-T9*DSSPK IF (T.GT.TEQK) GSPK=GSPK-(DHTR(K)/TQ1B(K) + DSSPK)*(T-TEQK) GSPK=GSPK+DVDT(K)*(P-1.0D0)*(T9-298.15D0) * + (DVDP(K)/2.0DO)*(P*P-1.0DO)-DVDP(K)*(P-1.0DO) GR=GR + GSPK RETURN END C—--SUBROUTINE DASAVE(N) 1NTEGER*4 CALM AX, COM AX, EMAX, MAMAX,MPOMAX, PHMAX,SITMAX, SOM AX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX = 10,SITMAX= 5, *MAMAX=31,MPOMAX = 4,CALMAX = 200) C-—COMMON BLOCK FOR SAVING INPUT DATA C—-COMMON BLOCK FOR G-CALCULATION C END OF COMMON VARIABLES INTECERM N,I,J INDATA(1,N) = NLANDA INDATA(2,N)=NCOM DO 500,1 = 1,10 500 INDATA(l + 2,N) = ICOM(l) C-— REDATA(1,N) = C0R REDATA(2,N) = H0R REDATA(3,N) = S0R REDATA(4,N) = V0R REDATA(5,N) = AA0 REDATA(6,N) = AAT REDATA(7,N) = BB0 REDATA(8,N) = BBT REDATA(9,N) = K1 REDATA(10,N) = K2 REDATA(11,N)=K3 REDATA(12,N) = K4 REDATA(13,N) = K5 REDATA(14,N) = K6 REDATA(15,N) = K7 REDATA(16,N) = K8 REDATA(17,N) = K9 DO 600,1 = 1,4 J = 9*(l-1) REDATA(J + 18,N) = ASPK(I) REDATA(J +19,N) = BSPK(I) REDATA(J + 20,N) = TQ1 B(l) REDATA(J + 21,N) = TEQ(I) REDATA(J + 22,N) = DVDT(I) REDATA(J + 23,N) = DVDP(I) REDATA(J + 24,N)=TRE(I) REDATA(J + 25,N) = DHTR(I) 600 REDATA() + 26,N)=DVTR(I) REDATA(54,N) = TD0 REDATA(55,N) = TDMAX REDATA(56,N) = VADJ REDATA(57,N) = D1 REDATA(58,N) = D2 REDATA(59,N) = D3 REDATA(60,N) = D4 REDATA(61,N) = D5 REDATA(62,N) = D6 REDATA(63,N) = D7 REDATA(64,N) = D8 REDATA(65,N) = D9 DO 610,1 = 1,10 610 REDATA(l + 65,N) = FFCOM(l) C-— CHDATA(N) = CASE C LODATA(1,N)= RDK LODATA(2,N)=VDW LODATA(3,N) = SPC LODATA(4,N) = COM LODATA(5,N) = DIS RETURN END C-— SUBROUTINE DAREST(N) INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX = 10,SITMAX = 5, *MAMAX = 31,MPOMAX = 4,CALMAX=200) C—-COMMON BLOCK FOR SAVING INPUT DATA C—COMMON BLOCK FOR G-CALCULATION C END OF COMMON VARIABLES INTEGERM N,I,J NLANDA=INDATA(1,N) NCOM = INDATA(2,N) DO 500,1 = 1,10 500 lCOM(l) = INDATA(I + 2,N) C G0R = REDATA(1,N) H0R = REDATA(2,N) S0R = REDATA(3,N) V0R=REDATA(4,N) AA0 = REDATA(5,N) AAT=REDATA(6,N) BB0 = REDATA(7,N) BBT=REDATA(8,N) K1=REDATA(9,N) K2 = REDATA(10,N) K3 = REDATA(11,N) K4 = REDATA(12,N) K5 = REDATA(13,N) K6 = REDATA(14,N) K7=REDATA(15,N) K8 = REDATA(16,N) K9 = REDATA(17,N) DO 600,1 = 1,4 ] = 9*(l-1) ASPK(I) = REDATA(J +18,N) BSPK(I) = REDATA(] +19,N) TQ1 B(l) = REDATAO + 20,N) TEQ(I) = REDATA(J + 21,N) DVDT(I)=REDATA(J + 22,N) DVDP(l) = REDATA(J + 23,N) TRE(I) = REDATA(J + 24,N) DHTR(I) = REDATAO + 25,N) 600 DVTR(I) = REDATA(J + 26,N) TD0 = REDATA(54,N) TDMAX = REDATA(55,N) VADJ = REDATA(56,N) D1=REDATA(57,N) D2 = REDATA(58,N) D3 = REDATA(59,N) D4 = REDATA(60,N) D5 = REDATA(61,N) D6 = REDATA(62,N) D7 = REDATA(63,N) D8 = REDATA(64,N) D9 = REDATA(65,N) DO 610,1 = 1,10 610 FFCOM(l) = REDATAO + 65, N) C-~-CASE = CHDATA(N) C RDK=LODATA(1,N) VDW=LODATA(2,N) SPC = LODATA(3,N) COM = LODATA(4,N) DIS = LODATA(5,N) RETURN END C—--SUBROUTINE CALSTR INTECER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX= 150,SOMAX = 20,EMAX = 10,SITMAX = 5, *MAMAX = 31,MPOMAX = 4,CALMAX = 200) C-—COMMON BLOCK FOR DATABASE C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGERS N,l DO 500,N = 1,NPHA DO 600,1 = 1,NUN 600 X(N,I) = XX(N,I) NN(N) = 0.0D0 CC(N) = CGK(N) G(N) = CGK(N) NUMMER(N) = N EMCODE(N) = 0 IF (NULL(N)) THEN SUCC(N) = -N ELSE SUCC(N) = N END IF DO 605,1 = 1,EMAX 605 XEM(N,l) = 0.0D0 500 CONTINUE DO 505,N = 1,NUN SUCG(N) = -N 505 NN(N) = BULK(N) SUGNR = NPHA RETURN END C-—-SUBROUTINE PRININ INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX= 22,PHMAX= 150,SOMAX = 20,EMAX = 10,SITMAX= 5, *MAMAX=31,MPOMAX = 4,CALMAX = 200) C GLOBAL COMMON BLOCK C COMMON BLOCK FOR DATABASE C-—COMMON BLOCK FOR G-CALCULATION C-—COMMON BLOCK FOR THERIAK C—-END OF COMMON VARIABLES INTEGER*4 l,ll,IE,IS,IL00,IL02,N REAL*8 NNPC,SUMME CHARACTER*250 CH001 CHARACTER* 170 MODEL1,MODEL2 CHARACTER*20 MODEL0 WRITE (UNIT=6,FMT=120) P,PGAS,TC,T WRITE (UNIT=7,FMT=120) P,PGAS,TC,T 120 FORMAT ('1P =',F9.2,' bar P(Gas) =',F9.2,' bar T =', *F8.2,' C = ',F8.2,' K') IF (PRTLOG(2)) THEN WRITE (UNIT=6,FMT=119) WRITE (UNIT=7,FMT=119) 119 FORMAT('0COMPOSITION:',8X,'N',10X,'MOL%7' ') SUMME = 0.0 DO 540,1 = 1,NUN 540 SUMME = SUMME + DABS(NN(l)) DO 541,1 = 1,NUN NNPC = (NN(I)/SUMME)*100. WRITE (UNIT=6,FMT=121) l,CHNAME(l),NN(l),NNPC WRITE (UNIT = 7,FMT=121) l,CHNAME(l),NN(l),NNPC 121 FORMAT (1X,I3,2X,A8,1X,F11.6,2X,F11.6) IF (CHNAME(I)(5:6).EQ.' ') THEN CH = CHNAME(I) CHNAME(I) = ' 7/CH END IF 541 CONTINUE END IF IF (PRTLOG(3)) THEN I001=MIN0(15,NUN) WRITE (UNIT=6,FMT=122) (CHNAME(I),I = 1,I001) WRITE (UNIT=7,FMT=122) (CHNAME(I),I = 1,I001) 122 FORMAT ('0CONSIDERED PHASES:',15X,'C',7X,15(A5,1X)) DO 542,1001 =16,NUN,15 WRITE (UNIT=7,FMT=123) (CHNAME(I),I = I001,MIN0(I001+14,NUN)) 542 WRITE (UNIT=6,FMT=123) (CHNAME(I),I = I001,MINO(I001+ 14,NUN)) 123 FORMAT (42X,15(A5,1X)) WRITE (UNIT = 6,FMT='(" ")') WRITE (UNIT=7,FMT='(" ")') DO 545,K=1,NPHA WRITE (UNIT = CH001,FMT=124) K,NAME(K),GG(K) 124 FORMAT (1X,I3,2X,A16,1X,':',2X,F13.2) DO 544,1001 =1,NUN,15 DO 543,I = I001,MIN0(I001+14,NUN) I002 = 42 + MOD(I-1,15)*6 IF (XX(K,l).EQ.0.0) THEN WRITE (UNIT=CH001(I002+3:),FMT='("-")') ELSE WRITE (UNIT=CH001(I002:),FMT='(F6.2)') XX(K,I) END IF 543 CONTINUE WRITE (UNIT = 6,FMT='(A133)') CH001 WRITE (UNIT=7,FMT='(A133)') CH001 544 CH001=' ' 545 CONTINUE END IF IF (PRTLOG(4)) THEN IF (NSOL.NE.0) THEN WRITE (UNIT=6,FMT='("0SOLUTION PHASES:")') WRITE (UNIT = 7,FMT = '("0SOLUTION PHASES:")') END IF DO 600,IS = 1,NSOL WRITE (UNIT = CH001,FMT=130) IS,SOLNAM(IS) 130 FORMAT ('0',I3,2X,A16,' :',12X,'SOLUTION MODELL: ') IF (MODELL(IS).EQ.'I') WRITE (UNIT = CH001(54:),FMT=131) 131 FORMAT ('IDEAL ONE SITE MIXING') IF (MODELL(IS).EQ.'S') WRITE (UNIT = CH001(54:),FMT=132) NSITE(IS) 132 FORMAT ("'IDEAL"',I3,' SITE MIXING') IF (MODELL(IS).EQ.'F') WRITE (UNIT = CH001(54:),FMT=133) 133 FORMAT ('FROM EXTERNAL SUBROUTINE') IF (NMARG(IS).NE.O) THEN DO 550,1001=250,1,-1 550 IF (CH001(I001:I001).NE.' ') GO TO 20 20 WRITE (UNIT = CH001(I001+2:),FMT=134) 134 FORMAT ('+ MARGULES TYPE EXCESS FUNCTION') END IF WRITE (UNIT = 6,FMT = '(A133)') CH001 WRITE (UNIT=7,FMT = '(A133)') CH001 CH = ' ' 1001 = lNDEX(SOLNAM(IS),' ') DO 551,1002 = 1,1001-1 551 CH(I002:I002) = '-' WRITE (UNIT=6,FMT='(6X,A16)') CH WRITE (UNIT=7,FMT = '(6X,A16)') CH DO 599,IE = 1,NEND(1S) MODEL1 =' ' MODEL2 = ' ' MODEL0 = 'A(7/ABK(EM(IS,IE)) I001 = INDEX(MODELO,' ') MODELO(I001:) = ') =' lL00 = l001+2 IF (MODELL(IS).EQ.'I') THEN MODEL2 = 'X('//MODEL0(3:IL00-2) IL02 = IL00-2 WRITE (UNIT = CH,FMT = '(F15.0)') SITMUL(IS,1) CALL FIBLA(CH,1001) I002 = INDEX(CH/.') CH(I002:) = ALPDIV(IS) I002 = I002 + INDEX(ALPDIV(IS)/ ')-1 IF (CH(I001-1:I002).NE.' 1 ') THEN MODEL1(IL02 + 1:) = CH(I001:1002-1) IL02 = IL02 + (I002-I001) END IF END IF IF (MODELL(IS).EQ.'S') THEN IL02 = 0 DO 552,1 = 1,NSITE(IS) MODEL2(IL02 + 1:) = '[' 1L02 = IL02 + 1 DO 553,11 = 1,NEQEM(lS,IE,l) MODEL2(IL02 + 1:) = ' X(7/ABK(EM(IS,EQEM(IS,IE,I,II))) I001=INDEX(MODEL2(IL02 + 1:),' ') IL02 = IL02 + I001-1 MODEL2(IL02 + 1:) = ') +' IL02 = IL02 + 3 553 CONTINUE MODEL2(IL02:) = ']' WRITE (UNIT = CH,FMT='(F16.0)') SITMUL(IS,I) CALL FIBLA(CH,I001) I002 = INDEX(CH,'.') CH(I002:) = ALPDIV(IS) I002 = I002 + INDEX(ALPDIV(IS),' ')-1 IF (CH(I001-1:I002).NE.' 1 ') THEN MODEL1(IL02 + 1:) = CH(I001:I002-1) IL02 = IL02 + (I002-I001) + 1 END IF 552 CONTINUE END IF IF (MODELL(IS).EQ.'F') THEN DO 554,1 = 1,NEMBAS(IS) 1001=1 554 IF (EMBCOD(IS,l).EQ.IE) CO TO 21 21 CONTINUE CALL SOLMOD(SOLNAM(IS),I001 ,MODEL2) IL02 = INDEX(MODEL2,' ')-1 END IF DO 555,1 = 1,IL02,85 K = MIN0(85,IL02-I + 1) N = IL00 + 37 CH001=' ' WRITE (UNIT=CH001(N + 1:),FMT = '(A85)') MODEL1(l:) WRITE(UNIT = 6,FMT='(A133)') CH001 WRITE(UNIT=7,FMT='(A133)') CH001 191 CH001=' ' IF (I.EQ.1) THEN WRITE (UNIT=CH001,FMT=135) IE,NAME(EM(IS,IE)),EM(IS,IE), *MODEL0(l:) 135 FORMAT (6X,I3,2X,A16,1X,'(',I3,')',3X,A15) END IF WRITE (UNIT=CH001(N + 1:),FMT = '(A85)') MODEL2(l:) WRITE(UNIT=6,FMT = '(A133)') CH001 WRITE(UNIT=7,FMT = '(A133)') CH001 555 CONTINUE 599 CONTINUE IF (NMARC(IS).CT.O) WRITE (UNIT = CH001,FMT=136) 136 FORMAT ('0',5X,'MARGULES PARAMETERS:') DO 558,1001 = 1,NMARG(IS),3 DO 557,1 = 1001,MIN00001 +2,NMARG(IS)) I002 = 30 + MOD(I-1,3)*28 CH001(I002:I002 + 1) = 'W(' 1002 = 1002 + 2 DO 556,K=1,POLY(IS,l) WRITE (UN1T=CH001(I002:I002),FMT = '(I1)') INDX(IS,l,K) 556 1002 = 1002 + 1 WRITE (UNIT=CH001(I002:),FMT=137) WG(IS,I) 137 FORMAT (') =',F13.2) 557 CONTINUE WRITE (UNIT=6,FMT = '(A133)') CH001 WRITE (UNIT=7,FMT = '(A133)') CH001 558 CH001=' ' WRITE (UNIT=6,FMT = '("0")') WRITE (UNIT=7,FMT = '("0")') 600 CONTINUE END IF RETURN END C—--Q^* **************************** * SUBROUTINE THERIA INTEGERM CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX= 20,EMAX = 10,SITMAX= 5, *MAMAX = 31 ,MPOMAX = 4,CALMAX = 200) C-—GLOBAL COMMON BLOCK C—-COMMON BLOCK FOR THERIAK C END OF COMMON VARIABLES INTEGER*4 GNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DlSTA,CSOL,GTEST,GTOT, >MINCOM(SOMAX+ 1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOMAX +1, EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ D E LTAX, D E LXXX, DI ST A, G SO L, GTEST, GTOT, MIN COM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGER*4 l,ll,IX,l001,K,LOO2 REAL*8 FF,FX,SUMME CHARACTER*20 CH LOGICAL*4 CODE NMAX=NPHA GTOT=100.0D0 GTEST= DABS(TEST) TRY=1 IF (LO1MAX.LT.0) THEN GTEST=-100.D0 L01MAX = -L01MAX END IF IF (NMAX.GT.CALMAX) THEN WRITE (UNIT=6,FMT=142) CALMAX,NMAX 142 FORMAT (' CALMAX = ',I5/' NMAX = ',I5) STOP END IF DO 500,1 = 1,NUN IF (NN(I).EQ.O.ODO) THEN DO 502,II = NUN + 1,NMAX IF (X(ll,l).NE.0.OD0) G(II) = 1D25 502 CONTINUE END IF 500 CONTINUE DO 650,LOOl=1,LO1MAX IF (GTOT.LE.GTEST) THEN TRY = TRY +1 IF (TRY.GT.2) CO TO 25 DO 410,1 = 1,NSOL 410 STEM(I) = 1 END IF IF (TEST.LT.0.0D0) THEN WRITE (UNIT=6,FMT='(" ")') WRITE (UNIT=7,FMT='(" ")') END IF IF (L001.CT.1) THEN CALL ADDPH ELSE DO 400,1 = 1,NUN 400 G(I) = 1D20 END IF DO 602,1 = 1,NUN IX=I FX=DABS(X(I,I)) DO 601,11 = 1 + 1,NUN IF (DABS(X(ILD).GT.FX) THEN IX = II FX = DABS(X(II,I)) END IF 601 CONTINUE 1001=1 IF (IX.NE.l) CALL COLCHC(1001,IX) 602 CALL REDUCE(I001) CODE = .TRUE. DO 640,LOO2 = 1,25 IF (.NOT.CODE) GO TO 24 CODE = . FALSE. DO 630,K = (NUN + 1),NMAX IF (SUCG(K).LT.O) GOTO 630 SUMME = OD0 DO 603,11 = 1,NUN 603 SUMME = SUMME + G(II)*X(K,II) IF (SUMME-G(K).CT.ODO) THEN DO 604,1 = 1,NUN 604 IF (X(K,I).GT.0D0) CO TO 23 23 IF (I.LT.NUN + 1) THEN FX = NN(I)/X(K,I) IX = I DO 605,I=(IX + 1),NUN IF (X(K,I).GT.0D0) THEN FF = NN(I)/X(K,I) IF (FF.LT.FX) THEN FX = FF IX=I END IF END IF 605 CONTINUE DO 606,1 = 1,NUN 606 NN(I) = NN(I)-FX*X(K,I) NN(K) = FX NN(IX) = OD0 1001 =K CALL COLCHG(K,IX) CALL REDUCE(IX) CODE = .TRUE. END IF END IF 630 CONTINUE 640 CONTINUE 24 GTOT = 0.0D0 DO 641,1 = 1,NUN 641 GTOT = GTOT+DABS(G(l)) CALL CLEAN IF (TEST.LT.0.0D0) THEN l001 = LOO2-1 CH = ' ' WRITE (UNIT=6,FMT=150) LOO1,l001,GTOT,CH WRITE (UNIT=7,FMT=150) LOO1,l001,GTOT,CH 150 FORMAT (' LOOT =',I4,4X,'L002 =',I4,4X,'G(-) =',1PE12.5,2X,A17) CALL PRTSTR(1,NUN) END IF 650 CONTINUE 25 CALL PRTCAL RETURN END C—-SUBROUTINE CLEAN INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22, PH MAX = 150,SOMAX = 20,EMAX = 10,SITMAX= 5, * MAM AX = 31 ,MPOMAX = 4,CALMAX = 200) C GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTECERM CNOM/LOCMIN(SOMAX+1 ),LOMIN1(SOMAX +1 ),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA/CSOL,CTEST,GTOT, >MINCOM(SOMAX + 1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOMAX +1 ,EMAX) COMMON /TOIN/ GNOM,LOCMlN,LOMlN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,GTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGERS K,li IF (L001.EQ.1) THEN DO 500,K=1,NMAX 500 IF (SUGG(K).LT.O) C(K) = 0.0D0 GTOT=100.0D0 END IF DO 501,K = (NUN + 1),NMAX DO 501,11 = 1,NUN 501 G(K) = G(K)-X(K,II)*G(II) DO 502,K=1,NUN 502 G(K) = 0.0D0 DO 503,11 = 1,NSOL LOMIN1(ll) = LOCMIN(ll) LOCMIN(II) = 0 503 STEM(II) = 0 K = 1 1001 IF (K.CT.NMAX) CO TO 1 IF (NUMMER(K).CT.O) THEN IF (EMSOL(NUMMER(K)).CT.0.AND.K.LE.NUN) * STEM(EMSOL(NUMMER(K))) = STEM(EMSOL(NUMMER(K))) +1 DO 504,11 = 1,NUN 504 X(K,II) = XX(NUMMER(K),II) CC(NUMMER(K)) = C(K) ELSE IF (K.GT.NUN.AND.(GTOT.GT.GTEST.OR.TRY.EQ.D) THEN IF (NUMMER(K).EQ.O) THEN CALL COLCHC(K,NMAX) N MAX = N M AX-1 K=K-1 END IF ELSE CALL XSOL(K) IF (K.LE.NUN) THEN LOCMIN(EMCODE(K))= LOCMIN(EMCODE(K)) +1 DXLAST(EMCODE(K),LOCMIN(EMCODE(K))) = DELXXX(K) DO 505,11 = 1,NEND(EMCODE(K)) 505 MINCOM(EMCODE(K),LOCMIN(EMCODE(K)),ll) = XEM(K,ll) END IF END IF END IF K=K+1 GO TO 1001 1 RETURN END 195 C-— Q* **************************** * SUBROUTINE ADDPH INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22, PHMAX= 150,SOMAX = 20,EMAX= 10,SITMAX = 5, t *MAMAX = 31,MPOMAX = 4,CALMAX = 200) C—-'-GLOBAL COMMON BLOCK C COMMON BLOCK FOR THERIAK C—-END OF COMMON VARIABLES INTEGERS GNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX+1),NMAX, > STEM(SOM AX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, >MINCOM(SOMAX+1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOMAX +1, EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,GTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGER*4 IS,I1,START,I001,I002 DO 502,IS = 1,NSOL 1001 =IS IF (NMARG(IS).GT.0.OR.MODELL(IS).NE.'l') THEN IF (STEM(IS).EQ.0.AND.LOMIN1(IS).EQ.LOCMIN(IS)) THEN I1=M1NO(1,LOCMIN(IS)) ELSE I1=-NEND(IS) END IF DO 501,START=I1,LOCMIN(IS) GNOM=0 1002 = START CALL MARMIN(I001,I002) 501 CALL NEWPH(IOOI) ELSE CALL MINGCI001) CALL NEWPH(I001) END IF 502 CONTINUE RETURN END C-— (2* **************************** * SUBROUTINE NEWPH(IS) 1NTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX=10,SITMAX=5, *MAMAX = 31,MPOMAX = 4,CALMAX = 200) C GLOBAL COMMON BLOCK C COMMON BLOCK FOR THERIAK C—END OF COMMON VARIABLES INTEGER*4 GNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX + 1),NMAX, > STEM(SOM AX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, > Ml NCOM(SOMAX +1, EMAX, EMAX),MU E(EMAX), VEKTOR(EMAX),XXEM(EMAX), > DXEND,DXLAST(SOMAX +1,EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,GTEST,GTOT,MINCOM, > MUE,VEKTOR,XXEM, DXEND, DXLAST INTEGERS IS,I NMAX = NMAX+1 SUCNR=SUGNR+1 IF (NMAX.GT.CALMAX) THEN WRITE (UNIT=6,FMT=100) CALMAX,NMAX 100 FORMAT (' CALMAX = ',I5/' NMAX = ',I5) STOP END IF NN(NMAX) = 0.0D0 G(NMAX) = GSOL NUMMER(NMAX) = 0 EMCODE(NMAX) = lS DELXXX(NMAX)= DXEND DO 501,I = 1,NEND(IS) 501 XEM(NMAX,I) = XXEM(I) SUGG(NMAX) = SUGNR CALL XSOL(NMAX) l = NMAX IF (TEST.LT.0.0D0) CALL PRTSTR(NMAX,I) RETURN END C-— Q-***************************** * SUBROUTINE XSOL(K) INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX=10,SITMAX=5, *MAMAX = 31,MPOMAX = 4,CALMAX=200) C-—GLOBAL COMMON BLOCK C COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGERS GNOM,LOCMIN(SOMAX + 1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, >MINCOM(SOMAX + 1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX)/ > DXEND,DXLAST(SOMAX+1 ,EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,CTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGER*4 l,K,N DO 501,N = 1,NUN X(K,N) = 0.0D0 DO 501,I = 1,NEND(EMCODE(K)) X(K,N) = X(K,N) + XEM(K,l)*XX(EM(EMCODE(K),l),N) 501 CONTINUE RETURN END C f^* **************************** * SUBROUTINE MING(IS) INTEG ER * 4 CALM AX, COMAX, EMAX, M AMAX, MPOM AX, PHM AX, SITM AX, SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX = 10,SITMAX = 5, * MAM AX = 31 ,M POMAX = 4, C ALMAX = 200) C—-GLOBAL COMMON BLOCK C COMMON BLOCK FOR THERIAK C END OF COMMON VARIABLES INTECERM GNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX+1),NMAX, > STEM(SOM AX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),D1STA,GSOL,GTEST,GTOT, >MINCOM(SOMAX+1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOM AX +1, EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DlSTA,GSOL,CTEST,CTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGERS IS,I REAL*8 CMIN,SUMME,RTA RTA=RT*ALPHA(lS) CMIN = CC(EM(IS,1)) DO 501,I = 2,NEND(IS) 501 GMIN = DMIN1(GMIN,GG(EM(1S,I))) SUMME = 0.0D0 DO 502,1 = 1,NEND(IS) XXEM(I) = 1D0/DEXP(DMIN1(150D0,(CC(EM(IS,I))-GMIN)/(RTA))) 502 SUMME = SUMME + XXEM(I) DO 503,1 = 1,NEND(IS) 503 XXEM(I) = XXEM(I)/SUMME CSOL = 0.0D0 DO 504,1 = 1,NEND(IS) 504 GSOL = CSOL + XXEM(l)*CC(EM(!S,l)) + RTA*XXEM(l)*DLOC(XXEM(I)) RETURN END C **************************** * SUBROUTINE MARMIN(IS,START) INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX= 20,EMAX= 10,SITMAX= 5, *MAMAX= 31 ,MPOMAX = 4,CALMAX= 200) C-—GLOBAL COMMON BLOCK C COMMON BLOCK FOR THERIAK C—-END OF COMMON VARIABLES INTEGER*4 GNOM,LOCMIN(SOMAX+1 ),LOMIN1(SOMAX+1 ),NMAX, > STEM(SOMAX +1 ),TRY REAL* 8 D E LTAX, D ELXXX( 0: CALM AX), DI STA, G SO L, GTEST, GTOT, >MINCOM(SOMAX+ 1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOMAX +1, EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,CTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGER*4 l,IS,START,STEP,STEP2,NSTEP,L3,L1,ll,1001,1002 REAL*8 XXSC(EMAX),GSC,XXX(3,EMAX),GGG(3),AR001(EMAX), *AR002(EMAX),SUMME,F001,FN,FF,FX CHARACTER* 133 CH001 IF (START.EQ.0) THEN DO 501,I = 1,(NEND(IS)-1) 501 XXSC(l) = 0.0D0 XXSC(NEND(IS)) = 1.0D0 GSOL = GG(EM(IS,NEND(IS))) DO 502,1001 =1,NEND(IS) 502 XXEM(I001) = XXSC(I001) SUMME = 0.0D0 1001 XXSC(NEND(IS)-1) = XXSC(NEND(IS)-1) + DXSCAN SUMME = SUMME + DXSCAN XXSC(NEND(IS)) = 1.0D0-SUMME DO 503,I = (NEND(IS)-1),2,-1 IF (XXSC(NEND(IS)).GE.0.0D0) CO TO 1 XXSC(I-1) = XXSC(I-1) + DXSCAN SUMME = SUMME + DXSCAN DO 504,II = I,(NEND(IS)-1) SUMME = SUMME-XXSC(I) 504 XXSC(l) = 0.0D0 503 XXSC(NEND(IS)) = 1.0D0-SUMME 1 IF (XXSC(NEND(IS)).LT.0.0D0) THEN GO TO 10 ELSE CALL CNONID(IS,XXSC,GSC) IF (GSC.LT.GSOL) THEN DO 505,1001 =1,NEND(IS) 505 XXEM(I001) = XXSC(I001) GSOL = GSC END IF END IF GO TO 1001 10 DELTAX= DXSTAR NSTEP = STPSTA END IF IF (START.LT.0) THEN II =-START DO 701,I = 1,NEND(IS) 701 XXEM(l)=0.0D0 XXEM(II)=1.0D0 GSOL = GG(EM(IS,ll)) DELTAX= DXSTAR NSTEP = STPSTA END IF IF (START.GT.0) THEN DO 506,1 = 1,NEND(IS) 506 XXEM(l) = MINCOM(IS,START,l) GSOL = 0.0D0 DELTAX = DXLAST(IS,START) NSTEP = STPMAX END IF IF (TEST.LT.0.ODO) THEN WRITE (UNIT=CH001,FMT=100) DELTAX 100 FORMAT (' START: DELTAX = ',1PE12.5) DO 512,1001 =1,NEND(IS),10 DO 511,I = I001,MIN0(I001 +9,NEND(IS)) I002 = 34 + MOD(I-1,10)*10 511 WRITE (UNIT = CH001(I002:),FMT = '(F8.6)') XXEM(l) WRITE (UNIT = 6,FMT = '(A133)') CH001 WRITE (UNIT=7,FMT='(A133)') CH001 512 CH001=' ' END IF DO 513,1 = 1,NEND(IS) 513 XXX(1,I) = XXEM(I) CCC(1) = CSOL LI =1 IF (TRY.GT.LAND.CTOT.LE.CTEST) NSTEP=500 DO 516,STEP=1,MIN0(2,NSTEP) DO 514,1001 = 1,NEND(IS) 514 AR002(I001)=XXX(STEP,I001) CALL MUECAL(IS,AR002) CALL STEEP(IS) L1=STEP+1 CALL ETC(IS,AR002,GGG(STEP),AR001,GGG(L1)) DO 515,1001 =1,NEND(IS) 515 XXX(L1,I001) = AR001(I001) 516 CONTINUE DO 525,STEP = 3,NSTEP IF. (DELTAX.LE.DXMIN) GO TO 15 L3 = MOD(STEP-1,3) + 1 L1=MOD(STEP,3)+1 DO 517,1001 =1,NEND(1S) AR001(I001) = XXX(L1,I001) 517 AR002(I001) = XXX(L3,I001) CALL MUECAL(IS,AR002) GSC = 0.0D0 DO 518,1 = 1,NEND(IS) 518 GSC = GSC + MUE(I)*XXX(L1,I) CALL DISTAN(IS,AR001,AR002) DELTAX = DISTA IF (DELTAX.GT.DXMIN) THEN IF (GSC.LT.GGG(L3)) THEN CALL STEEP(IS) DELTAX = DELTAX/2.0D0 ELSE SUMME = 0.0D0 DO 519,1 = 1,NEND(IS) VEKTOR(l) = XXX(L3,l)-XXX(L1,l) 519 SUMME = SUMME + VEKTOR(l)*VEKTOR(l) SUMME = DSQRT(SUMME) IF (SUMME.GT.0.0D0) THEN DO 520,1 = 1,NEND(IS) 520 VEKTOR(l)=VEKTOR(l)/SUMME END IF END IF CALL ETC(IS,AR002,GGG(L3),AR001,GGG(L1)) DO 521,1001 =1,NEND(1S) 521 XXX(L1,I001) = AR001(I001) END IF 525 CONTINUE 15 CALL D1STAN(IS,AR001,XXEM) STEP2 = 0 IF (DISTA.LT.DXMIN) THEN DELTAX = DXSTAR STEP = 2-STEP FN = NEND(IS) 200 FX=DSQRT((FN-1.0D0)/FN) FF=-DSQRT(1.0DO/(FN*(FN-1.0DO))) DO 526,1 = 1,NEND(IS) 526 VEKTOR(i) = FF DO 530,STEP2 = 1,NEND(IS) IF (STEP2.NE.1) VEKTOR(STEP2-1) = FF VEKTOR(STEP2) = FX F001=DXMIN CALL VECADD(IS,AR001,F001,XXSC) CALL CNONID(IS,XXSC,CSC) IF (GSC.LT.CCC(LI)) THEN CALL ETC(IS,XXSC,CSC,AR001,CCC(L1)) END IF 530 CONTINUE END IF CALL DISTAN(1S,AR001,XXEM) DXEND = DMAX1(DISTA,DXMIN) DO 531,1 = 1,NEND(1S) 531 XXEM(I) = AR001(I) GSOL = CGC(L1) IF (TEST.LT.0.0D0) THEN I001=STEP-1 WRITE (UNIT = CH001,FMT=105) SOLNAM(1S),1001 105 FORMAT (1X,A16,2X,'STEP =',I4) DO 533,1001 =1,NEND(IS),10 DO 532,1 = 1001,MIN0(I001 +9,NEND(IS)) I002 = 34 + MOD(I-1,10)*10 532 WRITE (UNIT = CH001(I002:),FMT = '(F8.6)') XXEM(I) WRITE (UNIT=6,FMT='(A133)') CH001 WRITE (UNIT=7,FMT='(A133)') CH001 533 CH001=' ' WRITE (UNIT=6,FMT=106) D E LTAX, DI ST A, C N OM WRITE (UNIT=7,FMT=106) DELTAX,DISTA,GNOM 106 FORMAT (8X/DELTAX = ',1PE12.5,4X,'DISTA = ',1PE12.5, *4X,'CCALC = ',14) END IF RETURN END C Q^* **************************** * SUBROUTINE STEEP(IS) INTEGERS CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX= 10,SITMAX= 5, * MAMAX = 31 ,MPOMAX = 4,CALMAX = 200) C-—GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR THERIAK C—-END OF COMMON VARIABLES INTEGER*4 CNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX+1),NMAX, > STEM(SOM AX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,CSOL,GTEST,GTOT, >MINCOM(SOMAX + 1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOM AX +1, EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,CSOL,CTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTECERM IS,1 REAL*8 DELMUE,SUMME DELMUE = O.ODO SUMME = O.ODO DO 501,1 = 1,NEND(IS) 501 DELMUE = DELMUE + MUE(!) DELMUE= DELMUE/NEND(IS) DO 502,1 = 1,NEND(IS) VEKTOR(l) = DELMUE-MUE(l) 502 SUMME = SUMME + VEKTOR(l)*VEKTOR(l) SUMME = DSQRT(SUMME) IF (SUMME.GT.0.0D0) THEN DO 504,1 = 1,NEND(IS) 504 VEKTOR(l) = VEKTOR(l)/SUMME END IF RETURN END C-— SUBROUTINE DISTAN(IS,X1,X2) INTEGERM CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX=150,SOMAX=20,EMAX = 10,SITMAX = 5, *MAMAX=31,MPOMAX = 4,CALMAX = 200) C-—GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGERS GNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX + 1),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 D E LTAX, D E LXXX( 0: CALM AX), DISTA, GSO L, GTEST, GTOT, >MINCOM(SOMAX + 1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), >DXEND,DXLAST(SOMAX+1,EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,GTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGER*4 1S,I REAL*8 X1(EMAX),X2(EMAX),DIFF DISTA = 0.0D0 DO 501,I = 1,NEND(IS) DIFF = X2(I)-X1(1) 501 DISTA = DISTA + DIFF*DIFF DI STA = DSQ RT( DI STA) RETURN END C SUBROUTINE ETC(lS,XSTART,GSTART,XNEW,GNEW) INTEGERM CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX= 150,SOMAX= 20,EMAX = 10,SITMAX = 5, * MAMAX = 31 ,MPOMAX = 4,CALMAX = 200) C GLOBAL COMMON BLOCK C COMMON BLOCK FOR THERIAK C—-END OF COMMON VARIABLES INTEGER*4 GNOM,LOCMIN(SOMAX + 1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, >MINCOM(SOMAX+1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOMAX +1, EMAX) COMMON /TOIN/ CNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,CSOL,CTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGERS IS,I,II,I001 REAL*8 XSTART(EMAX),GSTART,XOLD(EMAX),GOLD,XNEW(EMAX), *GNEW,DELX DELX= DELTAX GOLD = CSTART DO 500,1001 = 1,NEND(IS) 500 XOLD(1001) = XSTART(I001) CALL VECADD(IS,XSTART,DELX,XNEW) CALL GNONID(IS,XNEW,GNEW) DO 502,11 = 1,CCMAX IF (CNEW.CE.COLD) CO TO 1 DELX=DELX+DELTAX GOLD = GNEW DO 501,1001 = 1,NEND(IS) 501 XOLD(I001) = XNEW(I001) CALL VECADD(IS,XOLD,DELX,XNEW) 502 CALL CNONID(IS,XNEW,CNEW) 1 GNEW = GOLD DO 503,1001 =1,NEND(IS) 503 XNEW(I001) = XOLD(I001) DO 504,1 = 1,GCMAX IF (GNEW.LT.GSTART.OR.DELX.LE.DXMIN) GO TO 2 DELX=DELX/2.0D0 CALL VECADD(IS,XSTART,DELX,XNEW) 504 CALL GNONID(IS,XNEW,GNEW) 2 IF (GNEW.GT.GSTART) THEN GNEW = CSTART DO 505,1001 =1,NEND(IS) 505 XNEW(I001) = XSTART(I001) END IF RETURN END C—-SUBROUTINE VECADD(IS,X1,DELX,X2) INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX=20,EMAX=10,SITMAX=5, *MAMAX = 31,MPOMAX = 4,CALMAX = 200) C—-GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR THERIAK C—END OF COMMON VARIABLES INTEGER*4 GNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, >MINCOM(SOMAX+1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOMAX +1, EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,D!STA,CSOL,GTEST,CTOT,MINCOM, > MU E, VEKTOR,XXEM, DXEND, DXLAST INTECERM IS,I REAL*8 X1(EMAX),X2(EMAX),DELX,SUMME SUMME = 0.0D0 DO 501,I = 1,NEND(IS) X2(l)=X1(l)+VEKTOR(l)*DELX IF (X2(I).LT.0.0D0) X2(I) = 0.0D0 501 SUMME = SUMME + X2(I) IF (SUMME.GT.0.0D0) THEN DO 502,1 = 1,NEND(IS) 502 X2(I) = X2(I)/SUMME END IF RETURN END C Q* **************************** * SUBROUTINE GNONID(IS,XXX,CGC) INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX= 10,SITMAX = 5, *MAMAX=31,MPOMAX = 4,CALMAX = 200) C---GLOBAL COMMON BLOCK C—-COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTECER*4 CNOM,LOCMIN(SOMAX + 1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL* 8 D E LT AX, D E LXXX( 0:CALMAX),DISTA,CSOL,GTEST,GTOT, >MINCOM(SOMAX+1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), >DXEND,DXLAST(SOMAX + 1,EMAX) COMMON /TOIN/ CNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,CTEST,GTOT,MINCOM, > MUE,VEKTOR,XXEM,DXEND,DXLAST INTECER*4 IS,N,I,I001 REAL*8 XXX(EMAX),AAA(EMAX),XM,CCG,RTA CNOM=CNOM+1 CCC = 0.0D0 RTA=RT*ALPHA(IS) IF (MODELL(IS).EQ.'I') THEN DO 501,1001 =1,NEND(IS) 501 AAA(I001) = XXX(1001) ELSE CALL ACTIVI(IS,XXX,AAA) END IF DO 502,1 = 1,NEND(IS) IF (AAA(I).CT.O.ODO) * CCC = GCC + XXX(l)*CC(EM(IS,l)) + RTA*XXX(I)*DLOC(AAA(i)) 502 CONTINUE DO 504,N = 1,NMARC(IS) XM=1.0D0 DO 503,1 = 1,POLY(IS,N) 503 XM = XM*XXX(lNDX(IS,N,l)) 504 CCG = CGC + WC(IS,N)*XM RETURN END 204 C—--SUBROUTINE MUECAL(IS,XXX) INTECERM CALM AX, COM AX, EM AX, MAM AX, M POM AX, PHMAX,SITM AX,SOMAX PARAMETER (COMAX = 22,PHMAX =150,SOMAX= 20,EMAX =10,SITMAX = 5, * MAMAX = 31 ,M POMAX = 4, CALMAX = 200) C-—GLOBAL COMMON BLOCK C COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGER*4 GNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL* 8 D E LTAX, D ELXXX( 0: CALMAX), DI STA, GSO L, GTEST, GTOT, >MINCOM(SOMAX+1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), >DXEND,DXLAST(SOMAX + 1,EMAX) COMMON /TOIN/ G N OM, LOCMIN, LOM l N1, NM AX, STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DlSTA,GSOL,GTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGER*4 IS,IE,N,I,I001 REAL * 8 XXX( EM AX), AAA( EM AX), FF(M AM AX), RTA RTA=RT*ALPHA(IS) DO 501,N = 1,NMARG(IS) FF(N) = WG(IS,N) DO 500,1 = 1,POLY(IS,N) IF (FF(N).EQ.O.ODO) GO TO 1 500 FF(N) = FF(N)*XXX(INDX(IS,N,I)) 1 CONTINUE 501 CONTINUE IF (MODELL(IS).EQ.T) THEN DO 502,1001 = 1,NEND(IS) 502 AAA(I001) = XXX(I001) ELSE CALL ACTIVI(IS,XXX,AAA) END IF DO 504,IE = 1,NEND(IS) IF (AAA(IE).LE.O.ODO) THEN MUE(IE) = -1D20 ELSE MUE(IE) = GG(EM(IS,IE)) + RTA*DLOG(AAA(IE)) DO 503,N = 1,NMARG(IS) 503 MUE(IE) = MUE(IE) + FF(N)*(QQ(IS,N,IE)/XXX(IE) + (1-POLY(IS,N))) END IF 504 CONTINUE RETURN END C—--SUBROUTINE ACTIVI(IS,XXX,AAA) INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (pOMAX = 22,PHMAX=150,SOMAX = 20,EMAX=10,SITMAX = 5, *MAMAX = 31,MPOMAX = 4,CALMAX = 200) C-—GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGER*4 GNOM,LOCMIN(SOMAX + 1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, >MINCOM(SOMAX+1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXE ND,DXLAST(SOMAX +1, EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,CSOL,CTEST,CTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTECERM IS,IE,I,II REAL*8 XXX(EMAX),AAA(EMAX),XBAS(10),ABAS(10),SUMM IF (MODELL(IS).EQ.'S') THEN DO 502,IE = 1/NEND(IS) AAA(IE)=1.0D0 DO 502,1 = 1,NSITE(IS) SUMM = O.0D0 DO 501,11 = 1,NEQEM(IS,IE,I) 501 SUMM = SUMM + XXX(EQEM(IS,IE,I,ll)) 502 AAA(IE) = AAA(IE)*(SUMM**SITMUL(IS,I)) RETURN ELSE DO 503,I = 1,NEMBAS(IS) IF (EMBCOD(IS,I).EQ.O) THEN XBAS(l) = 0.0D0 ELSE XBAS(l) = XXX(EMBCOD(IS,l)) END IF 503 CONTINUE CALL SOLCAL(SOLNAM(lS),P,T,NEMBAS(IS),XBAS,ABAS) DO 504,1 = 1,NEMBAS(IS) IF (EMBCOD(IS,l).NE.0) AAA(EMBCOD(IS,l)) = ABAS(I) 504 CONTINUE RETURN END IF RETURN END C C++**************************** SUBROUTINE REDUCE(K) INTECER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX= 10,SITMAX= 5, *MAMAX=31,MPOMAX = 4,CALMAX = 200) C-—GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGER*4 CNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX + 1),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, >MINCOM(SOMAX + 1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOMAX+1,EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ D E LTAX, D E LXXX, DI STA, G SO L, GTEST, GTOT, MIN COM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGER*4 K,l,ll REAL*8 F,AR(COMAX) F = X(K,K) IF (F.EQ.O.ODO) THEN DO 501,11 = 1,NMAX 501 X(lI,K) = 0.0D0 ELSE DO 502,1 = 1,NMAX IF (X(l,K).NE.0.0D0) X(I,K) = X(I,K)/F 502 CONTINUE DO 503,1 = 1,NUN 503 AR(I) = X(K,I) DO 505,1 = 1,NUN IF (I.NE.K.AND.AR(I).NE.O.ODO) THEN DO 504,11 = 1,NMAX X(II,I) = X(II,I)-X(II,K)*AR(I) IF (DABS(X(II,I)).LT.1D-12) X(ll,I) = 0.0D0 504 CONTINUE END IF 505 CONTINUE END IF DO 506,1 = 1,NUN 506 X(K,l) = 0.0D0 X(K,K) = 1.0D0 RETURN END C-— SUBROUTINE COLCHG(K,l) INTECER* 4 CALM AX, COM AX, EMAX, M AMAX, M POM AX, PHM AX, SITMAX,SOM AX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX=10,SITMAX=5, *MAMAX = 31 ,MPOMAX = 4,CALMAX = 200) C-—GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGERM GNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, >MINCOM(SOMAX+1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), >DXEND,DXLAST(SOMAX+1,EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,GTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGERM K,I,I001 DO 501,1001=1,COMAX 501 X(0,I001) = X(K,I001) NN(0) = NN(K) G(0) = G(K) NUMMER(0) = NUMMER(K) EMCODE(O) = EMCODE(K) SUGG(0) = SUGG(K) DELXXX(0) = DELXXX(K) DO 502,1001=1,EMAX 502 XEM(0,I001) = XEM(K,I001) DO 503,1001 = 1,COMAX 503 X(K,I001)=X(I,I001) NN(K) = NN(I) G(K) = C(I) NUMMER(K) = NUMMER(I) EMCODE(K) = EMCODE(I) SUGG(K) = SUGG(I) DELXXX(K) = DELXXX(I) DO 504,1001=1,EMAX 504 XEM(K,I001) = XEM(I,1001) DO 505,1001=1,COMAX 505 X(1,I001) = X(0,I001) NN(l) = NN(0) G(I) = G(0) NUMMER(l) = NUMMER(0) EMCODE(I) = EMCODE(0) SUGG(l) = SUGG(0) DELXXX(l) = DELXXX(0) DO 506,1001 = 1,EMAX 506 XEM(I,I001)=XEM(0,I001) RETURN END C-— SUBROUTINE PRTCAL INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX=10,SITMAX=5, *MAMAX = 31,MPOMAX = 4,CALMAX = 200) C GLOBAL COMMON BLOCK C COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGERM GNOM,LOCMIN(SOMAX + 1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL* 8 D E LTAX, D E LXXX( 0: CALM AX), DI STA, G SO L, GTEST, GTOT, >MINCOM(SOMAX+1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND,DXLAST(SOMAX+ 1,EMAX) COMMON /TOIN/ GNOM,LOCMlN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,GTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGER*4 1,11,1001,i002 LOGICAL*4 SPACE CHARACTER*16 TEXT(COMAX) CHARACTER* 133 CH001 REAL*8 SUMM(COMAX),EXPO,ACT,XACT,SUMME,NNPC,AR001(EMAX),F001, *TOTAL 1 = 1 1001 IF (I.GE.NUN) GOTO 1 IF ((NUMMER(l + 1).LT.NUMMER(l)).OR.(NUMMER(l).EQ.0.AND. *NUMMER(I +1 ).EQ.0.AND.EMCODE(l +1 ).LT.EMCODE(l))) THEN 1001=1 + 1 CALL COLCHG(I,I001) 1 = 1-1 ELSE 1 = 1 + 1 END IF IF (I.EQ.0) l = 2 GOTO 1001 1 CALL MULCHK IF (PRTLOG(6).OR.PRTLOG(7).OR.PRTLOG(8)) THEN TOTAL = 0.0D0 DO 491,1 = 1,NUN SUMME = 0.0D0 DO 490,11 = 1,NUN2 490 SUMME = SUMME + NN(ll)*X(ll,l) 491 TOTAL=TOTAL + SUMME*GG(I) TOTAL =-TOTAL SPACE = .TRUE. DO 502,1 = 1,NUN2 IF (NUMMER(I).LE.O) THEN TEXT(l) = SOLNAM(EMCODE(l)) ELSE TEXT(I) = NAME(NUMMER(I)) END IF IF (NUMMER(I).LE.NUN.AND.NUMMER(D.NE.O) SPACE = .FALSE. 502 CONTINUE l001=LOO1-1 WRITE (UNIT=6,FMT=100) P,PGAS,TC,T,NUN2,I001,GTOT,TOTAL,R WRITE (UNIT=7,FMT=100) P,PCAS,TC,T,NUN2,I001,GTOT,TOTAL,R 100 FORMAT ('1P =',F9.2,' bar',7X,'P(Gas) =',F9.2,' bar T =', *F8.2,' C =',F8.2,' KV STABLE PHASES:',l4,5X,'LOOP =',I4, */' G(-) =',1PE12.5,0P,5X,'G(System) =',F15.2,5X,'R =',F14.7) IF (.NOT.SPACE) WRITE (UNIT = 6,FMT=101) IF (.NOT.SPACE) WRITE (UNIT = 7,FMT=101) 101 FORMAT ('0COMPOSITION MAY BE OUTSIDE SPACE DEFINED BY PHASES') IF (NUN2.LE.0) RETURN END IF IF (PRTLOG(6)) THEN WRITE (UNIT=6,FMT=102) WRITE (UNIT = 7,FMT=102) 102 FORMAT(//9X,'PHASE',19X,'N',9X,'MOL%',35X,'X',14X,'X', *9X,'ACTIVITY',7X,'ACT.(X)7 *9X,' ',19X,'-',9X,'—',35X,'-',14X,'-', *9X,' ',7X,' ') SUMME = 0.0D0 DO 503,1 = 1,NUN2 503 SUMME = SUMME + DABS(NN(I)) DO 510,1 = 1,NUN2 NNPC = (NN(l)/SUMME)*1OO.0D0 WRITE (UNIT = CH001,FMT=103) NUMMER(l),EMCODE(l),TEXT(l),NN(l), •NNPC 103 FORMAT ('0',I3,I3,2X,A16,3X,F11.6,1X,F11.6) IF (EMCODE(I).GT.O) THEN DO 504,1001=1,EMAX 504 AR001(I001) = XEM(I,I001) CALL MUECAL(EMCODE(I),AR001) DO 505,11 = 1,NEND(EMCODEd)) EXPO = -CG(EM(EMCODE(l),ll))/(RT) IF (EXPO.LT.-150) THEN ACT=0.0D0 ELSE ACT=DEXP(EXPO) END IF EXPO = (MUE(ll)-CC(EM(EMCODE(l),II)))/(RT) IF (EXPO.LT.-150) THEN XACT=O.ODO ELSE XACT=DEXP(EXPO) END IF WRITE (UNIT = CH001(61:),FMT=104) NAME(EM(EMCODE(l),ll)), *XEM(I,II),XEM(I,II),ACT,XACT 104 FORMAT (A16,2X,F9.6,2X,3(2X,1PE12.5)) WRITE (UNIT=6,FMT = '(A133)') CH001 WRITE (UNIT=7,FMT='(A133)') CH001 505 CH001=' ' ELSE WRITE (UNIT=6,FMT = '(A133)') CH001 WRITE (UNIT=7,FMT = '(A133)') CH001 CH001=' ' END IF 510 CONTINUE END IF IF (PRTLOG(7)) THEN WRITE (UNIT = 6,FMT=105) WRITE (UNIT=7,FMT=105) 105 FORMAT (//' COMPOSITIONS OF STABLE PHASES [ MOL% ] WRITE (UNIT=6,FMT = '(" ")') WRITE (UNIT=7,FMT='(" ")') DO 512,1001 = 1,NUN,10 DO 511,1 = 1001,MIN0(I001+9,NUN) 1002 = 23 + MOD(I-1,10)*11 WRITE (UNIT = CH001(I002:),FMT = '(A5)') CHNAME(I) 511 CONTINUE WRITE (UNIT=6,FMT = '(A133)') CH001 WRITE (UNIT=7,FMT = '(A133)') CH001 512 CH001=' ' DO 513,1001 = 1,COMAX 513 SUMM(I001) = 0.0D0 DO 520,1 = 1,NUN2 WRITE (UNIT=CH001,FMT='("0",A16)') TEXT(I) SUMME = 0.0D0 DO 514,11 = 1,NUN SUMME = SUMME + DABS(X(I,II)) 514 SUMM(ll) = SUMM(II) + X(l,ll)*NN(l) DO 516,1001=1,NUN,10 DO 515,II = I001,MIN0(I001+9,NUN) I002 = 19 + MOD(II-1,10)*11 F001 =X(I,II)/SUMME*100.0D0 WRITE (UNIT=CH001(I002:),FMT='(F11.6)') F001 515 CONTINUE WRITE (UNIT = 6,FMT = '(A133)') CH001 WRITE (UNIT=7,FMT='(A133)') CH001 516 CH001=' ' 520 CONTINUE WRITE (UNIT=CH001,FMT=106) 106 FORMAT ('0TOTAL:') SUMME = O.ODO DO 521,1 = 1,NUN 521 SUMME —SUMME+ DABS(SUMM(I)) DO 523,1001 = 1,NUN,10 DO 522,I = I001,MIN0(I001+9,NUN) I002 = 19 + MOD(I-1,10)*11 F001 = SUMM(I)/SUMME*100.0D0 WRITE (UNIT=CH001(I002:),FMT='(F11.6)') F001 522 CONTINUE WRITE (UNIT=6,FMT = '(/,A133)') CH001 WRITE (UNIT = 7,FMT = '(/,A133)') CH001 523 CH001=' ' END IF IF (PRTLOG(8)) THEN WRITE (UNIT=6,FMT=107) WRITE (UNIT=7,FMT=107) 107 FORMAT ('1',8X,'PHASE',19X,'N',13X,'C',9X,'ACTIVITY7) CALL PRTSTR(1,NMAX) END IF 999 RETURN END C—-SUBROUTINE MULCHK INTECER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX = 20,EMAX= 10,SITMAX= 5, *MAMAX = 31,MPOMAX = 4,CALMAX=200) C—-GLOBAL COMMON BLOCK C COMMON BLOCK FOR THERIAK C—END OF COMMON VARIABLES INTEGERM GNOM,LOCMIN(SOMAX+1),LOMIN1(SOMAX+1),NMAX, > STEM(SOMAX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, >MINCOM(SOMAX + 1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEN D, DXLAST(SOM AX +1, EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ D E LTAX, D E LXXX, DI STA, G SO L, GTEST, GTOT, MIN COM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGERM I,II,I1I,K,I001,I002 REAL*8 SUMME NUN2=NUN 1 = 1 1001 IF (I.GT.NUN2) GO TO 11 IF (DABS(NN(I)).LT.1D-12) THEN DO 501,K=I,(NUN2-1) I001=K+1 501 CALL COLCHG(K,I001) NUN2 = NUN2-1 1 = 1-1 GO TO 999 END IF IF (EMCODE(I).GT.O) THEN DO 510,II = (I + 1),NUN2 IF (EMCODE(II).EQ.EMCODE(I)) THEN 211 SUMME = O.ODO DO 502,111 = 1,NEND(EMCODEd)) 502 SUMME = SUMME + DABS(XEM(I,III)-XEM(II,III)) IF (SUMME.LT.EQUALX) THEN DO 503,111 = 1,NEND(EMCODEd)) 503 XEM(l,lll) = (NN(l)*XEM(l,lll) + NN(ll)*XEM(ll,lll))/(NN(l) + NN(II)) NN(I) = NN(I) + NN(II) NN(II) = 0.0D0 1001 = 1 CALL XSOL(I001) DO 504,K=II,(NUN2-1) 1001 =K 1002 = K+1 504 CALL COLCHC(I001,I002) NUN2 = NUN2-1 1 = 1-1 CO TO 999 END IF END IF 510 CONTINUE END IF 999 1 = 1 + 1 GO TO 1001 11 RETURN END SUBROUTINE PRTSTR(N1,N2) INTEGER*4 CALMAX,COMAX,EMAX,MAMAX,MPOMAX,PHMAX,SITMAX,SOMAX PARAMETER (COMAX = 22,PHMAX = 150,SOMAX= 20,EMAX = 10,SITMAX= 5, *MAMAX = 31,MPOMAX=4,CALMAX = 200) C—-GLOBAL COMMON BLOCK C-—COMMON BLOCK FOR THERIAK C-—END OF COMMON VARIABLES INTEGER*4 CNOM,LOCMIN(SOMAX+1 ),LOMIN1 (SOMAX+ 1),NMAX, > STEM(SOM AX +1 ),TRY REAL*8 DELTAX,DELXXX(0:CALMAX),DISTA,GSOL,GTEST,GTOT, >MINCOM(SOMAX + 1,EMAX,EMAX),MUE(EMAX),VEKTOR(EMAX),XXEM(EMAX), > DXEND, DXLAST(SOM AX +1, EMAX) COMMON /TOIN/ GNOM,LOCMIN,LOMIN1,NMAX,STEM,TRY COMMON /TORE/ DELTAX,DELXXX,DISTA,GSOL,GTEST,GTOT,MINCOM, >MUE,VEKTOR,XXEM,DXEND,DXLAST INTEGER*4 I,1I,N1,N2,I001,I002 REAL*8 EXPO,ACT CHARACTERS6 TEXT CHARACTERS33 CH001 DO 510,I = N1,N2 IF (SUGG(I).LE.NPHA) THEN CH001=' P' ELSE CH001=' S' END IF WRITE (UNIT = CH001(3:),FMT='(I5)') SUGG(I) IF (NUMMER(I).LE.O) THEN TEXT = SOLNAM(EMCODE(l)) ELSE TEXT= NAME(NUMMERd)) END IF EXPO = -C(l)/(RT) IF (EXPO.LT.-150.0D0) THEN ACT=0.OD0 ELSE ACT=DEXP(DMIN1(150.0DO,EXPO)) END IF WRITE (UNIT=CH001(8:),FMT=101) TEXT,NN(l),G(l),ACT 101 FORMAT (2X,A16,2X,1PE12.5,2X,0P,F12.2,2X,1PE12.5) IF (EMCODE(I).CT.O) THEN DO 502,1001 = 1,NEND(EMCODE(l)),5 DO 501,II = I001,MIN0(I001 +4,NEND(EMCODE(I))) 1002-70 + MOD(II-1,5)*12 501 WRITE (UNIT=CH001(I002:),FMT='(1PE11.4)') XEM(1,II) WRITE (UNIT=6,FMT='(A133)') CH001 WRITE (UNIT=7,FMT = '(A133)') CH001 502 CH001=' ' ELSE WRITE (UNIT=6,FMT = '(A133)') CH001 WRITE (UNIT = 7,FMT = '(A133)') CH001 END IF 510 CONTINUE RETURN END APPENDIX C: THE MOESSBAUER FURNACE In order to separate the M1 and M2 absorption peaks in a Mossbauer spectrum for olivine, the sample has to be heated to approximately 300 °C. (Eibschutz and Ganiel (1967)). It is also important that the surrounding can be evacuated or filled with an inert gas, to prevent oxydation. The vacuum furnace used in this investigation was built by Mr. Doug Poison following the design of Sudaram et al. (1971,) with some major modifications. The design of the furnace is shown in Fig. 22 and 23 and the materials used are listed in table 16. The furnace is mounted on two rails which makes the supporting legs unnecessary. The inlet and outlet for vacuum pumping are drilled through the outer flanges. Only one Chromel-Alumel thermocouple is used for measuring the temperature. It was found that a constant voltage of ca. 50 V provided by a variac, resulted in a temperature of ca. 300 °C with a maximum variation of ±2°C, as long as the vacuum pump was operating constantly. If the valve is closed and the pumpturned off, the temperature dropped approximately 10 °C in 8 hours. All measurements were done with the pump working. 213 214 Fig. 21: The Moessbauer furnace c c S i cooling coils nnoonooo —7 pyrophyllite spacers radiation shields UL o n o o o o C c power lead x glass to metal seal teflon window ceramic tube 4z holding rod ^thermocouple 3 0 f teflon window Sample holder Tj heating element TJ—u~ D—cr cement pyrophyllite flanges •g ooooqooooo 0 ring brass shell inner brass flanges outer brass flanges 0 0 to vacuum pump Fig. 22: The sample holder for the Moessbauer furnace holding rod 216 Table 16.: The materials used in the vacuum furnace description material,remarks thermocouple ceramic tube needle valves sample holder holding rod windows glass to metal seal heating element cement radiation shields ceramic spacers ceramic flanges 0 rings shell outer flanges inner flanges cooling coils Chromel - Alumel, in 2-hole ceramic tube Alumina, for heating element Brass, to vacuum line stainless steel, type 316 stainless steel, type 316 teflon for the thermocouple and the power leads Nichrome Sauerei sen stainless steel, type 304 pyrophyllite, supporting the shields pyrophyllite, supporting the furnace Neoprene, different sizes brass brass brass flexible copper tube APPENDIX D: LISTING OF PROGRAM LATEX LATEX:PROCEDURE OPTIONS(MAIN); DCL (BLAH,BAN,IDA,ABIN,MN1) FILE; DCL (KODLP,ISYMCE,NS,NPOS,NCOMPO,NREF,NBED,BED(10,9),IDX(-3:3), l,ll,lll,K,N,M,J,JJ,CODE,CODE2,ANOCOD,HMAX,KMAX,LMAX) BIN FIXED(31); DCL (A,B,C,ALPHA,BETA,GAMMA,WL,WWL4,ANO,PI2,TL,TH,SL,SH,FNEUT(8), SINA,SINB,SINC,COSA,COSB,COSC,SINABC,SINBC,SINAC,SINAB, VOL,AS,BS,CS,COAS,COBS,COCS,SX2,MAXlNT,INT,THETA,DWERT, RELINT,QQ,SMA,SMB,XN,YN,ZN,SCAT,FBRA,DUM,ARG,INSUM(13), AE,BE,CE,AE2,BE2,CE2,BC2,AC2,AB2,HH2,KK2,LL2,FF) DECIMAL FLOAT(16); DCL (XX(50),YY(50),ZZ(50)) DECIMAL FLOAT(16); DCL 1 INP(0:1000), 2 (HH,KK,LL) BIN FIXED(31), 2 (MUL,Q) DECIMAL FLOAT(16), 1 OUP(IOOO), 2 (VINT,STRU,LOPO,SUMA,SUMB,SUMAX,SUMBX) DECIMAL FLOAT(16), 1 ATOM(8), 2 ELEMT CHAR(4), 2 NA BIN FIXED(31), 2 (DELFR,DELFI,FA(4),FB(4),FC) DECIMAL FLOAT(16), 2 POS(50), 3 IDE CHAR(2), 3 (X,Y,Z,MUP,OCC,BT,BII(6)) DECIMAL FLOAT(16), 3 BTCODE BIN FIXED(31), 1 EQUK24), 2 (TS(3),FS(3,3)) DECIMAL FLOAT(16); DCL (TITEL) CHAR(200); DCL (HKL(3),CH(3),AA) CHAR(1); DCL (HKLCOD) CHAR(15) VARYING; DCL STR(3) CHAR(20) VARYING; DCL (WLCOD,SPGR,IDENT) CHAR(IO); DCL (ELE) CHAR(4); OPEN FILE(SYSPRINT) LINESIZE(132); AA = ""; GET FILE(BLAH) LIST(TITEL,A,B,C,ALPHA,BETA,GAMMA, AE,BE,CE,WLCOD,SPGR,TL,TH,ANO,KODLP); PUT EDIT(TITEL,'SPACE GROUP : ',SPGR)(COL(1),A,SKIP(2),A,A); ON ENDFILE(BLAH) GOTO AAFA; NCOMPO = 0; DO WHILE('VB); GET FILE(BLAH) EDIT(ELE)(COL(1),A(4)); CODE = 0; DO 1 = 1 TO NCOMPO WHILE(CODE = 0); IF ELE = ELEMT(I) THEN DO; CODE = l; NA(I) = NA(I) + 1; END; END; IF CODE = 0 THEN DO; NCOMPO = NCOMPO+ 1; l = NCOMPO; ELEMT(I) = ELE; NA(I) = 1; END; ELSE I = CODE; GET FILE(BLAH) EDlT(IDE(l,NA(l)))(A(2)); GET FILE(BLAH) LIST(X(I,NA(I)),Y(I,NA(I)),Z(I,NA(I)), OCC(l,NA(I)),BT(l,NA(l))); IF BT(l,NA(l)) = 0 217 THEN DO; DO 11 = 1 TO 6; GET FILE(BLAH) LIST(BII(I,NA(I),II)); END; BTCODE(l,NA(l)) = 1; END; ELSE BTCODE(I,NA(I)) = 0; END; AAFArON ENDFILE(BAN) GOTO NOSP; CODE = 0; DO WHILE(CODE = 0); GET FILE(BAN) EDIT(IDENT)(COL(1),A(10)); IF SPGR=IDENT THEN DO; CODE=1; GET FILE(BAN) LIST(NS,ISYMCE,FBRA,NBED); DO 11 = 1 TO NS; GET FILE(BAN) LIST(TS(II,*),FS(II,*,*)); END; PUT EDITCBravais multiplicity =',FBRA)(SKIP(2),A,F(4,1)); PUT EDIT(NBED,'conditions for non-extinction :') (SKIP(2),COL(1 ),F(3,0),X(1), A); CH(1) = 'H'; CH(2) = 'K'; CH(3) = 'L'; DO 1 = 1 TO NBED; GET FILE(BAN) LIST(HKLCOD); PUT EDIT(HKLCOD)(COL(38),A); BED(I,*) = 0; DO J = 1 TO 3; HKL(J) = SUBSTR(HKLCODJ,1); IF HKL(J) = '0' THEN BED(IJ) = J; END; IF HKL(1) = HKL(2) THEN DO; BED(I,4) = 1; BED(I,5) = 2; END; IF HKL(1) = HKL(3) THEN DO; BED(I,4) = 1; BED(I,5) = 3; END; IF HKL(2) = HKL(3) THEN DO; BED(I,4) = 2; BED(I,5) = 3; END; DO J = 1 TO 3; IF (INDEX(HKLCOD/ + '|JCH(J))~=0 | INDEX(HKLCOD,' '||CH()))~ =0) THEN BED(l,5+)) = ); IF (INDEX(HKLCOD/-'||CH(J))~=0) THEN BED(I,5 + J) = -J; END; BED(I,9) = FIXED(SUBSTR(HKLCOD,INDEX(HKLCOD,' = ') + 1,D,6,0); END; END; END; NOSP:IF CODE = 0 THEN DO; PUT DATA(SPGR); STOP; END; PUT EDIT(NS/equivalent point positions :') (SKIP(2)/F(3/0),X(1),A); IF 1SYMCE = 1 THEN PUT EDIT('(+ symmetry centre at the origin)') (X(5),A); PUT SKIP(2) EDITC ')(A); CH(1) = 'X'; CH(2) = 'Y'; CH(3) = 'Z'; DO 1 = 1 TO NS; STR = ' '; DO J = 1 TO 3; STR(J) = STR(J)||CHAR(FIXED(TS(I,J),8,5)); STR(J) = SUBSTR(STR(J),3); DO K=1 TO 3; IF FS(IJ,K) = 1 THEN STR(]) = STR(J)||'+ '||CH(K); IF FS(IJ,K) = -1 THEN STR(J) = STR(J)||'-'||CH(K); END; IF INDEX(STR(J),'0.00000 + ')~=0 THEN SUBSTR(STR(J),1,11) = ' '; IF INDEX(STR(J),'0.00000')~=0 THEN SUBSTR(STR(J),1,10) = ' '; END; PUT EDIT(STR)(COL(3),3 A(15)); END; ON ENDFILE(BAN) GOTO NOWL; CODE = 0; DO WHILE(CODE = OX-GET FILE(BAN) EDIT(IDENT)(COL(1),A(5)); IF WLCOD = IDENT THEN DO; GET FILE(BAN) LIST(ANOCOD,WL); CODE = 1; END; END; NOWUF CODE = 0 THEN DO; PUT DATA(WLCOD); STOP; END; DELFR = 0; DELFI = 0; FA = 0; FB = 0; FC = 0; ON ENDFILE(BAN) GOTO NOSC; CODE = -NCOMPO; DO WHILE(CODE<0); GET FILE(BAN) EDIT(IDENT)(COL(1),A(4)); CODE2 = 0; DO 1 = 1 TO NCOMPO WHILE(CODE2 = 0); IF ELEMT(I) = IDENT THEN DO; CODE2 = 1; CODE = CODE + 1; DO J = 1 TO 4; GET FILE(BAN) LIST(FA(I,J),FB(I,J)); END; GET FILE(BAN) LIST(FC(l),FNEUT(l)); DO J = 1 TO ANOCOD; GET FILE(BAN) LIST(DELFR(I),DELFI(I)); END; END; END; END; NOSC:IF CODE<0 THEN DO; DO 1 = 1 TO NCOMPO; IF FA(I,1) = 0 THEN PUT SKIP DATA(ELEMT(I)); END; STOP; END; PUT EDITCscattering factor coefficients :','a1'/b1'/a2','b2', 'a3'/b3'/a4'/b4'/c'/sum(ai) + c') (SKIP(2),A,COL(12),(4) (A,X(8),A,X(10)),A,X(12),A); DO 1 = 1 TO NCOMPO; PUT EDIT(ELEMT(l))(COL(1),A(4)); DO J = 1 TO 4; PUT EDIT(FA(I,J)/FB(I,]))(F(12,5),F(10,5)); END; PUT EDIT(FC(l),SUM(FA(l,'t:)) + FC(l))(F(12,5)/X(5),F(12/5)); END; PUT EDITCradiation :',WLCOD/landa =',WL) (SKIP(2)/A,X(1),A,A,F(9/6)); PUT EDITCanomalous dispersion correction terms :')(SKIP(2),A); PUT EDIT('delfr'/deIfi')(X(9),A,X(5),A); IF ANO = 0 THEN PUT EDIT('(not used for calcu!ations)')(X(4),A); DO 1 = 1 TO NCOMPO; IF (DELFR(l)~=0)&(DELFl(l)~=0) THEN PUT EDIT(ELEMT(l),DELFR(l),DELFI(l))(COL(40),A(4),2 F(10,4)); IF ANO = 0 THEN DO; DELFR(l) = 0; DELFI(I) = 0; END; END; DO M = 1 TO NCOMPO; DO 1 = 1 TO NA(M); DO J = 1 TO NS; XX(J) = TS(J,1) + FS(J,1,1)*X(M,]) + FS(J,1,2)*Y(M/I) + FS(J,1,3)*Z(M,I); YY(J) = TS(J/2) + FS(J,2,1)*X(M,l) + FS(J,2/2)*Y(M,l) + FS(J,2/3)*Z(M,i); ZZ(J) = TS(J,3) + FS(J,3,1)*X(M,I) + FS(J,3,2)*Y(M,I) + FS(J,3,3)*Z(M,I); END; IF ISYMCE = 1 THEN DO; NPOS = 2*NS; DO ] = (NS + 1) TO (2*NS); XX(J) = -XX(J-NS); YY(J) = -YY(J-NS); ZZ(J) = -ZZ(J-NS); END; END; ELSE NPOS = NS; DO J = 1 TO NPOS; XX(J) = MOD(XX(J),1); YY(J) = MOD(YY(J),1); ZZ(J) = MOD(ZZ(J),1); END; MUP(M,l) = NPOS; DO J = 1 TO NPOS-1; CODE = 1; DO j] = (J + 1) TO NPOS WHILE(CODE = 1); IF (ABS(XX(J)-XX(JJ))< 1 E-9)&(ABS(YY(J)-YY(JJ))< 1E-9) &(ABS(ZZ(J)-Z2(JJ))<1E-9) THEN DO; MUP(M,I) = MUP(M(1)-1; CODE = 0; END; END; END; MUP(M,l) = MUP(M,l)/NPOS; END; END; PUT EDITCatom positions')(SKIP(2),A); PUT EDIT('x/a','y/b'/z/c','Bt'/mult'/occ','N', 'atoms / unit cell') (COL(12),A,COL(22),A,COL(32),A,COL(41 ),A,COL(48)/A, COL(57),A,COL(65)ACOL(73),A); DO 1 = 1 TO NCOMPO; DO ] = 1 TO NA(l); PUT EDlT(ELEMT(l),IDE(l,)),X(l,)),Y(IJ),Z(l,J),BT(lJ), MUP(l/J),OCC(l,J),MUP(IJ)*NPOS/MUP(l,J)*NPOS*OCC(l,J)) (COL(1),AA3 F(10,6),F(8,4),2 F(8,4),F(6,1),X(6),F(11,5)); END; END; IF ISYMCE = 0 THEN DUM = 1; ELSE DUM = 2; PI2 = 8*ATAN(1); MAXINT=1; SINA = SIND(ALPHA); SINB = SIND(BETA); SINC = SIND(CAMMA); COSA = COSD(ALPHA); COSB = COSD(BETA); COSC = COSD(GAMMA); SlNABC = SIND((ALPHA+BETA + GAMMA)/2.0); SINBC = SIND((-ALPHA + BETA + GAMMA)/2.0); SINAC = SIND((ALPHA-BETA + GAMMA)/2.0); SIN AB = SI ND((ALPH A + BETA-GAMMA)/2.0); VOL = 2*A*B*C*SQRT(SINABC*SINBC*SINAC*SINAB); AS = B*C*SINAA/OL; BS = A*C*SINBA/OL; CS = A*B*SINC/VOL; COAS = (COSB*COSC-COSA)/(SINB*SINC); COBS = (COSC*COSA-COSB)/(SINC*SINA); COCS = (COSA*COSB-COSC)/(SINA*SINB); PUT EDITCa =',A,'alpha =',ALPHA,'b =',B,'beta =',BETA, 'c =',C,'gamma =',GAMMA,'vol =',VOL)(SKIP(2), (3) (COL(1)AF(9/5)/COL(18)AF(10,5)),X(7),A,F(10,4)); AE2 = AE*AE; BE2 = BE*BE; CE2 = CE*CE; BC2 = (B*C*BE*CE)**2; AC2 = (A*C*AE*CE)**2; AB2 = (A*B*AE*BE)**2; PUT EDITCanisotropy : ,,AE,BE,CE)(X(5)/A,(3) (F(9,5))); ON ENDPAGE BEGIN; PUT EDIT(WLCOD,WL,TITEL)(PAGE,A(6)/F(8,5),X(4)/A); PUT EDIT('H','K'/L','INT','ABS INT','2 TH','D','|F(hkl)|', 'MULT'/LP.'/sR*fR'/sl+fR'/sR*fl'/sl*fl') (SKIP(2)/COL(8),A,COL(12),A,COL(l6),A,COL(22),A,COL(31),A, COL(43),A/COL(54),A,COL(61 ),A,COL(71 ),A,COL(79)/A,COL(90), A,COL(102) ,A,COL(114),A,COL(126),A); PUT EDITC ')(SKIP,A); END; SH = SIND(TH)**2; SL = SIND(TL)**2; NREF = 0; WWL4=WL*WL/4.0; HMAX = FLOOR(SQRT(SHA/VWL4)/AS); KMAX = FLOOR(SQRT(SHAA/WL4)/BS); LMAX = FLOOR(SQRT(SHAVWL4)/CS); DO I = HMAX TO -HMAX BY -1; DO II = KMAX TO -KMAX BY -1; DO III = LMAX TO -LMAX BY -1; QQ = (WWL4)*((I*AS)**2 + (II*BS)**2 + (III*CS)**2 + 2*ll*lll*BS,,,CS*COAS + 2*l*lll*AS*CS*COBS + 2*l*li*AS*BS*COCS); IF QQ>SH THEN GOTO NEXT; IF QQ<SL THEN GOTO NEXT; CODE = 1; IDX(-3) = -l)i; IDX(-2) = -ll; 1DX(-1) = -I; IDX(0) = 0; IDX(1) = I; IDX(2) = II; IDX(3) = III; DO J = 1 TO NBED WHILE(CODE = 1); IF (IDX(BED(],1)) = 0)&(IDX(BED(J,2)) = 0)&(IDX(BED(J,3)) = 0) &(IDX(BED(J,4)) = IDX(BED(J,5))) &(MOD(IDX(BED(),6)) + IDX(BED(J,7)) + IDX(BED(J,8)),BED(J,9))~=0) THEN CODE = 0; END; IF CODE = 0 THEN GOTO NEXT; DO N = 1 TO NREF WHILE(CODE = 1); IF ABS(Q(N)-QQ)<1E-9 THEN DO; MUL(N) = MUL(N) + 1; CODE = 0; END; END; IF CODE = 0 THEN GOTO NEXT; IF (l = 0)&(M = 0)&(lll = 0) THEN GOTO NEXT; NREF = NREF + 1; IF NREF>1000 THEN DO; NREF=1000; GOTO ORD; END; Q(NREF) = QQ; MUL(NREF) = 1; HH(NREF) = I; KK(NREF) = ll; LL(NREF) = III; N EXT: END; END; END; ORD:N = 1; DO WHILE(N<NREF); IF Q(N)>Q(N + 1) THEN DO; INP(0)= INP(N); INP(N) = INP(N + 1); INP(N + 1) = INP(0); N = N-1; IF N = 0 THEN N = 2; END; 222 ELSE N = N + 1; END; DO N = 1 TO NREF; /* PUT EDIT(N/)',HH(N),KK(N),LL(N)) (SKIP(2),COL(1),F(3,0)A(3) (F(4,0))); */ THETA = ATAN(SQRT(Q(N)/(1-Q(N)))); LOPO(N) = (1+COS(2*THETA)**2)/(SIN(THETA)*SIN(2*THETA)); SX2 = Q(N)/(WL*WL); SUMA(N) = 0; SUMB(N) = 0; SUMAX(N) = 0; SUMBX(N) = 0; DO M = 1 TO NCOMPO; SMA=0; SMB = 0; DO 1 = 1 TO NA(M); IF BTCODE(M,l)=1 THEN BT(M,I) = BII(M,I,1)*HH(N)**2 + BII(M,I,2)*KK(N)**2 + BII(M,1,3)* LL(N)**2 + BII(M,l,4)*2*HH(N)*KK(N) + BII(M,l,5)*2*HH(N)* LL(N) + BII(M,I,6)*2*KK(N)*LL(N); DO J = 1 TO NS; XN=TS(J,1) + FS(J,1,1)*X(M,I)+FS(J,1,2)*Y(M,I) + FS(J,1,3)*Z(M,I); YN=TS(J,2) + FS(J,2/1)*X(M,l)+FS(j<2/2)*Y(M,l) + FS(J/2,3)*Z(M/l); ZN=TS(],3) + FS(),3,1)*X(M,1) + FS(J,3,2)*Y(M,I) + FS(J,3,3)*Z(M,1); ARG = PI2*(HH(N)*XN + KK(N)*YN + LL(N)*ZN); SMA = SMA + COS(ARG)*MUP(M,l)*OCC(M,l)*EXP(-BT(M,l)*SX2); IF 1SYMCE~=1 THEN SMB = SMB + SIN(ARG)*MUP(M,l)*OCC(M/l)*EXP(-BT(M/l)*SX2); END; END; SCAT=0; DO 1 = 1 TO 4; SCAT = SCAT+FA(M,I)*EXP(-FB(M,I)*SX2); END; SCAT=SCAT+DELFR(M) + FC(M); SUMA(N) = SUMA(N) + SMA*SCAT; SUMB(N) = SUMB(N) + SMB*SCAT; SUMAX(N) = SUMAX(N) + SMA*DELFl(M) + FBRA*DUM; SUMBX(N) = SUMBX(N) + SMB*DELFI(M)*FBRA; END; SUMA(N) = SUMA(N)*FBRA*DUM; SUMB(N) = SUMB(N)*FBRA; STRU(N) = (SUMA(N)-SUMBX(N))**2 + (SUMB(N) + SUMAX(N))**2; VINT(N) = LOPO(N)*MUL(N)*STRU(N); HH2 = HH(N)*HH(N); KK2 = KK(N)*KK(N); LL2 = LL(N)*LL(N); FF = (AE2*BC2*HH2 + BE2*AC2*KK2 + CE2*AB2*LL2)/(BC2*HH2 + AC2*KK2 + AB2*LL2); FF = SQRT(FF); VINT(N) = VINT(N)*FF; MAXI NT = M AX(VI NT(N),MAXI NT); END; WEITER:N = N-1; PUT FILE(ABIN) EDIT(AA,TITEL,AA,' ')(COL(1),A,A(80),A,A); PUT FILE(IDA) EDIT(AA,TITEL,AA,' ')(COL(1),A,A(80),A,A); INSUM = 0; DO 1 = 1 TO N; IF MOD(l,55) = 1 THEN SIGNAL ENDPACE; DWERT=WLV(2*SQRT(Q(I))); THETA = ATAND(SQRT(Q(I)/(1-Q(I)))); RELINT = VINT(I)*100/MAXINT; IF HH(l) = 0 & KK(l) = 2 & LL(l) = 0 THEN INSUM(1)=VINT(I); IF HH(I) = 1 & KK(1) = 1 & LL(l) = 0 THEN INSUM(2)=VINT(I); IF HH(I)=1 & KK(I) = 1 & LL(I) = 1 THEN INSUM(3) = INSUM(3) + VlNT(l); IF HH(I) = 1 & KK(I) = 2 & LL(I) = 0 THEN INSUM(3) = INSUM(3) + VINT(I); IF HH(I) = 1 & KK(I) = 2 & LL(I) = 1 THEN INSUM(4) = INSUM(4) + VINT(I); IF HH(I) = 0 & KK(I) = 0 & LL(I) = 2 THEN INSUM(4) = 1NSUM(4) + VINT(I); IF HH(I) = 1 & KK(I) = 3 & LL(I) = 0 THEN 1NSUM(5) = VINT(l); IF HH(I) = 0 & KK(I) = 2 & LL(I) = 2 THEN INSUM(6) = INSUM(6) + VINT(I); IF HH(I) = 0 & KK(!) = 4 & LL(I) = 0 THEN 1NSUM(6) = INSUM(6)+VINT(I); IF HH(I) = 1 & KK(I) = 3 & LL(I) = 1 THEN INSUM(7) = VINT(I); IF HH(I) = 1 & KK(I) = 1 & LL(I) = 2 THEN INSUM(8) = VINT(I); IF HH(I) = 2 & KK(I) = 0 & LL(I) = 0 THEN INSUM(9) = INSUM(9) + VINT(I); IF HH(I) = 0 & KK(I) = 4 & LL(I) = 1 THEN INSUM(9) = INSUM(9) + VINT(I); IF HH(I) = 2 & KK(I) = 1 & LL(l) = 0 THEN INSUM(10) = VINT(I); IF HH(I) = 1 & KK(I) = 2 & LL(I) = 2 THEN INSUM(11) = INSUM(11) + VINT(I) IF HH(I) = 1 & KK(I) = 4 & LL(I) = 0 THEN INSUM(H) = INSUM(11) + VINT(I) IF HH(I) = 2 & KK(I) = 2 & LL(I) = 2 THEN INSUM(12) = INSUM(12) + VINT(I) IF HH(I) = 2 & KK(I) = 4 & LL(I) = 0 THEN INSUM(12) = INSUM(12) + VINT(I) IF HH(I) = 1 & KK(I) = 2 & LL(I) = 3 THEN INSUM(12) = INSUM(12) + VINT(I) IF HH(I) = 1 & KK(I) = 5 & LL(l) = 2 THEN INSUM(13) =VINT(I); PUT EDITd/)\HHd),KKd),LLd),RELINT,VINTd), 2*THETA,DWERT,SQRT(STRU(l)),MUL(l),LOPO(l),SUMA(l),SUMB(l), SUMAX(I),SUMBX(I)) (COLd^FO^XA^ F(4,0),F(9,3),F(12,2)/Fd0/4),F(10,5)/ HT\A),H5,0),H10A)A F(12,5»; PUT FILE(IDA) EDIT(HH(I),KK(I),LL(I),2*THETA,RELINT,' ') (COLd),3 F(4/0)/Xd),F(9,4),X(1),F(9/3),A); PUT FILE(ABIN) EDlT(HH(l),KK(l),LL(l),VINT(l)/ ') (COLd),3 F(4,0),X(3),E(12,5/6),A); END; PUT EDIT(TITEL)(PACE,SKIP(2),A); PUT FILE(MN1) EDIT(AA,TITEL,AA,' ')(COL(1),A,A,A,A); PUT EDIT('222')(SKIP(3),COL(115),A); PUT EDIT('111','121V022','200','122'/'240') (COL(34),A,COL(43),A,COL(61 ),A,COL(88),A,COLd 06),A,COLd 15),A); PUT EDIT('020'/110'/120'/002'/130'/040'/13r/112'/041', '210','140'/123'/152') (COL(16),d3) (A,X(6))); PUT SKIP(2) EDIT('020')(COLd),A); PUT FILE(MN1) EDIT('020')(COLd),A); DO 1 = 1 TO 13; PUT EDlT(INSUM(1)/INSUM(l))(COL(12 + (l-1)*9),F(9/5)); PUT FILECMN1) EDIT(lNSUM(1)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); END; PUT SKIP(2) EDIT('110')(COL(1),A); PUT FILE(MN1) EDIT('110')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(2)/INSUM(I))(COL(12 + (l-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(2)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); END; PUT SKIP(2) EDIT('111 + 120')(COL(1),A); PUT FILE(MN1) EDIT('111+120')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(3)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(3)/INSUM(l))(COL(12 + (l-1)*9)/F(9,5)); END; PUT SKIP(2) EDIT('121+002')(COL(1),A); PUT FILE(MN1) EDIT('121+002')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(lNSUM(4)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(4)/lNSUM(l))(COL(12 + (l-1)*9),F(9,5)); END; PUT SK1P(2) EDIT('130')(COL(1),A); PUT F1LE(MN1) EDIT('130')(COL(1 ),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(5)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(5)/INSUM(l))(COL(12 + (I-1)*9),F(9,5)); END; PUT SKIP(2) EDIT('022 + 040')(COL(1),A); PUT FILE(MN1) EDIT('022 + 040')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(6)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(6)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); END; PUT SKIP(2) EDn"('131')(COL(1),A); PUT FILE(MN1) EDIT('131')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(7)/INSUM(i))(COL(12 + (l-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(7)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); END; PUT SKIP(2) EDIT('112')(COL(1),A); PUT FILE(MN1) EDlT('112')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(8)/INSUM(l))(COL(12 + (i-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(8)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); END; PUT SKIP(2) EDIT('200 + 041')(COL(1),A); PUT FILE(MN1) ED1T('200 + 041')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(9)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(9)/lNSUM(l))(COL(12 + (l-1)*9),F(9,5)); END; PUT SKIP(2) EDIT('210')(COL(1),A); PUT FILE(MN1) EDIT('210')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(10)/INSUM(I))(COL(12 + (I-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(10)/INSUM(I))(COL(12 + (I-1)*9),F(9,5)); END; PUT SKIP(2) EDIT('122+140')(COL(1),A); PUT FILE(MN1) EDIT('122 + 140')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(11)/INSUM(l))(COL(12 + (i-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(11)/INSUM(l))(COL(12 + (]-1)*9),F(9/5)); END; PUT SKIP(2) EDIT('222 + 140 + 123')(COL(1),A); PUT FILE(MN1) EDIT('222 + 140 + 123')(COL(1),A); DO 1 = 1 TO 13; PUT EDIT(INSUM(12)/INSUM(l))(COL(12 + (I-1)*9),F(9,5)); PUT FILE(MN1) EDIT(INSUM(12)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); END; PUT SKIP(2) EDIT('152')(COL(1)/A); PUT FILE(MN1) EDIT('152')(COL(1),A); DO 1 = 1 TO 13; PUT ED!T(!NSUM(13)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); PUT FILE(MN1) EDiT(INSUM(13)/INSUM(l))(COL(12 + (l-1)*9),F(9,5)); END; END LATEX; 225 Example of output OLIVINE : M(1):FE(0.167)MN(0.333)MG(0.500) M(2):FE(0.167)MN(0.333)MG(0.500) SPACE GROUP : P B N M Bravais multiplicity = 1.0 2 conditions for non-extinction 4 equivalent point positions HOL: H+L=2N OKL: K=2N (+ symmetry centre at the origin) O.50000-X -X 0.50000+X O.50000+Y -Y O.50000-Y 0.50000-Z O.50000+Z -Z scattering factor coefficients a1 b1 FE 11.76950 4.76110 MN 11.28190 5.34090 MG 5.42040 2.82750 6.29150 SI 0 2.43860 3.04850 13.27710 a2 . 35730 . 35730 . 17350 b2 0.30720 0.34320 79.261 10 3.03530 32.33369 2.28680 5.70110 a3 3.52220 3.01930 1.22690 1.98910 1.54630 b3 15.35350 17.86739 .38080 .67850 .32390 0. O. O. a4 2.30450 2.24410 2.30730 1.54100 0.86700 b4 76.88049 83.75429 7.19370 81.69370 32.90889 c .03690 08960 85840 14070 25080 sum(ai)+c 25.99040 24.99220 11.98650 13.99760 7.99940 radiation : CUA1 anomalous dispers atom positions landa = 1 .540560 ion correction terms : FE MN MG SI 0 delf r -1 . 1790 -0.5680 0. 1650 O.2440 0.0470 delf i 3.2040 2.8080 0.1770 O.3300 0.0320 x/a y/b z/c Bt mu 11 occ N atoms / uni t FE 1 0, 000000 0. .000000 0 .000000 0. . 5031 0 .5000 0 . 1667 4 .0 0 .66668 FE 2 0. .988850 0. .278870 0. .250000 0. .4702 0 .5000 0 . 1667 4 .0 0 .66668 MN 1 0. .000000 0. .000000 0. .000000 0. .5031 0 .5000 0 . 3333 4 .0 1 . 33332 MN 2 0. 988850 0. .278870 0. .250000 0. .4702 0 .5000 0 . 3333 4 .0 1 . 33332 MG 1 0. 000000 0. .000000 0. .000000 0. .5031 0 .5000 0 .5000 4 .0 2 .00000 MG 2 0. ,988850 0. .278870 0. .250000 0. .4702 0 .5000 0. .5000 4 .0 2 .00000 SI 1 0. 425030 0. .095400 0. .250000 0. .3463 0. .5000 1. .0000 4 .0 4 .00000 0 1 0. 763510 0. .092360 0. .250000 0. .4967 0. .5000 1. .0000 4 .0 4 .00000 0 2 0. 215820 0. 450440 0. .250000 0. 4950 0. .5000 1. ,0000 4 .0 4, .00000 0 3 0. 282480 0. ,163610 0. .036750 0. 5387 1 . .0000 1. ,0000 8 .0 8, .00000 a = 4.80630 b = 10.48500 c = 6.09630 alpha = 90.00000 beta = 90.00000 gamma = 90.00000 vol 307.2173 K5 (S3 226 ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooodoooooooooooooooooooooooooo to^i^o)0)c>)^^cNioioini^o)na)t^u)tDinc^ncocooino)csino^cn^ooo)cn<>iCDt~t~cn't'*^to cnm^o)CDOcoo)t~^oi~toOTOinM-iD^^oooiniococ^iDi^ooocoioinoocor-oococ)oointocvio^' inh-o)U)^0)c\iO)^^o)in^o5<c^^oi^mcD^^^o)U)ooOintDtnrjOTcoooin"i}-oooi^roocN^-inoo ^icr^^on^noc^inc^iDin^^cNio)0)ooinc\i-^coi^cor)ooOOcooa)r--OinojnocNiU)i~'-0)-^ 0)Ococ^^r~iDcoiD^in(T)^co^innc>it^iDU)i^innojoo^c^OcocooininOt~'-inOcj-^0'ro) OfOOinoO'-iS'-oiBni^M'-ooooOn'-NOn'-ooO'-inon'-oontiDOisooi'ir I I I I I -- It- || | |T-f llll ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooo cn^cDLO^cMinT-cNTtLncnTtincn^cnLnTfcnTrcDCDLnt^^TtcoincnOTfro cn TtcMcocM-'-Tf05Trcot--a5TtTfcoTrinco CM CM co I CO CM CO CM in r~ •»- CD Tf CD I I III It- III '-^n'-lnou)^Ila)0)Ulln<Oln'-»^I)M'-lIJlnowon^(,)no^I)^!0)0)'-^^N^<flno^ffl^tc^l ^co^co^OcNcn^TfcocMcoo^coco^cocococNCDco^coincncoLncji^cDCDL^ in^cococNCMO^i~cNO^CDCNcoOLncococNcnTfCDt~cocDC55TfcMincDcoTtcNOT OI^'-lIlO^"fplOnn^t-tfno)^Sln^^^lJl^(,)ncD^^^^lln•I^10000llOlnffnrM'-TfOLncNcnenTtTfcNOOcncnoocor^t^f-cDCDCDLnLnLOinTfTfTfTfTfTfTfTfTfTrTf tnwpi'-'-'-'-'-'-'-CMTfTtTfO0Tr00CNTfTfcMCOC0TtCNTfO3Trc0Tfc0CDCOTfTfTfTrTf00Tf00C0C0ra 05 Tt CM CO O O oo t- 0) O in r- CO CD O 0) I- l» CM r- t~ CO r- co i- CO r» TT in CD in •>- in o CM CO r- CO O in O Tf co CO ID co co CO ^ co oo O CN CM i in CO CO CM O O CO CO 00 co co i— CO 0) cn O co in cn o cn co in T~ TT 0) CO T— 00 0) o t— r» cn m If) u t- t T- CM Tt t- CM 0) CO CM CO O CO CM CO co O CO in CM 0) co in co CO t- T- CO oo CO co CO in o O CD CM CO 10 Tr CO 0) o cn Tr CD TT CM CO Tf TT r~ t- co co ^ CM O CO in CO oo in CD in CM o 0) 00 CD O CM CD l~ in CO CO CO CD in CM O co i~-cocDinr~OcocoLO T- COO5COCOO5COCDOCDCMCDO5CD ,- incMOO-ttOcocn^-coOint- ,- CD co CO co Tt CM CO CN ••- •*0"d-cot~0)'a-'^coM-inco CM CM CO t- *- CO CO T- oo CM in t- CO t- Tr CD OC005CDt--CDa5LOr-'-LOCMCncOin*-CMlDCDr~t"-TrT-ir)t-cor3CMi~Ot-iD»-cMT)-coOt-TircocMinincncDin cMcn-a-^j-t-cMcooocDin'-'j-oicococMO'-coTCMCMco Triot--r--LOTfcDTrcNcocMCDO)OOTrT-ococoior--LO cMcoo)r-minoOcocDCDin^'»tj-cococot-t-'-oo ^r'-cotx^cocococMco^oo'-OcoincDoocNOcN •tcMOi^'-cocDcoincDOCDCoi^inOcoincncocoO t~OcN'»t~cO'-t^cMcocoin'-cMt~-^o)00)cNinco oococMO)oocot~inM-cocoi^r~cO'5i-Oi^CD'»'»cMO 0)0)0)cococooococococor~t-t^r~t--cocDCDCOCDco LOTrcOCOCOCOCOCOCNCNCMCMCMCMCMCMCMCMCNCMCMCMCN t- r- co co LO CM CM ^cncD^cncoc^cMCDOCDcncDCMCoOcncMCD^-coOcDoocDcMlncD•^'- oo in in Tf oo 00 t-'-'3-LnO)UOCDCOOOC7)CMOC7)CDCDt-COCOt--COCO t~C0CMTrO5COC0COCOC0LO00 CO CO T- CD CO 05 T— O *-0) o "» in in CM r- CM 05 r- in 01 t- CO 0) •q-'-LncncMcocnocoini--r-cooocMcncn'- incMOincot-LOTt-CDCN oo co co in o CM CD 05 •'-cn CO CO CO CO 0) -r- CM CM 05 CD 05 CDl-CNCn'-CMCDO'S-inCD'!!- in co co co in CM CO 05 in co CD O CM co in in cn 05 CO Tr Tr in i- i- co CO 05 t- f CO CO inini-t~-oooococncno5cnt- ^_ T- CM CO Tf LO LO LO CD t-CM CM CM CM CM CM CN CO CO CO CO CO CO CO CO CO CO TT TT TT TT TT ^t'<J-^-Tr'q-'»'3-'5}-"»'<l-'*LO in in in in in LO in LO in in Tr 05 co in LO LO LO CO 00 in r~ *- CO TT in oo CM CD LO OOCDOOnCOCOCDOt~CO'^-05inoOCNO'?r~CM _ CD r» C- co in CD CM CO cn CM r^co^cDini^cocnt^r-cocDCNoocoOcop-cn^co'q-cocjcoco ^-cor^cocDOcocoh--CD CO •3- in in CO 0) 05 CD CM CO cn co cn CD oo CO 05 O CD O Tt t~OC0'q-'-C0'*C0C0CDC005 O r» CO Tf cn LO l~- CM CO CD r~ i- in oo CO 0) 05 CD -t— CO CO 0) O T TT in en CN co CM o co '-'-05Lnc-coooOr--c-00 CM LO LO 00 1- ^~ LO O CD co CO CM in r» t— TT in 0) CO CO O O O >* t O CO f- 05 CO 00 cit f in'-ooTLOt^-oicD CO O CO Tf 1- co in r- T— -1— CO oo CM o cn r- t» Tr CD co CO CM TT O O CD CO I- O CO CD ^fooco TJ- •r- rt m 05 O tn -r- CO Tf CO CM T-co r- r- CM LO CM CO CO 00 CN TT *- co •* Tr co o r» co T- CM Tf CO CM CM CM CO o CD LO CM TT TT CD ^— TT r~ in CO 05 05 Tr CO O co ^_ o CM O cn to Tr r- co co O Tr CM co 050"*05Tf^r~oocDr-incD co oo r» O LO 05 CM CO CM in Tr in co •»- O r- CM 0) 00 o CO O CM CO CD CD CO t- CD O t- t- CMI~-'-OTrcOO'-05CM05in Tf in LO oo CM in T— •r- CO CD Tr Oft co Tf m CM CD CO 05 O O in LO CD *f LO <r- O *- •D-cocoOf-Ocoh-O'-'-CD CM O CM CM CO o CD *- CO CO 00 t» 05 TT O 0) CO O CO CD t~- t- r- o O in T- cM^-rrOOOOOr~Oinco CO O CM CO t- O O oo CN CO r» O -~ CM T- i- CD CM t-OO^^^O^CMOCMOT-CM^OOCMO^O^CM^CMOOCOCM'-COCMCOCM'-CMOCOO'-'-CMCOOCNCO CN^CNO^CMCNOncMTfCO^TfO^CNTf^cMTfCOCNTfCOlOCMOCOO^^TfLnCMTfcNCDTfCDCD O^O^^^^O^OO^^OCMCM-^-'-CMCM-^-'^CNOCM'-OCMCM^-CM'-'-T-CMCN'r-OCMOCM'-'-'-O ^cMnTfincDf-cooi0^cNnTfLncor-oocBO^cMCOTfincDNcoo)0^cNnTtinc^ ^^^^^^^^^^CMCMCMCNCNCMCNCMCMCMCOCOCOCOCOCOCOCOCOCOTfTfTfTfTfTf ^^^^^^mtnoitncntnoioioioicncncncncncntncncncnfefefefe cnfecoNo-*ococo-jmcnfecoio^ocooo--4tncnfecoro-".otocD-jo) cocoro^^^MCOMCOio-'.-'.-'.coOcoroo-'.Ororococorocoroco-.-fe IO 01 -1 cnrocn-<.cncoco~j-'.cncoro ro ro cn fe O fe ro -•• O tn -•• tn O ro U&MUO-'IiIO^lOO^ CO IO CO fe ro o to -* O O CO ro CO -j. o -••OOOOOOIOroOOfeO -* O -•• O CO CO CO -*• cn fe CD rO-".C0-*.O-J->-C0->.rOC000 fe CO fe cn cn 00 00 _ _ ^ o IO IO Ooorotnroo3fe-».-ja>tofe o CO CO CO _t cn CO tn oi co cn ro co CO cn cnooocnfetofe-o.cnfetn^] M CO cn cn ro O ^1 O ~j oo co ro A ro -J cn -j ro CO fe ro ro -J. to . ro O IO -j —i. O tn -A. tn cn cn co ro co fe -•. co o CO CO fe cn cn -j CO _. to _t tn 00 tn o tn CO ro -j O fe O to oo tn oo o ro cn CO CO cn cn oo fe CO cn cn CO CO CD CO oo ro CO O tn a> co fe to tn cn cn CO cn O CO ro cn fe O cn -*• CO ro CO 00 CO ro -j CO ro oo cn oo tn co co oo O ro O cn -j oo cn ~j _» rocnfevifeorooocno Ototooo~j-~icnoo-'- to _i -j CO cn oo CO fe 00 oo cn tn CO 03 fe CO -* IO fe O cn co cn ro oo 00 ro ~* CO CO cn cn cn 0) cn cn cn tn tn cn tn tn tn tn tn tn cn cn cn cn cn cn cn cn tn c tn cn cn <n 00 oo oo cn cn <n cn cn cn cn cn fe & CO CO ro (o-kOOOOOOOtooooooo cnfe0^to^tnfe003-»i-'--jcooocnfecoO--J--]feCococorocncoro-'. cooocooocncn-^^cno3toooioootn-».fetn~itn-».^!03cncofe->-cnoi'0 feio^co-JON3feOcofecocncnrocn-~icncofecn(OcococooiOfecnro fecofeiooocotnrotnco^fe^^cno-''tocototococofetntnroio->.to fe fe fe fe cn cn cn cn cn cn tn tn tn cn tn cn 5101-JID(DOOO-»--'UU fe cn tn oo oo _i ro ro ro to CO CO co fe to oo oo tnootnrotnoiouicotnoooco tn cn CO cn tn CO fe CO _t ro ro fe co o to tn tototorocoo--4tococniooo 00 to fe CO to o ro O fe cn oo to fe o -i -J (0-s.roco-jro-juicoro-.rofe ~* 00 CO fe O CO co ~j co fe tn fe a> co co ro to tntnro-^ro -j.cn fe oo tn ro _ CO cn CO CO to CO ro fe Ocotnroo-ioroco-jcnoo^] CO -•• ro ro -•• O -* roocnfetocotnfe Otntoco-^coco-'COOOotnA o oo tn oo O cn cn cn O _^ to O tn to ro -J ai---coro-o.cofeioto^icocnfe cn O O CO _i cn CO fe -j oo CO tn o to cn fe rocncnfe-jco^jcofeoooooocn CO cn CO ro oo —4. O CO fe tn CO ro ro to co tn Ocncooofe-j^itococooofefe O CO -j O tn O tn oo CO oo ro cn oo tn co feoooooooooooooofeoooofeoooofefeoooofeoorooocofeoooofefefeoo UMUiouroNJiouuroMroioMUMuroioroioMfOroroiocouu -^-^-^rorororococococofefefecncncnoi--ioooooooooooooocooO-* cntntocn^icotoOtocncnofe-J-'fefecn-JO-'Cofefecncnro-jtoo 0~Jtncn->.tna)0)co-'OocnroOfefe-'Ofe-J-'Cncnoo-i.->.a)tooo -^coco--]OoooococnroO'--i(ncncooofe00ocorococo-^ro-^rooocntn < i i i -». i i i i i cntnro^.-^i-^cnifeico icnro-^-^co-^tncococotoro-^ifei Otocnroco-JO-'to(no)-itnto-'io-4-»-k-»oOrootnfetooocnfe Otncocoootococn-'^icDoocooocnootorotnoto-'Oo-JOtntoo-J tnoofeooo-^rofe-jtocofe-jcncnoorofe^icototoofetncnoooofe 0-~4fe-^-^cotn-*-<.oro-^~jooocn-^~4COCoiooofecn~j-^focofero tnoofe^-^.cootn-~jcocoooco--icocotoioio-'io-'OferoOfecococo rofeOroo-'tncofe<n^icococo-'->io-~itooo-'cn-40to~4rotocn oooooooooooooooooooooooooooooo ooobobbbbbbooooooooooobbbbbbbb oooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooo 1 o II i -J. -*cnocooO~Jrocnorotootoo i i —^ i —^ -* O O CO i ro i 1 1 tn o O O fe O CO to CO ~i fe tn tn o fe ro o oo o 00 CO cn co ->• cn fe cn cn tn -4 O tn oo -4. cn O -•• cn fe ro to tn — to oo o fe tn - O co o tn ro to 00 to to ~4 CO o ro co co 00 to tn CO cn tn fe to -•• oo -i tn fe fe cn o -J ro cn co o ro oo 10 co tn tn o co •~i O _t ro to cn cn to oo cn o ro tn cn to cn ro fe ro 00 CO tn CO tn co to 00 CO —*• cn o O -1 ro to oo tn O tn co tn oo to -•• ~i to cn tn tn tn ro co tn o o O o o o o o o o O O O O O O o o o o o o o o o o O O O O OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO APPENDIX E: THE POLYNOMIAL FUNCTION FOR THE LATTICE PARAMETERS In Fig 12 to 15, a polynomial function was used to approximate the values of the lattice parameters as a function of composition. Although this function is not used further, it is given here for the sake of completeness. f = F1.xpe + F2-xMn + F3-xMg + F4.x|e-xMn + F5.x|e.xMg  + F'-xMn*xFe + F',xMn,xMg + F°-xMg'xFe + F'*xMg*xMn The values for the F^ are given below: a0 b0 Co vol. Fi 4. 819677 10. 487292 6. 093562 307.99417 F2 4. 904755 10. 605876 6. 262027 325.74903 F3 4. 754401 10. 201505 5. 982884 290.17196 F« -o. 03020371 0. 126914 -0. 01660544 0.39120356 F5 0. 01548309 -o. 06422586 -0. 03276860 -2.8579071 F6 -o. 02622405 0. 1723197 -0. 05150567 -2.8579071 F7 -o. 02482657 0. 2651929 0. 1090701 10.459802 Fa -o. 00301987 0. 05959161 0. 05274279 3.7445689 F9 -o. 1072226 0. 08315177 -o. 0537160 -8.8489109 228 APPENDIX F: TABLES USED FOR THE APPROXIMATION OF THE  POSITIONAL PRARMETERS AND THE RESULTING UNCERTAINTIES The following tables were used in chapter 2.7. The multiple linear regression of table 4, was fitted with the data in table 17 and 18. Table 19 to 21 are the estimated uncertainties in the calculation of integrated intensities due to approximate positional parameters and temperature correction factors. 229 230 Table 17: Fe-Mn-Mg Olivines from the literature with reported site occupancies and/or structure data Ref . Fe Mn Mg Fe+Mn+Mg a b c Fe(M1) Mn(M1) Mg(M1) Fe(M2) Mn(M2) Mg(M2) (01)Fa 1 .0000 0 .0000 0 .0000 1 .0000 4 .81950 10 .47880 6 .08730 1 .0000 0 .0000 0 .0000 1 .0000 0 .0000 0 .0000 (02)Fa 1 .0000 0 .0000 0 .0000 1 .0000 4 .81800 10 .47000 6 .08600 1 .0000 0 .0000 0 .0000 1 .0000 0 .0000 0 .0000 (03)Fa 1 .0000 0 .0000 0 .0000 1 .0000 4 .81800 10. . 47000 6 .08600 1 .0000 0 .0000 0 .0000 1 .0000 0 .0000 0 .0000 (OO)Fa 1 .0000 0 .0000 0 .0000 1 .0000 4 .81980 10. .48390 6 .09190 1 .0000 0 .0000 0 .0000 1 .0000 0 .0000 0 .0000 (04)Fa 1 .0000 0 .0000 0 .0000 1 .0000 4 .821 10 10. .47790 6 .08890 1 .0000 0 .0000 0 .0000 1 .0000 0 .0000 0, .0000 (05)Fa 1 .0000 0 .0000 0 .0000 1 .0000 4 .81900 10. .47000 6 .08600 1 .0000 0 .0000 0 .0000 1 . .0000 0. .0000 0, .0000 (06)Fa 1 .0000 0 .0000 0 .0000 1 .0000 4 .81860 10, ,48220 6 .11080 1 .0000 0 .0000 0, .0000 1 .0000 0 .0000 0. .0000 (14)0L5 0 .8900 0 . 1100 0. .0000 1 .0000 4 .82600 10. .51400 6 .10500 0 .9760 0 .0240 0, .0000 0. .8050 0 . 1950 0, .0000 (14)0L4 0 .6900 0 .3100 0. .0000 1 .0000 4 .84000 10, ,55600 6 .13500 0 .8260 0, . 1740 0, .0000 0 .5560 0 .4440 0, .0000 (14)0L3 0 .4700 0 .5300 0, .0000 1 .0000 4 .85600 10, .58500 6 .16800 0 .6110 0 .3890 0. .0000 0. .3310 0. .6690 0, .0000 (14)0L2 0 .3000 0 .7000 0. .0000 1 .0000 4 .87100 10. .59400 6 .20000 0, .4040 0 .5960 0. .0000 0. . 1970 0. .8030 0 .0000 ( 14)0L1 0 .0900 0 .9100 0. .0000 1 .0000 4 .89600 10. , 60300 6 .24100 0, . 1350 0, .8650 0. .0000 0. .0450 0. .9550 0, .0000 (01)Teph 0 .0000 1 . .0000 0. .0000 1 .0000 4 .90230 10. 59640 6 .25670 0, .0000 1 , .0000 0. .0000 0. .0000 1 , .0000 0. .0000 (OO)Teph 0 .0000 1 , .0000 0. .0000 1 .0000 4 .90330 10. 60300 6, .25790 0. .0000 1 , OOOO 0. .0000 0. .0000 1 . OOOO 0. .0000 (12)Teph 0 .0000 1 . .0000 0. OOOO 1 .0000 4. .90000 10. 60500 6 , .26500 0, OOOO 1 . OOOO 0. .0000 0. .0000 1 . .0000 0. OOOO (18) 0 .5200 0. .4600 0. .0200 1 .0000 4 . .84400 10. 57700 6 . .14600 0, ,6600 0. , 2900 0. .0400 0. . 3700 0. ,6300 0. .0000 (17)Fa 0 .9220 0. .0370 0. .0390 0 .9980 4. .81600 10. 46900 6 , ,09900 (16) 0 .5500 0. .0750 0. 3750 1 .0000 4 . ,79800 10. 38700 6 . ,05500 0. 3610 0. 3890 (15)Fo51 0 .0010 0. ,4820 0. 5140 0 .9970 4 . .79400 .10. 49100 6. ,12300 0. OOOO 0. 0800 0. 9200 0. OOOO 0. ,8900 0. 1 100 (17)Hyal 0 .4560 0. .0060 0. 5350 0 .9970 4 . .78500 10. 32500 6. 03800 (08)0G2B 0 . 2900 0. OOOO 0. 7100 1, .0000 4. .77500 10. 28000 6. 01600 0. 2920 0. OOOO 0. 7080 0. 2880 0. OOOO 0. 7120 (09)3G17 0 . 1050 0. .0000 0. 8950 1. .0000 4. .76600 10. 22500 5. 97300 0. 1050 0. OOOO 0. 8950 0. 1080 0. OOOO 0. 8920 (17)Fo 0 . 1000 0. .0000 0. 9000 1. .0000 4. .76200 10. 22500 5 . 99400 0. 1000 0. OOOO 0. 9000 0. 1000 0. OOOO 0. 9000 ho CO 231 Table 17: (continued) Ref . Fe Mn Mg Fe+Mn+Mg a b c Fe(M1) Mn(M1) Mg(M1) Fe(M2) Mn(M2) Mg(M2) (09)3G12 0 .0950 0 .0000 0 . 9050 1 .0000 4 .76400 10. . 22000 5 .99200 0 .0970 0 .0000 0 .9030 0 .0950 0 .0000 0 .9050 (09)3G15 O . 0950 0 .0000 0 . 9050 1 .0000 4 .76900 10 .22900 5 .99400 0 . 1000 0 .0000 0 . 9000 0 .0880 0 .OOOO 0 .9120 (09)3G19 0 .0900 0 .0000 0 .9100 1 .0000 4 .76400 10. .22100 5 .99200 0 .0930 0 .0000 0 .9070 0 .0930 0 .0000 0 .9070 (09)3G51 0 .090O 0 .0000 0 .9100 1 .0000 4 .76200 10. .22600 5 .99200 0 .0900 0. .0000 0 .9100 0 .0860 0 .0000 0 .9140 (09)2500 0 .0900 0. .0000 0 .9100 1 .0000 4 .76500 10. .23800 6 .00000 0 .0900 0 .0000 0 .9100 0 .0900 0 .0000 0 .9100 (09)2501 0 .0900 0 .0000 0 .9100 1 .0000 4 .75400 10. .20700 5 .98700 0 .0960 0, .0000 0 .9040 0 .0860 0 .0000 0 .9140 (09)3G9 0 .0850 0 .0000 0 .9150 1 .0000 4 .76900 10. 22600 5 .99000 0 .0850 0, .0000 0 .9150 0 .0850 0 .OOOO 0 .9150 (09)3G18 0 .0750 0. .0000 0 .9250 1 .OOOO 4 .76500 10. 22300 5 .99200 0 .07 50 0. .0000 0 . 9250 0. .0740 0 .0000 0. .9260 (09)2488 0 .0650 0 .0000 0 .9350 1 .0000 4. .77200 10. 2 1700 5 .99800 0 .0700 0 .OOOO 0. .9300 0 .0630 0 .0000 0. .9370 (10)-481 0 .0120 0. .0030 0 .9850 1 .0000 4. .75330 10. 19720 5 .98210 0 .0120 0. OOOO 0 .9880 0. .0180 0 .0000 0. .9820 (01)Fo 0 .0000 0. .0000 1 .0000 1 .0000 4. .75340 10. 19020 5 .97830 0. .0000 0. .0000 1. .0000 0. ,0000 0 .0000 1. .0000 ( 1 1 )Fo 0 .0000 0, .0000 1. .0000 1 .0000 4. .75350 10. 19430 5. .98070 0. .0000 0. OOOO 1. .0000 0. OOOO 0. OOOO 1. .0000 (00)Fo 0 .0000 0. .0000 1. .0000 1 .0000 4. 75480 10. 20040 5. .98230 0. OOOO 0. OOOO 1. .0000 0. .0000 0. .0000 1. .0000 (04)Fo 0. .OOOO 0. 0000 1. .0000 1 .0000 4 . 75400 10. 19710 5 . . 98060 0. OOOO 0. OOOO 1. .0000 0. OOOO 0. OOOO 1. OOOO (05)Fo 0. .0000 0. 0000 1. .0000 1 .0000 4 . 75100 10. 19700 5 . .97900 0. .0000 0. OOOO 1. OOOO 0. OOOO 0. .0000 1. OOOO (05)Fo 0. .0000 0. 0000 1. .0000 1 .0000 4 . 75300 10. 19600 5 . .97900 0. OOOO 0. OOOO 1. .0000 0. OOOO 0. .0000 1. OOOO (06)Fo 0 .0000 0. .0000 1. .0000 1 .0000 4 . 75450 10. 20000 5 . .98140 0. OOOO 0. OOOO 1. OOOO 0. OOOO 0. .0000 1. OOOO (07)Fo 0. .0000 0. 0000 1. .0000 1 .0000 4. 75600 10. 19500 5. .98100 0. OOOO 0. OOOO 1. OOOO 0. OOOO 0. OOOO 1. OOOO (OO)Fo 0. .0000 0. 0000 1. .0000 1 .0000 4. 75480 10. 20040 5. .98230 0. OOOO 0. OOOO 1. OOOO 0. OOOO 0. OOOO 1. OOOO (00):This work (03):Smyth (1975) (06):Louisnathan and Smith (1968) (09):Basso et al. (1979) (12):Peters et al. ( 1973) (15):Francis and Ribbe (1980) (18):Brown (1980) (01):Fuj1no et al. (1981) (04):Schwab und Kuestner (1977) (07):Yoder and Sahama (1957) (10):Wenk and Raymund (1973) (13):Bradley et al. (1966) (16):Smyth and Hazen (1973) (02):Hazen (1977) (05):Fisher and Medarls (1969) (08):Brown and Prewitt (1973) (11):Hazen (1976) (14):Annersten et al. (1984) (17):Birle et al. (1968) r-o 232 Table 18: Positional parameters for Fe-Mn-Mg Olivines from the literature Ref . X(M2) Y(M2) X(Si ) Y(Si) X(01 ) Y(01 ) X(02) Y(02) X(03) Y(03) Z(03) (01)Fa 0 .98598 0 .28026 0 .43122 0 .09765 0 .76814 0 .09217 0 .20895 0 .45365 0 .28897 0. .16563 0 .03643 (02)Fa O .98510 O . 28030 O . 42920 0 .09730 0 .76800 0 .09070 0 .20790 0 .45510 0 .28900 0. .16500 O .04030 (03)Fa 0 .98530 O . 28000 0 .42920 0 .09750 0 . 76870 0 .09280 0 .20760 O .45290 0 . 28840 0. 16370 0 .03830 (01)Teph 0 .98792 0 .28041 0 .42755 O .09643 0 . 75776 O .09363 0 .21088 0 .45369 0 .28706 0. 16384 O .04140 (18) 0 .98880 0 . 27990 0 .42770 0 .09520 0 .76180 0 .09040 0 .21410 0 .45180 0 .28810 0. 16270 0 .03880 ( 17)Fa 0 .98608 0, .28004 0 .43070 0 .09723 0 .76683 0 .09197 0. .21027 0 .45308 0 .28806 0. 16532 0 .03626 (16) 0. .98670 0. . 27920 0. .42870 0. .09570 - 0 . 76610 0 .09180 0. .21270 0. ,45140 0. , 28440 0. 16330 0. .03570 (15)Fo51 0. .98700 0, ,27900 0, .42260 0. .09100 0, .75850 0 .08670 0. .23010 0. .44890 0, .27820 0. 15900 0, .03740 (17)Hyal 0 .98598 0. . 27880 0, .42843 0 .09587 0, .76566 0 .09430 0. .21642 0. ,45084 0. .28264 0. 16370 0, .03435 (O8)0G2B 0. .98800 0. ,27820 0. .42750 0. .09500 0, , 76660 0 .09190 0. .21790 0. .44890 0, , 28060 0. 16380 0. .03400 (09)3G17 0. .98980 0. 27780 0. .42670 0. ,09440 0. .76610 0 .09180 0. 22050 0. ,44790 0. .27880 0. 16320 0, .03370 (17)Fo 0 .98975 0. 27743 0. .42693 0. .09434 0. . 76580 0 .09186 0. 22012 0. .44779 0, ,27810 0. 16346 0, .03431 (09)3G12 0. ,99010 0. 27760 0. 42670 0. 09430 0. 76590 0. .09160 0. 22060 0. 44760 0. 27820 0. 16310 0. 03370 (09)3G15 0. 99000 0. 27770 0. 42690 0. 09440 0. 76620 0. .09180 0. 22010 0. 44780 0. 27840 0. 16330 0. 03370 (09)3G19 0. .99010 0. 27770 0. 42670 0. 09440 0. 76590 0. ,09170 0. 22050 0. 44770 0. 27850 0. 16320 0. .03360 (09)3G51 0. ,99010 0. 27760 0. .42660 0. 09430 0. 76600 0. .09180 0. 22040 0. 44780 0. 27830 0. 16310 0. .03360 (09)2500 0, ,99010 0. 27770 0. .42680 0. 09440 0. 76570 0. .09180 0. 22050 0. 44750 0. , 27830 0. 16320 0. .03350 (09)2501 0. ,99010 0. 27770 0. 42670 0. 09430 0. 76590 0. .09170 0. 22030 0. 44770 0. 27850 0. 16310 0. .03360 (09)3G9 0. .99010 0. 27770 0. 42670 0. 09430 0. 76580 0. .09170 0. 22050 0. 44760 0. 27840 0. 16320 0. 03360 (09)3G18 0. 99010 0. 27760 0. 42680 0. 09430 0. 76610 0. 09160 0. 22040 0. 44770 0. 27840 0. 16320 0. 03350 (09)2488 0. 99010 0. 27760 0. 42650 0. 09440 0. 76630 0. 09160 0. 22090 0. 44760 0. 27780 0. 16330 0. 03350 Table 18: (cont i nued) Ref . X(M2) Y(M2) X(S1 ) Y(S1 ) X(01) Y(01) X(02) Y(02) X(03) Y(03) Z(03) (10)-481 0.99119 0.27744 0.42625 0.09409 0.76557 0.09144 0.22163 0.44721 0.27723 0.16311 (01)Fo (H)Fo 0.99169 0.27739 0.42645 0.99150 0.27740 0.42620 0.09400 0.76570 0.09130 0.22150 0.44740 0.27770 0.16280 0.03315 0.09403 0.76594 0.09156 0.22164 0.44705 0.27751 0.16310 0.03304 0.03310 (00):Thi s work (03):Smyth (1975) (06):Louisnathan and Smith (1968) (09):Basso et al. (1979) (12):Peters et al. ( 1973) (15):Francis and Ribbe (1980) (18):Brown (1980) (01) (04) (07) (10) (13) (16) Fuj ino et al . ( 1981) Schwab und Kuestner (1977) Yoder and Sahama (1957) Wenk and Raymund (1973) Bradley et al. (1966) Smyth and Hazen (1973) (02) (05) (08) (11) (14) (17) Hazen (1977) Fisher and Medaris (1969) Brown and Prewitt (1973) Hazen (1976) Annersten et al. (1984) Birle et al. ( 1968) Table 19: Temperature correction factors for Fe-Mn-Mg Olivine Ref . Fe Mn Mg B(M1 ) (01)Fa 1 .0000 0, .0000 0 .0000 0 .52000 (02)Fa 1 .0000 0, .0000 0 .0000 0 .48000 (03)Fa 1 .0000 0. .0000 0 .0000 0, .57000 (01)Teph 0 .0000 1 . .0000 0 .0000 0, . 62000 (18) 0 . 5200 0. .4600 0 .0200 0, . 39000 ( 17)Fa o . 9220 O. .0370 0 .0390 0. ,41000 (16) 0 . 5500 0 .0750 0 . 3750 0, .44000 (15)Fo51 o .0010 0. .4820 0 .5140 0. .42000 (17)Hyal 0 .4560 0. .0060 0 .5350 0. .32000 (O8)0G2B 0 . 2900 0. .0000 0 .7100 0. .37000 (09)3G17 0. . 1050 0. .0000 0 .8950 0. .45000 ( 17)Fo 0 . 1000 0. .OOOO 0 .9000 0, ,33000 (09)3G12 o .0950 0. .0000 0 .9050 0, .42000 (09)3G15• 0 .0950 0. .0000 0 .9050 0. .40000 (09)3G19 0 .0900 0. .0000 0 .9100 0. ,50000 (09)3G51 0 .0900 0. .0000 0. .9100 0. .37000 (09)2500 0 .0900 0, .0000 0. .9100 0. ,52000 (09)2501 0 .0900 0, .0000 0, ,9100 0. .45000 (09)3G9 0 .0850 0. .0000 0. .9150 0. 49000 (09)3G18 0 .0750 0. .0000 0. .9250 0. 40000 (09)2488 0 .0650 0, ,0000 0, ,9350 0. 57000 from the literature B(M2) 0.47400 0.37000 0.50000 0.53100 0.41000 0.36000 0.33000 0.54000 0.37000 0.38000 0.49000 O.36000 O.46000 0.41000 0.51000 0.37000 0.54000 0.45000 0.52000 0.41000 0.56000 B(Si ) 0.37200 0.35000 0.41000 0.38200 0.28000 O.27000 0.33000 0.36000 0.19000 0.29000 0.33O00 0.20000 0.30000 0.34000 0.36000 0.25000 0.41000 0.33000 0.40000 0.34000 0.52000 B(01 ) 0.51000 0. 36000 0.53000 O.53700 O.54000 O.43000 0.49000 O.50000 O.40000 0.48000 0.48000 O.35000 0.47000 0.48000 0.51000 0.44000 0.59000 O.50000 0.56000 0.50000 0.70000 B(02) 0.52600 0.33000 0.42000 O.54200 0.41OOO 0.48000 O.50000 O.48000 O.56000 0.46000 0.48000 0.42000 0.47000 O.5O0OO O.53000 0.42000 O.58000 0.48000 0.57000 0.51000 0.68000 B(03) 0.58300 0.58000 0.49000 0.57900 0.54000 O.52000 0.55000 0.50000 0.50000 0.50000 0.52000 0.41000 O.50000 0.53000 O.57000 O.45000 0.62000 0.52000 O.60000 0.54000 0.70000 Table 19: (continued) Ref. Fe Mn Mg B(M1) B(M2) B(Si) B(01 ) B(02) B(03) (01)Fo (11)Fo 0.0000 0.0000 0.0000 0.0000 1.0000 1.0000 0.44700 0.26000 0.44200 0.22000 0.30400 0.08000 0.40100 0.26000 0.40300 0.24000 0.43500 0.28000 (00) This work (01) Fuj ino et al. ( 1981) (02) Hazen (1977) (03) Smyth (1975) (04) Schwab und Kuestner (1977) (05) Fisher and Medaris (1969) (06) Louisnathan and Smith (1968) (07) Yoder and Sahama (1957) (08) Brown and Prewitt (1973) (09) Basso et al . ( 1979) (10) Wenk and Raymund (1973) (11) Hazen (1976) (12) Peters et al. ( 1973) (13) Bradley et al . ( 1966) (14) Annersten et al. (1984) (15) Francis and Ribbe (1980) (16) Smyth and Hazen (1973) (17) Birle et al. (1968) (18) Brown (1980) 23S Table 20.: Estimated errors in the calculation of integrated intensities: Example for Tephroite (Mn*SiO«) hkl xM2 yM2 xSi ySi x01 y01 x02 y02 x03 y03 z03 bM1 bM2 bSi b01 b02 b03 err.% INT. 020 0.52 -0.73 -2.53 1.50 -4.38 . -0.70 1.01 -0.22 -0.14 -0.34 0.35 5.52 9.21 110 -0.06 -0.86 -1.20 0.24 0.35 -0.05 1.04 -0.12 -0.56 0.61 -1.41 0.37 0.79 -0.02 0.16 0.15 2.64 7.15 021 . -1.09 0.23 0.89 1.98 -0.53 3.37 0.00 0.59 -0.86 -0.48 0.33 -0.25 4.36 12.55 101 3.68 -2.30 0.02 0.23 -0.06 4.55 0.00 0.16 -0.59 0.70 -0.77 -0.37 6.42 7.44 111 0.13 -0.07 -0.34 -0.14 0.09 0.03 -0.13 -0.16 -0.10 -0.04 -0.43 0.00 -1.15 0.33 -0.01 -0.03 0.04 1.36 54.56 120 -1.30 0.10 -2.05 0.13 0.02 -1.02 -0.12 2.23 -0.19 -2.29 . 0.00 0.07 -0.61 0.71 0.46 1.37 4.49 6.82 002 .......... 2.60 1.29 -1.77 -1.01 -0.57 -0.64 1.03 3.79 7.17 121 -5.16 -0.06 -1.23 -0.55 0.01 4.02 0.29 2.28 0.04 -1.73 -3.13 O.OO -0.36 -0.48 0.62 -1.48 0.39 8.11 3.56 130 0.03 0.36 0.06 0.20-0.01-0.04 0.11-0.15 0.17 0.01 -0.55-0.41-0.09 0.00 0.04-0.11 0.86 86.70 022 -0.17 0.22 0.75 -0.44 -1.12 0.64 -0.97 -1.24 0.26 0.16 0.38 0.34 2.31 29.91 040 -0.78 -0.39 -1.40 1.85 . 3.11 -1.26 -1.25 0.72 0.37 -0.23 0.61 4.48 8.96 131 0.06-0.33 0.33-0.07-0.09 0.01 0.19 0.18 0.00-0.12 0.01 0.00-1.10-0.63 0.02 0.09-0.00 1.39 64.32 112 0.01 0.16 0.22 -0.04 -0.06 0.01 -0.18 0.02 -0.08 0.09 0.12 -0.77 -0.20 -0.43 0.01 -0.09 0.07 0.99 100.00 200 0.31 1.21 0.02 -0.23 . 0.22 . -1.11 -1.51 -0.45 0.45 0.45 0.84 2.55 12.53 041 0.85 -0.47 -1.51 0.87 . -0.55 -1.40 0.00 -1.49 -0.79 -0.46 0.67 0.29 3.14 12.80 210 -3.94 -0.01 -0.89 0.15 0.21 0.06 0.25 0.34 0.76 0.31 . 0.00 -0.46 -0.84 -0.05 0.15 -0.76 4.33 6.12 122 0.75 -0.06 1.18 -0.07 -0.01 0.55 0.06 -1.19 -0.09 -1.08 -2.12 0.00 0.09 0.80 -0.88 -0.58 -1.48 3.65 11.98 140 -1.02 0.06 0.06 0.23 -0.00 -1.52 0.08 -0.85 -0.07 2.10 . 0.00 -0.12 0.42 -0.51 -0.72 -1.20 3.31 10.79 211 0.88-0.07-1.47-0.12 0.34-0.05-0.94 0.11 0.13-0.15 0.62 0.00 0.11-1.59-0.10-0.62-0.15 2.71 7.56 132 -0.10 -1.25 -0.20 -0.68 0.04 0.12 -0.36 0.48 0.48 0.04 -0.67 -3.50 2.65 0.58 -0.01 -0.25 -0.58 4.81 5.59 ho 221 0.40 1.37 -4.00 -0.15 -0.06 0.96 -0.44 1.90 -0.17 -0.51 3.26 0.00 -2.69 2.09 -1.93 1.16 -0.89 7.16 2.47 cr> 237 Table 20. (continued) hkl xM2 yM2 xSi ySi x01 y01 x02 y02 x03 y03 z03 bM1 bM2 bSi b01 b02 b03 err.% INT. 042 1.43 . 0.73 2.46 -3.17 . 4.70 1.66 -3.91 3.97 -2.29 -1.09 0.70 1.58 9.17 2.29 150 -0.13 -1.24 0.73 0.11 -0.18 -0.03 0.05 -0.89 -0.20 -1.40 . -3.58 4.11 -2.46 0.07 0.04 0.29 6.39 2.77 113 0.11 -0.06 -0.29 -0.12 0.07 0.02 -0.09 -0.12 0.20 0.09 0.70 0.00 -3.65 1.01 -0.03 -0.08 -0.30 3.89 9.95 151 0.08 -1.64 -0.08 0.96 0.03 -0.16 -0.43 -0.11 0.10 -O.16 0.45 0.00 -2.91 0.28 -0.01 -0.38 -0.16 3.58 5.47 222 0.15-0.08-0.23 0.06-0.00-0.33 0.09 0.17-0.04 0.44-0.25-1.04-1.31 0.16-0.15-0.33-0.30 1.88 69.26 123 -2.52 -0.03 -0.61 -0.27 0.00 1.69 0.12 0.96 -0.05 2.02 2.91 0.00 -0.51 -0.71 0.78 -1.85 -1.35 5.45 2.64 240 0.14 -0.37 -0.60 -0.11 -0.01 0.62 -0.05 -0.71 -0.07 -1.20 -1.31 -1.29 0.42 -0.35 0.20 -0.51 2.61 21.67 241 0.25 0.71 0.98 -0.22 0.01 1.15 0.23 -0.58 -0.05 0.37 0.95 0.00 -2.45 -0.74 0.69 -0.89 -0.38 3.51 11.10 061 0.40 0.47 1.44 . 0.24 -0.73 0.09 0.00 -2.20 -0.66 -0.25 -0.73 -0.04 2.99 12.29 133 0.06 -0.33 0.33 -0.07 -0.08 0.01 0.16 0.15 -0.01 0.29 -0.03 0.00 -2.57 -1.51 0.04 0.17 0.01 3.05 15.24 152 0.06 0.55 -0.32 -0.05 0.07 0.01 -0.02 0.36 -0.07 -0.49 0.10 -2.20 -2.47 1.52 -0.04 -0.03 0.14 3.75 15.62 043 0.55 -0.32 -0.87 0.50 0.86 1.76 0.00 -2.13 -1.18 -0.58 0.85 -0.99 3.63 7.60 310 -0.14 -0.22 -2.05 0.01 -0.22 0.03 -0.52 0.07 0.29 -0.37 -2.77 0.71 0.14 0.12 -0.74 -0.69 3.75 4.92 004 . -1.36-0.96-1.33-0.78-0.35-0.39-0.36 2.36 20.52 242 -0.41 1.08 1.82 0.31 0.02 -1.70 0.15 1.98 -0.18 -2.88 -1.03 -4.98 5.04 -1.67 1.28 -0.72 -1.63 8.88 2.99 062 -0.52 -0.15 -0.35 . -0.88 0.12 -0.50 -1.26 -0.72 -0.91 -0.42 -0.09 -0.81 2.29 23.85 330 0.33 0.47 0.51 0.02 0.04 0.12 -0.27 0.43 -0.43 -0.04 -2.67 -1.96 -0.04 -0.03 -0.45 1.24 3.71 5.27 170 0.04 0.19 0.09-0.37-0.02 0.05-0.05-0.27-0.07 0.42 -1.74-2.34-0.57 0.02-0.07 0.17 3.05 12.43 331 0.67 -0.39 2.67 -0.01 0.27 -0.03 -0.42 -0.48 -0.01 0.33 -0.04 0.00 -4.14 -0.22 -0.18 -0.74 0.02 5.11 5.58 312 0.13 0.20 1.88 T0.01 0.19 -0.02 0.44 -0.06 0.21 -0.27 -0.34 -3.09 -0.80 -0.15 -0.13 0.78 -0.64 3.91 7.85 322 -1.09 0.08 -0.18 0.08 -0.03 0.23 0.22 -0.37 -0.30 -0.35 -0.69 0.00 -0.37 -2.51 -1.01 -0.51 -1.35 3.42 7.31 134 0.03 0.38 0.06 0.22 -0.01 -0.03 0.09 -0.12 0.07 0.01 -0.59 -2.47 -1.85 -0.44 0.01 0.15 -0.20 3.22 12.26 238 Table 21.: Estimated errors in the calculation of integrated intensities: Example for Fayalite (Fe;SiO«) hkl xM2 yM2 xSi ySi x01 y01 x02 y02 x03 y03 z03 bM1 bM2 bSi b01 b02 b03 err.% INT. 020 . 0.54 -0.75 -2.55 . 1.52 -4.43 -0.83 1.07 -0.22 -0.15 -0.35 0.37 5.61 8.98 110 -0.07 -0.81 -0.97 0.23 0.31 -0.10 0.94 -0.11 -0.50 0.58 -1.37 0.36 0.77 -0.06 0.16 0.15 2.43 8.46 021 -1.16 0.23 0.97 2.07 -0.52 3.50 0.00 0.64 -0.93 -0.52 0.35 -0.25 4.57 11.41 101 4.56 -2.86 0.05 0.30 -0.07 5.52 0.00 0.25 -0.67 0.88 -0.97 -0.43 7.87 4.98 111 0.15 -0.07 -0.29 -0.14 0.09 0.06 -0.12 -0.16 -0.09 -0.03 -0.43 0.00 -1.18 0.35 -0.02 -0.03 0.04 1.38 58.12 120 -1.39 0.13 -2.23 0.12 0.04 -1.13 -0.14 2.35 -0.20 -2.47 0.00 0.09 -0.59 0.76 0.50 1.47 4.82 6.10 121 -5.23 -0.08 -1.20 -0.48 0.02 3.91 0.31 2.24 0.04 -1.56 -3.16 0.00 -0.46 -0.42 0.66 -1.50 0.38 8.07 3.61 002 . . 2.46 1.43 -1.95 -1.08 -0.61 -0.69 1.13 3.90 6.64 130 0.03 0.36 0.05 0.20 -0.01 -0.09 0.11 -0.15 0.17 0.01 -0.57 -0.42 -0.10 0.00 0.05 -0.12 0.88 91.75 022 -0.16 0.21 0.70 -0.41 -1.08 0.58 -1.00 -1.28 0.25 0.16 0.38 0.36 2.29 31.69 040 -0.74 -0.34 -1.35 1.70 . 2.90 -1.23 -1.23 0.69 0.33 -0.22 0.55 4.21 10.48 131 0.08 -0.34 0.29 -0.08 -0.09 0.02 0.18 0.19 0.00 -0.12 0.01 0.00 -1.16 -0.65 0.05 0.09 -0.00 1.44 64.86 112 0.01 0.16 0.19 -0.04 -0.06 0.02 -0.18 0.02 -0.08 0.10 0.11 -0.82 -0.21 -0.45 0.03 -0.09 0.08 1.03 100.00 200 0.35 1.00 0.04 -0.22 0.21 -1.07 -0.44 -0.50 0.41 0.41 0.77 1.93 15.07 041 0.86 . -0.47 -1.41 0.86 -0.47 -1.39 0.00 -0.52 -0.76 -0.48 0.67 0.27 2.73 13.38 210 -3.75 -0.01 -0.98 0.13 0.18 0.13 0.23 0.33 0.69 0.30 0.00 -0.56 -0.75 -0.11 0.15 -0.76 4.16 6.98 122 0.75 -0.07 1.19 -0.06 -0.02 0.56 0.07 -1.16 -0.09 -1.09 -1.91 0.00 0.11 0.73 -0.88 -0.58 -1.52 3.53 12.20 140 -0.98 0.08 0.57 0.20 -0.01 -1.38 0.08 -0.81 -0.07 1.91 0.00 -0.15 0.35 -0.51 -0.70 -1.18 3.14 11.99 211 0.89 -0.09 -1.72 -0.11 0.34 -0.10 -0.92 0.12 0.12 -0.15 0.64 0.00 0.15 -1.50 -0.24 -0.68 -0.15 2.83 7.41 132 -0.12 -1.25 -0.19 -0.67 0.03 0.28 -0.34 0.49 0.47 0.02 -0.63 -3.62 2.72 0.65 -0.03 -0.27 -0.62 3.38 5.85 221 0.61 1.70 -4.42 -0.21 -0.16 1.18 -0.56 2.24 -0.20 -0.57 3.85 0.00 -3.43 3.08 -2.31 1.41 -1.00 8.62 1.65 239 Table 21. (continued) hkl xM2 yM2 xS1 ySi xQ1 y01 x02 y02 x03 y03 z03 bM1 bM2 bS 1 b01 b02 b03 err.% INT. 042 . 1.43 0.69 2.51 -3.10 4.75 1.46 -4.09 4.18 -2.38 -1.05 0.71 1.57 9.33 2.33 150 -0.16 -1.28 0.64 0.08 -0.18 -0.10 0.06 -0.94 -0.21 -1.42 -3.76 4.29 -2.59 0.16 0.05 0.32 6.67 2.79 113 0.14 -0.06 -0.25 -0.12 0.07 0.05 -0.09 -0.12 0.18 0.07 0.74 0.00 -3.82 1.12 -0.06 -0.09 -0.30 4.08 . 10.11 151 0.10-1.57-0.04 0.92 0.03-0.34-0.40-0.11 0.08-0.15 0.43 0.00-2.89 0.20-0.04-0.39-0.14 3.52 6.25 222 0.18 -0.08 -0.20 0.07 -0.01 -0.31 0.10 0.16 -0.05 0.43 -0.23 -1.09 -1.37 0.18 -0.16 -0.33 -0.31 1.95 69.71 240 0.18 -0.38 -0.57 -0.12 -0.02 0.63 -0.06 -0.70 -0.07 -1.21 -1.41 -1.38 0.52 -0.33 0.20 -0.50 2.73 21.00 123 -2.64 -0.04 -0.62 -0.25 0.01 1:69 0.13 0.97 -0.05 1.90 3.18 0.00 -0.69 -0.65 0.87 -1.97 -1.37 5.69 2.42 241 0.31 0.71 0.85 -0.26 0.03 1.04 0.24 -0.56 -0.05 0.32 0.93 0.00 -2.51 -0.84 0.70 -0.88 -0.36 3.49 11.46 061 . 0.41 0.45 1.45 0.22 -0.66 0.06 0.00 -2.28 -0.72 -0.21 -0.73 -0.02 3.04 12.56 133 0.08 -0.33 0.29 -0.08 -0.08 0.02 0.16 0.16 -0.00 0.28 -0.02 O.OO -2.73 -1.59 0.09 0.19 0.01 3.22 15.08 152 0.07 0.55 -0.28 -0.03 0.07 0.04 -0.02 0.37 -0.07 -0.49 0.10 -2.25 -2.52 1.56 -0.09 -0.03 0.15 3.83 16.49 043 0.57 -0.33 -0.83 0.50 0.77 1.88 O.OO -2.28 -1.20 -0.63 0.89 -0.98 3.78 7.27 310 -0.19 -0.24 -2.13 0.02 -0.23 0.07 -0.53 0.08 0.29 -0.41 . -3.18 0.81 0.50 0.32 -0.86 -0.79 4.21 4.13 242 -0.47 1.00 1.56 0.33 0.04 -1.57 0.15 1.77 -0.17 -2.67 -0.83 -4.85 4.90 -1.90 1.13 -0.67 -1.49 8.50 3.49 004 . . . . -1.25-1.02-1.41-0.80-0.35-0.40-0.42 2.39 20.32 062 -0.53 . -0.16 -0.29 -0.86 0.07 -0.45 -1.31 -0.76 -0.90 -0.43 -0.09 -0.83 2.31 24.38 330 0.40 0.45 0.50 0.07 0.03 0.27 -0.25 0.43 -0.39 -0.02 -2.71 -1.94 -0.14 -0.05 -0.47 1.25 3.74 5.72 170 0.05 0.20 0.07 -0.38 -0.03 0.11 -0.05 -0.28 -0.06 0.44 -1.81 -2.42 -0.54 0.04 -0.08 0.17 3.15 12.82 331 0.73 -0.34 2.21 -0.02 0.22 -0.06 -0.34 -0.44 -0.00 0.27 -0.02 0.00 -3.75 -0.64 -0.38 -0.70 0.01 4.59 7.40 312 0.14 0.18 1.61 -0.01 0.16 -0.05 0.37 -0.05 0.18 -0.25 -0.29 -2.95 -0.74 -0.48 -0.28 0.76 -0.61 3.67 9.60 322 -1.11 0.11-0.56 0.08-0.07 0.23 0.24-0.36-0.31-0.35-0.62 0.00-0.48-2.58-1.00-0.51-1.39 3.53 6.89 Co 240 Table 22.: Estimated errors in the calculation of integrated intensities: Example for Forsterite (MgzSiOQ hkl xM2 yM2 xSi ySi x01 y01 x02 y02 x03 y03 z03 bM1 bM2 bSi b01 b02 b03 err.% INT. 020 . 0.25 -0.79 -2.73 1.84 -4.80 -0.45 0.58 -0.28 -0.17 -0.38 0.40 5.96 22.34 110 -0.06 1.17 3.31 00.69 -1.01 0.26 -3.00 0.28 1.67 -1.30 . 2.04 -0.48 -2.50 0.16 -0.36 -0.35 6.19 2.76 021 -0.40 0.19 0.70 1.38 -0.31 2.54 0.00 0.21 -0.69 -0.38 0.29 -0.16 3.14 65.51 101 1.74 -2.31 0.04 0.16 -0.03 4.60 0.00 0.06 -0.59 0.74 -0.83 -0.32 5.59 22.00 111 0.15 -0.10 -1.03 -0.48 0.31 0.19 -0.49 -0.38 -0.27 -0.08 -1.09 0.00 -1.97 1.21 -0.07 -0.09 0.09 2.91 14.10 120 -0.65 0.04 -2.37 0.15 0.04 -1.25 -0.11 2.46 -0.16 -2.63 . 0.00 0.03 -0.69 0.86 0.65 1.72 5.02 14.78 121 -3.18 -0.03 -1.70 -0.64 0.03 5.02 0.25 3.29 0.03 -1.79 -3.97 0.00 -0.18 -0.66 0.89 -1.91 0.43 8.58 6.35 002 .......... 2.23 0.72 -0.98 -1.16 -0.65 -0.74 1.25 3.21 17.97 130 0.02 0.35 0.09 0.40 -0.02 -0.16 0.19 -0.24 0.35 0.03 -0.56-0.38 -0.16 0.01 0.06 -0.18 1.03 62.83 131 0.04 -0.22 0.47 -0.09 -0.14 0.03 0.31 0.17 0.01 -0.11 0.02 0.00 -0.89 -1.05 0.06 0.11 -0.00 1.53 80.32 112 0.01 0.13 0.34 -0.07 -0.10 0.03 -0.30 0.03 -0.15 0.12 0.12 -0.67 -0.16 -0.81 0.05 -0.11 0.10 1.20 100.OO 200 0.95 10.12 0.32 . -1.46 1.45 -4.74 -6.43 -4.58 4.08 4.43 8.26 17.23 0.50 041 . 0.73 . -0.75 -2.38 0.90 -0.75 -2.32 0.00 -1.18 -1.52 -0.86 1.28 0.41 4.45 12.98 210 -2.53 -0.01 -1.28 0.19 0.26 0.16 0.40 0.32 1.04 0.31 0.00 -0.24 -1.10 -0.14 0.17 -0.79 3.40 10.19 122 0.29-0.02 1.05-0.07-0.02 0.51 0.05-1.00-0.06-0.99-1.56 0.00 0.03 0.71-0.83-0.63-1.52 3.13 42.55 140 -0.46 0.03 0.67 0.21 -0.01 -1.45 0.06 -0.54 -0.05 2.21 0.00 -0.05 0.46 -0.57 -0.84 -1.30 3.31 29.48 211 0.40 -0.03 -1.72 -0.12 0.35 -0.09 -1.01 0.10 0.12 -0.09 0.49 O.OO 0.04 -1.70 -0.22 -0.50 -0.10 2.79 19.89 132 -0.06 -1.17 -0.29 -1.31 0.06 0.47 -0.57 0.71 0.96 0.08 -0.75 -3.43 2.35 0.99 -0.04 -0.31 -0.91 4.99 4.53 230 2.96 0.06 -2.91 -0.18 0.57 -0.12 1.25 0.68 0.10 -2.17 0.00 0.40 -3.51 -0.44 0.75 -0.11 6.13 3.46 042 0.97 1.19 3.91 . -5.04 7.42 2.12 -3.17 3.41 -3.60 -1.69 0.69 2.81 12.18 2.74 150 -0.05 -0.74 0.72 0.21 -0.19 -0.09 -0.05 -0.69 -0.20 -1.11 -2.05 2.15 -2.87 0.15 -0.03 0.23 4.48 6.77 N3 o 241 Table 22. (continued) hkl xM2 yM2 xSi ySi x01 y01 x02 y02 x03 y03 z03 bM1 bM2 bS 1 b01 b02 b03 err.% INT. 113 0.12 -0.07 -0.77 -0.36 0.20 0.12 -0.31 -0.24 0.47 0.14 1.69 0.00 -5.52 3.34 -0.17 -0.21 -0.57 6.79 3.39 151 0.07 -1.55 -0.25 2.02 0.09 -0.66 -0.90 0.09 0.17 -0.18 0.70 0.00 -3.58 1.09 -0.08 -0.62 -0.21 4.78 3.58 222 0.10 -0.06 -0.40 0.11 -0.01 -0.54 0.11 0.35 -0.06 0.85 -0.36 -0.95 -1.21 0.35 -0.29 -0.60 -0.59 2.18 66.18 240 0.10 -0.30 -0.97 -0.22 -0.03 1.13 -0.04 -1.41 -0.10 -2.21 -1.24 -1.30 0.85 -0.61 0.24 -1.06 3.84 19.41 123 -0.59 -0.01 -0.84 -0.31 0.01 2.06 0.10 1.35 -0.03 2.10 4.10 0.00 -0.27 -0.97 1.10 -2.37 -1.49 6.21 4.62 241 0.13 0.56 1.49 -0.35 0.04 1.59 0.26 -0.56 -0.05 0.48 1.49 0.00 -1.78 -1.41 1.12 -1.58 -0.51 4.15 14.10 061 0.39 0.79 2.32 0.95 -0.91 0.18 0.00 -1.75 -0.95 -0.34 -1.13 -0.06 3.64 13.60 232 3.10 0.06 -3.09 -0.19 0.55 -0.11 1.21 0.66 -0.09 1.94 0.07 0.00 0.59 -5.27 -0.60 1.03 0.14 7.38 3.42 133 0.04 -0.22 0.47 -0.09 -0.11 0.02 0.26 0.14 -0.01 0.26 -0.04 0.00 -2.09 -2.49 0.13 0.22 0.02 3.33 19.62 152 0.07 1.10 -1.08 -0.31 0.26 0.13 0.06 0.95 -0.26 -1.40 0.20 -4.21 -4.36 6.15 -0.29 0.06 0.40 8.96 3.40 043 0.43 -0.45 . -1.19 0.44 1.06 2.87 0.00 -1.54 -2.01 -0.95 1.41 -1.27 4.72 9.79 310 -0.10 -0.23 -4.25 0.03 -0.45 0.12 -1.22 0.12 0.68 -0.58 . -3.05 0.71 0.76 0.54 -1.20 -1.18 5.84 3.26 242 -0.21 0.63 2.10 0.48 0.05 -2.19 0.08 2.80 -0.18 -3.95 -1.15 -3.44 3.68 -2.42 1.61 -0.62 -2.51 8.67 5.16 004 . -1.60-0.73-1.00-1.19-0.51-0.58-0.72 2.57 29.20 062 -0.31 -0.16 . -0.36 -1.01 . 0.21 -0.50 -0.87 -0.61 -1.30 -0.58 -0.28 -1.14 2.47 41.39 330 0.26 0.54 0.93 0.13 0.07 0.55 -0.59 0.81 -1.09 -0.10 . -3.18 -2.12 -0.19 -0.10 -0.69 2.28 4.90 3.04 331 0.38 -0.26 3.90 -0.02 0.38 -0.08 -0.77 -0.45 -0.01 0.30 -0.06 0.00 -3.34 -0.85 -0.57 -0.95 0.03 5.44 7.57 170 0.03 0.26 0.19 -0.63 -0.05 0.17 -0.14 -0.29 -0.13 0.54 -1.68 -2.14 -1.36 0.07 -0.16 0.26 3.21 11.01 312 0.07 0.17 3.20 -0.02 0.31 -0.08 0.84 -0.08 0.42 -0.36 -0.36 -2.80 -0.65 -0.71 -0.47 1.05 -0.93 4.74 7.88 322 -0.50 0.03 -0.41 0.09 -0.06 0.23 0.18 -0.40 -0.24 -0.40 -0.63 0.00 -0.14 -2.62 -1.02 -0.70 -1.71 3.55 20.81 340 1.10 -0.06 -0.36 -0.38 -0.06 -0.89 0.34 -0.30 -0.28 1.24 0.00 0.31 -2.33 -0.97 -1.29 -2.01 4.03 7.57 APPENDIX G: THE PW1710 DIFFRACTOMETER Because the diffTactometer in the geological department was not operational for several months, about half of the measurements were done with a Phillips PW1710 automatic diffTactometer in the oceanography department. Unfortunately the microprocessor was connected to a teletype terminal and so all data had to be typed into a computer for the analysis. The output of the PW1710 was formatted in a way that allows an easy check for typing errors. The measurements were done for 2 seconds at an interval of 0.01 20. The counts of five measurements, corresponding to an interval of 0.05 20 were added together and printed. Each line contains five accumulated counts and at the end the sum oas all counts on that line. Parameters and programs for the PW1710 Nr. of registers = 3. lower level = 35%, upper level = 75 % spinner ON, printing recorder OFF Program 154 SCH a b repeat from here to NXS for samples a to b. HED print heading. LDC 4 load constant 4 into accumulator STR 1 store content of accumulator in register 1 . CLR 2 clear register 2 CLR 3 clear register 3 SAN 15.000 set angle 20 at 15.00 deg. GAN put current angle into accumulator DEC 2 set number of decimals in output to 2. 242 243 BFR 0 store accumulator in output buffer DEC 0 set number of decimals in output to 0, REP 155 200 repeat program 155, 200 times. REP 155 200 repeat program 155, 200 times. REP 155 200 repeat program 155, REP 155 200 repeat program 155, REP 155 200 repeat program 155, REP 155 200 repeat program 155, NXS load next sample. 200 times. 200 times. 200 times. 200 times. Program 155 RCL 1 transfer register 1 to accumulator CNE 156 if value in accumulator < 0, call program 1 56 REP 157 5 repeat program 157, 5 times BFR store register 2 in output buffer. CLR 2 clear register 2 RCL 1 transfer register 1 to accumulator. ADC -1 add -1 to accumulator STR 1 store accumulator in register 1 Program 156 LDC 4 load constant 4 into accumulator STR 1 store accumulator in register 1 PTR 3 store register 3 in output buffer and print buffer CLR 3 clear register 3 GAN put current angle into accumulator DEC 2 set number of decimals in output to 2 BFR 0 store accumulator in output buffer. DEC 0 set number of decimals in output to 0 Program 157 MES 2.00 RCT measure the current angle for 2.00 seconds, transfer number of counts to accumulator 244 ADD 2 add register 2 to accumulator STR 2 store accumulator in register 2 RCT transfer number of counts to accumulator ADD 3 add register 3 to accumulator STR 3 store accumulator in register 3 IAN 0.01 increment the angle with 0.01 The output on the teletype has the following format: C=1 54 CAPI 24 09-12-1986 10.08 PROGRAM 154 15.00 45 41 44 31 33 194 15.25 31 43 46 37 43 200 15.50 29 33 42 46 44 194 etc. APPENDIX H: SOME EXPERIMENTAL EQUILIBRIUM BETWEEN OLIVINE  AND GARNET IN THE SYSTEM FE-MN-MG-AL-SI-Q H.1 THE SYNTHESIS OF THE GARNETS The starting meterials for the garnets were the same as for the olivines (see chapter 2.4) plus: A1203: From A1C13«6H20 Baker Analyzed Reagent. LOT 429332. First the aluminium cloride is heated over a Bunsen burner (ca. 300 to 400 °C) under constant shaking in a beaker glass, until all Cl2 and most H20 is removed. The substance is then transfered into a Pt crucible and heated 1/2 hour at 800 °C and 12 hours at 700 °C. The resulting material is 7~A1203, and compares well with the description of Rooksby (1951). The garnet mixture was first treated the same way as the olivines, mixed with graphite and heated at 850 °C for 3 hours in vacuum. The garnets used in the exchange experiments were all synthesized dry in a salt-cell press at 15-20 KBars and 800 °C. (Table 23.) The Mn-rich products are optically not completely isotropic which means that their structure is not strictly cubic. This can however not be detected in the X-ray diffraction profiles. H.2 THE EXCHANGE EXPERIMENTS The exchange experiments were made hydrothermally in cold seal bombs at 2 KBars methane pressure and 800 °C, with H20 present. The starting mixtures consist of approximately 245 246 70-90 % garnet and 10-30 % olivine. The exact amount of each phase cannot be determined because both have an unknown excess of graphite. The products were examined first by X-ray diffraction, in order to determine wether a reaction took place, by comparing the distance in 20 between the peaks (112) of olivine and (420) of garnet. Because of the relatively small amount of olivine in some samples, this could not always be recognized. The minimum time for an exchange reaction was found to be around 30 days. This is also around the maximum time, as one experiment left for 62 days showed a completely different and (and also unstable) assemblage (garnet, quartz, oxides etc.). This also points to an additional fundamental problem: even after 30 days an unnoticeable amount of an undesired phase may be present and may influence the results. It is suggested that later work be concentrated on higher pressures (and maybe higher temperatures) to avoid unstable assemblages. H.3 THE QUANITATIVE ANALYSIS OF THE RUN PRODUCTS. The sample preparation for the microprobe analysis was suggested by Jack M. Rice (pers. comm.) and also used by Wang (1986). First the sample is placed in a glass vial with alcohol and put in the ultrasonic cleaner for 10 minutes. This insures that the individual grains, as long as they are not intergrown, become separated. A drop with suspended material is then taken and placed on a polished graphite or diamond 247 surface. On a good probe mount, the grains (ca. 2 - 5 p diam.) are barely visible by eye and well separated. The advantage of using a diamond-mount is that if the sample looks not satisfactory under the binocular microscope, it can be wiped off easily and a new drop with suspended material can be used. The samples were coated with carbon. For the quantitative microprobe analysis on a CAMECA SX50 microprobe, synthetic and natural polished olivine and garnet standards were used. The composition was calculated without any corrections from (Isample/lstandard)•Standard and normalized to 100% (Fe+Mn+Mg). This method was chosen because the mass absorption correction produced by the CAMECA software could not correctly deal with analyses having totals of only 30 to 70 %. Several synthetic olivines and garnets with known composition were measured. Because the surface consists of varying grain shapes, the measured concentrations show a variation of 2-10 %, averaging around the correct composition. This allows an interpretation with an error of approximately 2 mol% for the compositions of interest. A summary of the analytical results is given in Table 25. Only those analysis which had Si and Al within 10% of the expected values for olivines and garnets were used. The relatively large analytical error limits any interpretation. Further improvement on the sample preparation may reduce this uncertainty. The results are presented in Table 24 and Fig. 23. The dashed distribution curves in Fig. 23 illustrate approximately the equilibrium 248 fractionations. The experiments are consistent but not sufficiently constraining to justify making a detailed thermodynamic model. Table 23. List of synthesized garnets. Run x(Fe) x(Mn) x(Mg) T PC] p [KBars] t i me a o comments RCC2 0.000 1 .000 0 .000 700 3 13d 1 1 .624 ani sotrop i c, homogeneous, yellow RCC19 0.000 1 .000 0 • OOO 550 4 20d 1 1 .637 ani sotropi c, wh i te RCC13 O.OOO 0.500 0 .500 600 2 22d --- quartz, pyroxenes, unusable RCC23 0.083 0.917 0 OOO 750 2 16d 1 1 . 542 quartz, pyroxenes, unusable RCC24 0.083 0.917 0 .000 780 2 10d quartz, pyroxenes, unusable PC4 0.083 0.917 0 .000 800 15 24h 1 1 .621 ani sotrop i c PC5 0.498 0.502 0. .000 800 15 24h 1 1 .577 isotropic PC6 0.498 0.502 0. .000 800 15 24h 1 1 .569 1sotropic PC7 0.746 0.000 0. . 254 800 15 23h 1 1 .51 1 i sotropi c PCS 0. 249 0. 751 0 000 800 25 25h 1 1 .591 anisotropic PC9 0.497 0.003 0. .500 800 15 27h 1 1 .487 isotropic, few impurities. (pyroxene?) PC 12 0.248 0. 752 0. 000 800 20 46h 1 1 .597 ani sotropic, homogeneous PC 13 0. 166 0.668 0. . 166 800 20 47h 1 1 .570 an 1sotrop i c, homogeneous PC 14 0.000 0.667 0. ,333 800 20 49h 1 1 .573 ani sotropic, homogeneous PC15 O.OOO 0.500 0. 500 800 20 46h 1 1 .540 an 1sotrop i c, homogeneous PC16 0. 166 0.668 0. 166 800 20 42h 1 1 .577 ani sotropic. homogeneous PC18 0.663 0.171 0. 166 800 20 71h 1 1 .529 anisotropic, homogeneous 250 Table 24.: List of usable exchange experiments Run x(Fe) - garnet x(Mn) x(Mg) x(Fe) oli v i ne x(Mn) x(Mg) RCC29/1 801'C,2Kb,31d starting composition final composition 0.4970 0.5030 0.529±0.02 0.47 1±0.02 0.9940 0.698+0.02 0.0060 0.302+0.02 RCC29/2 801' C,2Kb,31d starting composition final composition 0.4970 0.5030 0.437±0.02 0.56310.02 0.0828 0.372±0.02 0.9172 O.628+0.02 RCC31/1 805'C,2Kb.43d starting composition final composition 0.5000 0.5000 0.553±0.02 0.44710.02 0.5000 0.266+0.02 0.5000 0.73410.02 RCC31/2 805' C,2Kb,43d starting composition final composition 0.5000 0.5000 0.557+0.04 0.44310.04 0.6667 0.315+0.02 0.3333 0.68510.02 RCC31/3 805'C,2Kb ,43d starting composition final composition 0.4970 0.5030 0.396+0.05 0.60410.05 0.4142 0.59810.02 0.5858 0.402+0.02 ho o 251 Table 24. (continued) Run • garnet x(Fe) x(Mn) x(Mg) x(Fe) x(Mn) x(Mg) RCC32/1 starting composition 0. 2485 0. .7515 0, .0000 1 . .OOOO 797'C,2Kb,37d final composition 0. 191±0. .02 0. .809±0.02 0. .074+0.02 0, .926±0.02 RCC32/2 starting composition 0. 2485 0. .7515 0. ,2485 0. .7515 797'C,2Kb,37d final composition 0. 160+0. .03 0. .84010.03 0. .405±0.02 0. . 595±0.02 RCC32/3 starting composition 0. 2485 0. 7515 0. 3313 0. 6687 797'C,2Kb,37d final composition 0. 176+0. 04 0. 824±0.04 0. 417±0.02 0. 583±0.02 Fig, 23: Roozeboom diagrams for some exchange experiments in the binary Fe-Mn and Mn-Mg olivine - garnet systems 1.0 0.8 OJ CI —I > —I '—I o u u. X OJ cz o c X 0.6 0.4 0.2 0.0 1.0 0.8 0.6 0.4 0.2 rz: R31/3 R32/3 R32/2 3. R29/2 R32/1 I I ' I 1 I ' I I I I I • I 1 I I I ' 0.0 0.2 0.4 0.6 0.8 1.0 XFc garnet R31/2 R31/1 o.o ri i i i i i • i i i • i i i i i i i i 0.0 0.2 0,4 0.6 0.8 1.0 Xnn garnet 253 Table 25.: Summary of microprobe analyses (Fe+Mn+Mg = 100%) measured expected olivine Fe 33.2(1 .7) 33. 1 040800 Mn 66.8(1.7) 66.9 n=1 1 Mg 0.0(0.0) 0.0 Si 49.8(2.8) 50.0 Al 0.0(0.0) 0.0 garnet Fe 50.2(1.2) 50.0 PC05 Mn 49.8(1.2) 50.0 n= 1 5 Mg 0.0(0.0) 0.0 Si 99.2(9.1) 100.0 Al 65.9(4.8) 66.7 garnet Fe 50.5(3.4) 50.0 PC06 Mn 49.5(3.4) 50.0 n=1 4 Mg 0.0(0.0) 0.0 Si 99.9(7.0) 100.0 Al 68.1(4.6) 66.7 olivine Fe 41.2(2.3) 41 .4 050700 Mn 58.8(2.3) 58.6 n=13 Mg 0.0(0.0) 0.0 Si 50.7(3.8) 50.0 Al 00.0(0.0) 00.0 254 Table 25. (continued) measured expected olivine Fe 07.7(0.5) 08.3 011100 Mn 92.3(0.5) 91 .7 n=7 Mg 0.0(0.0) 0.0 Si 49.4(3.2) 50.0 Al 00.0(0.0) 00.0 garnet Fe 24.9(1.2) 24.8 PC 1 2 Mn 75.1(1 .2) 75.2 n=1 3 Mg 0.0(0.0) 0.0 Si 98.0(4.2) 100.0 Al 66.8(3.6) 66.7 garnet Fe 39.6(4.0) from R31/3 Mn 60.4(4.0) n=1 5 Mg 0.0(0.0) Si 102.4(6.4) Al 67.0(6.4) olivine Fe 59.8(1.3) from R31/3 Mn 40.2(1 .3) n=5 Mg 0.0(0.0) Si 49.8(3.4) Al 00.0(0.0) 255 Table 25. (continued) measured expected garnet Fe 52.9(1.7) from R29/1 Mn 47.1(1.7) n=1 1 Mg 0.0(0.0) Si 99.3(4.2) Al 67.3(5.9) olivine Fe 69.8(1.4) from R29/1 Mn 40.2(1.4) n=4 Mg 0.0(0.0) Si 46.9(5.6) Al 00.0(0.0) olivine Fe 00.0(0.0) 00.0 000606 Mn 48.6(4.4) 50.0 n=1 9 Mg 51.4(4.4) 50.0 Si 49.8(4.0) 50.0 Al 00.0(0.0) 00.0 olivine Fe 00.0(0.0) 00.0 000804 Mn 65.8(4.5) 66.7 n=1 0 Mg 34.2(4.5) 33.3 Si 47.6(3.5) 50.0 Al 00.0(0.0) 00.0 256 Table 25. (continued) measured expected garnet Fe 47.9(4.9) 50.0 PC 15 Mn 52. 1(4.9) 50.0 n=1 1 Mg 0.0(0.0) 00.0 Si 101.3(5.2) 100.0 Al 66.6(4.2) 66.7 olivine Fe 99.4(0.2) 120000 Mn 00.6(0.2) n=6 Mg 0.0(0.0) Si 48.0(5.5) Al 00.0(0.0) garnet Fe 00.0(0.0) from R31/1 Mn 55.3(1.5) n=1 2 Mg 44.7(1.5) Si 100.3(5.5) Al 66.6(3.3) olivine Fe 00.0(0.0) from R31/1 Mn 26.6(1.3) n=5 Mg 73.4(1.3) Si 51 .8(2.8) Al 00.0(0.0) 257 Table 25. (continued) measured expected garnet Fe 00.0(0.0) from R31/2 Mn 55.7(3.6) n=8 Mg 44.3(3.6) Si 101.9(9.6) Al 68.0(6.5) olivine Fe 00.0(0.0) from R31/2 Mn 31.5(1.8) n=8 Mg 68.5(1.8) Si 48.6(4.2) Al 00.0(0.0) olivine Fe 65.8(1.6) 66.3 080400 Mn 34.2(1.6) 33.7 n=1 5 Mg 00.0(0.0) 00.0 Si 50.2(3.6) 50.0 Al 00.0(0.0) 00.0 garnet Fe 43.7(1.7) from R29/2 Mn 56.3(1.7) n=1 3 Mg 00.0(0.0) Si 100.1(6.8) Al 67.3(3.3) 258 Table 25. (continued) measured expected olivine Fe 37.2(1.4) from R29/2 Mn 62.8(1.4) n=4 Mg 00.0(0.0) Si 49.8(4.7) Al 00.0(0.0) garnet Fe 19.1(1.7) from R32/1 Mn 80.9(1.7) n=9 Mg 00.0(0.0) Si 101.6(6.6) Al 66.4(3.5) ol ivine Fe 7.4(1.6) from R32/1 Mn 92.6(1.6) n=6 Mg 00.0(0.0) Si 51.5(5.8) Al 00.0(0.0) garnet Fe 16.0(2.5) from R32/2 Mn 88.0(2.5) n=12 Mg 00.0(0.0) Si 100.9(5.3) Al 69.5(4.3) 259 Table 25. (continued) measured expected olivine Fe 40.5(1.3) from R32/2 Mn 59.5(1.3) n=5 Mg 00.0(0.0) Si 47.9(1.2) Al 00.0(0.0) garnet Fe 17.6(3.5) from R32/3 Mn 82.4(3.5) n=1 1 Mg 00.0(0.0) Si 98.1(5.5) Al 66.4(5.3) olivine Fe 41.7(1.3) from R32/3 Mn 58.3(1.3) n = 5 Mg 00.0(0.0) Si 52.3(3.3) Al 00.0(0.0) PUBLICATIONS De Capitani C.0977); Der Solvus im System CaC03 - MnC03. Vortrag an der 52. Hauptversammlung der Schweiz. mineral, petrogr. Gesellschaft in Bern, 8. Oktober 1977. Schweiz. mineral, petrogr. Mitt. 57: 463 De Capitani C.(1983): Petrographische Untersuchungen in der Gegend Furtschellas - Grialetsch (Oberengadin) unter besonderer Beriicksichtigung der Manganerz-Vorkommen. Diplomarbeit Geol. Inst. Univ. Bern De Capitani C. and Brown T.H.Q 987): The Computation of Chemical Equilibrium in Complex Systems containing non-ideal Solutions. Geochim. Cosmochi m. Acta (in press) De Capitani C. and Greenwood H.J.(1985): Site occupancies in Mn-Mg and Fe-Mg olivines by XRD intensities (abstr.). EOS 66/46:1134 De Capitani C. and Peters TJ.(1981): The Solvus in the Systen CaC03 - MnC03. Contrib. Mineral. Petrol. 76: 394-400 De Capitani C. and Peters Tj.0 982): Corresponding States in Binary Solutions, and Graphical Determination of Margules Parameters. Contrib. Mineral. Petrol. 81:48-58 Finger W., Mercolli I., Kvindig R. , Staubli A., -> De Capitani C., Nievergelt P., Peters Tj. and  Trommsdorff V.Q 982): Bericht iiber die gemeinsame Exkursion der SGG und SMPG ins Oberengadin vom 21. bis 24. September 1981. Eclogae geol. Helv. 75/1: 199-222 1 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0052656/manifest

Comment

Related Items