Making Pseudosections with Perplex and Related Applications Table of Contents 1. Introduction 2 2. Build 2 - 12 Using build 3 - 10 Editing .dat files 10 - 11 Other Build features 11- 12 Vertex 12 - 15 Exploratory Diagrams 13 Pseudocompounds, End Members, Warnings 13- 14 More Warnings 14- 15 Pssect 15 – 16 Problems with Graphical Output 16 Werami 17 - 27 Properties at Specified Conditions 18 - 19 Properties on a 2d Grid 19 - 27 Compositional Contouring 21 - 27 Pstable 27 - 29 3. 4. 5. 6. 1 Making Pseudosections with Perplex and Related Applications By: Jesse Walters For comments and suggestions email: waltersj@geology.cwu.edu Special thanks to Connolly and the Yahoo Perplex Group. Introduction The following information is an instruction manual deigned for those interested in using Perplex to create psuedosections. Included are the various functions of Perplex, the outputs from the program, important features, errors and warnings to take into consideration, and links to helpful outside information. Helpful tutorials can also be found at: http://www.perplex.ethz.ch/perplex_66_seismic_velocity.html and http://serc.carleton.edu/NAGTWorkshops/petrology/teaching_examples/44110.html Information for Mac Users: Currently Perplex for Mac comes in two different versions, a compiled and a more recent uncompiled version. The former has issues with the inability to perform contouring, so the latter is recommended. Compiling the fortran library will require using either Fink or Macports. Information for Windows Users: Perplex for windows does not have the compiling issues of the latest Mac versions, and can be used immediately after downloading. However, simply clicking on the program icons to run the various components is not advised, because the program will close automatically after completion or an error occurs. Keeping the program open during and after running can help you evaluate whether it has run properly. Instructions at www.perplex.ethz.ch/faq/running_from_a_windows_console.txt explain how to run Perplex from a windows console in order to circumvent the aforementioned issue. Using Build Most of your time will be spent using build. Build creates the .dat files needed to run Vertex; where the computation itself occurs. A .dat file can also be edited in a text editing program, like Text Wrangler (mac) or Notepad (windows). Here is a quick run through of using Build to make a .dat file for a metapelitic rock. The programs output is italicized, my input is red, and my comments are standard text. 2 Perple_X version 6.6.7, source updated Jun 6, 2012. NO is the default (blank) answer to all Y/N prompts Enter a name for this project (the name will be used as the root for all output file names) [default = my_project]: MnNCKFMASHT The problem definition file will be named: MnNCKFMASHT.dat Enter thermodynamic data file name [default = hp02ver.dat]: I typically use the default data file, pressing enter/return will prompt the program to use the default entry. Enter the computational option file name [default = perplex_option.dat]: See: www.perplex.ethz.ch/perplex_options.html Reading computational options from: perplex_option.dat The current data base components are: NA2O MGO AL2O3 SIO2 K2O CAO TIO2 MNO FEO NIO ZRO2 CL2 O2 H2O CO2 Transform them (Y/N)? N Calculations with a saturated FLUID (Y/N)? N When saying Y to saturating a fluid component, you will be prompted for whether you wish to saturate your system in H2O, CO2, or both. This option is usually selected to computer phase relations as a function of the composition of the selected phase. By saturating the phase it assumes that the phase component will always be stable, and that it will always be present in enough of a quantity to saturate the system. This is a good option for simplified psuedosections in sub solidus conditions. The melt(HP) model does not account for a saturated fluid and will predict only fluid absent melting. This will cause many fields that should contain melt to contain only solid phases. Specifying H2O as a weight component will circumvent this issue. 3 Calculations with saturated components (Y/N)? N Here you can choose to saturate your diagram with any number of the base components. By saturating a component it is assumed that a pure phase(s) or solutions consisting of only saturated phase components and saturated components will always be stable. It is important to note that saturated components are constrained in sequence. More Information can be found at: http://www.perplex.ethz.ch/perplex_66_build_prompts.html - p5_saturated_phase Warning: Listing H2O as a saturated component does not work well for conditions above the wet solidus, and Perplex will predict erroneously high volumes of melt. This issue increases with increasing temperature. Use chemical potentials, activities or fugacities as independent variables (Y/N)? N Information regarding this option can be found: http://www.perplex.ethz.ch/perplex_example_6.html Select thermodynamic components from the set: NA2O MGO AL2O3 SIO2 K2O CAO TIO2 MNO FEO NIO ZRO2 CL2 O2 H2O CO2 Enter names, 1 per line, press <enter> to finish: SIO2 AL2O3 FEO MNO MGO NA2O K2O CAO TIO2 H2O Here is where you specify the components for your system. It is important to note that if you need to account for ferric iron you will have to specify how much O2 is needed to generate the amount of Fe3+ in your sample, which you would include here. 4 **warning ver016** you are going to treat a saturated (fluid) phase component as a thermodynamic component, this may not be what you want to do. This warning is caused by the fact that I specified H2O as a thermodynamic component, where it is normally specified as a saturated component. Select fluid equation of state: 0 - X(CO2) Modified Redlich-Kwong (MRK/DeSantis/Holloway) 1 - X(CO2) Kerrick & Jacobs 1981 (HSMRK) 2 - X(CO2) Hybrid MRK/HSMRK 3 - X(CO2) Saxena & Fei 1987 pseudo-virial expansion 4 - Bottinga & Richet 1981 (CO2 RK) 5 - X(CO2) Holland & Powell 1991, 1998 (CORK) 6 - X(CO2) Hybrid Haar et al 1979/CORK (TRKMRK) 7 - f(O2/CO2)-f(S2) Graphite buffered COHS MRK fluid 8 - f(O2/CO2)-f(S2) Graphite buffered COHS hybrid-EoS fluid 9 - Max X(H2O) GCOH fluid Cesare & Connolly 1993 10 - X(O) GCOH-fluid hybrid-EoS Connolly & Cesare 1993 11 - X(O) GCOH-fluid MRK Connolly & Cesare 1993 12 - X(O)-f(S2) GCOHS-fluid hybrid-EoS Connolly & Cesare 1993 13 - X(H2) H2-H2O hybrid-EoS 14 - X(CO2) Pitzer & Sterner 1994; Holland & Powell mixing 2003 15 - X(H2) low T H2-H2O hybrid-EoS 16 - X(O) H-O HSMRK/MRK hybrid-EoS 17 - X(O)-f(S2) H-O-S HSMRK/MRK hybrid-EoS 18 - X(CO2) Delany/HSMRK/MRK hybrid-EoS, for P > 10 kb 19 - X(O)-X(S) COHS hybrid-EoS Connolly & Cesare 1993 20 - X(O)-X(C) COHS hybrid-EoS Connolly & Cesare 1993 21 - X(CO2) Halbach & Chatterjee 1982, P > 10 kb, hybrid-Eos 22 - X(CO2) DHCORK, hybrid-Eos 23 - Toop-Samis Silicate Melt 24 - f(O2/CO2)-N/C Graphite saturated COHN MRK fluid 25 - H2O-CO2-NaCl Aranovich et al. 2010 26 - O-SiO Silicate vapor RK EoS 5 The CORK model tends to work well for most applications. Specify computational mode: 1 - Unconstrained minimization 2 - Constrained minimization on a 2d grid [default] 5 3 - Constrained minimization on a 1d grid 4 - Output pseudocompound data 5 - Phase fractionation calculations Use unconstrained minimization for Schreinemakers projections or phase diagrams with > 2 independent variables. Use constrained minimization for phase diagrams or phase diagram sections with < 3 independent variables. 2 The data base has P(bar) and T(K) as default independent potentials. Make one dependent on the other, e.g., as along a geothermal gradient (y/n)? N Select x-axis variable: 1 - P(bar) 2 - T(K) 3 - Composition X(C1)* (user defined) *X(C1) can not be selected as the y-axis variable 2 Enter minimum and maximum values, respectively, for: T(K) 973 1273 Enter minimum and maximum values, respectively, for: P(bar) 10000 20000 For gridded minimization, grid resolution is determined by the number of levels (grid_levels) and the resolution at the lowest level in the X- and Y-directions (x_nodes and y_nodes) these parameters are currently set for the exploratory and autorefine cycles as follows: stage grid_levels xnodes ynodes effective resolution exploratory 1 40 40 40 x 40 nodes auto-refine 4 60 60 473 x 473 nodes To change these options edit or create the file perplex_option.dat 6 See: www.perplex.ethz.ch/perplex_options.html#grid_parameters Specify component amounts by weight (Y/N)? Y By answering N, Build will instead prompt you for entering the components in molar proportions. Enter weight amounts of the components: SIO2 AL2O3 FEO MNO MGO NA2O K2O CAO TIO2 H2O for the bulk composition of interest: 68.97 15.43 5.43 0.084 1.49 1.55 4.09 1.61 0.80 0.44 Output a print file (Y/N)? N Exclude pure and/or endmember phases (Y/N)? Y When you are first starting your pseudosection, it is good not to exclude any phases. Do you want to be prompted for phases (Y/N)? N By answering Y, it will give you Y/N prompts for all the possible phases you could exclude. This is typically time consuming; therefore, I find it easier to name the phases individually. Enter names, 1 per line, press <enter> to finish: 7 ilm ilm_nol I plan on using the solution model Ilm(WPH), which requires the exclusion of these two end members, or they can be predicted to be more stable than the solution model itself. Before using any solution models, read the solution_model.dat file to check if there are any issues with the model. Include solution phases (Y/N)? Y Enter the solution model file name [default = solution_model.dat]: solution_model2.dat In my case I have created a second solution model file, which I’ve been editing. It’s helpful to have a copy of both a default file and one you may wish to edit later. After this you will get a bunch of warnings, here are examples and explanations of the two types of warnings you will see: **warning ver025** 1 endmembers for Ep(HP) The solution will not be considered. In my case I did not specify O2 in my components, this means that all the iron will be treated as ferrous and only the pure clinziosite endmember will be considered in the calculation. If you are looking for a solution model and it does not appear in the prompt further down chances are you either didn’t specify an essential component or specified it incorrectly. **warning ver114** the following endmembers are missing for Ilm(WPH) hem This is another case of all the iron being treated as ferrous. The Ilm(WPH) model can still be used; however, the hematite end member will be ignored from the calculation. Select phases from the following list, enter 1 per line, press <enter> to finish Bio(TCC) Opx(HP) Opx(HP11) CrOpx(HP) Gt(MPF) oAmph(DP) Omph(GHP) cAmph(DP) Chl(HP) Chl(LWV) O(SG) melt(HP) pMELTS(G) Pheng(HP) Sapp(HP) Sapp(KWP) Osm(HP) GaHcSp T St(HP) Ctd(HP) Carp hCrd Sud(Livi) Sud Cumm Anth Gl Tr GlTrTsPg Amph(DHP) Amph(DPW) feldspar feldspar_B Pl(h) Kf San San(TH) MaPa Mica(CF) Mica(CHA1) Mica(CHA) O(HP) Cpx(l) Cpx(h) Mont Sp(JR) Sp(GS) Sp(HP) IlGkPy Neph(FB) GrPyAlSp(B Gt(GCT) Gt(HP) Gt(EWHP) Gt(WPH) A-phase Chum Atg B P OrFsp(C1) AbFsp(C1) Pl(I1,HP) Fsp(C1) O(stx) Sp(stx) Gt(stx) Opx(stx) Cpx(stx) 8 Cpx(stx7) o-Amph Omph(HP) CrGt Cpx(HP) CrSp Ca-Amph(D) Na-Amph(D) O(stx7) Sp(stx7) Sp(WPC) Ilm(WPH) Cpx(m) Ol(m) Pl(stx8) Sp(stx8) O(stx8) Opx(stx8) Cpx(stx8) Gt(stx8) Pu(M) Act(M) Stlp(M) Mica(M) Carp(M) Sud(M) GlTrTsMr TiBio(HP) Mica(SGH) Ctd(SGH) Carp(SGH) Gt(WPPH) cAmph(DP2) oAmph(DP2) Omph(GHP2) ZrGt(KP) For details on these models see:www.perplex.ethz.ch/perplex_solution_model_glossary.html or read the commentary in the solution model file. Before specifying any solution models make sure to check the solution_model.dat file. This file contains warnings associated with solution a model, updates on recent and former edits to the models, and citations. Another important note is to make sure you don’t just include solution models for the specific mineral assemblage you observe in the sample. For example, my sample does not contain Cpx or Ilm, but by not including these solution models, important reactions relevant to possible prograde paths just outside of the observed mineral assemblages will not be visible. Also make sure you copy and save the list of solution models outputted during this step. This will allow you to easily modify the .dat file after you’ve created it in build. Bio(TCC) Gt(HP) melt(HP) Mica(CHA) feldspar_B Ilm(WPH) Cpx(HP) Enter calculation title: MnNCKFMASHT Editing the .dat file made during Build Careful use of a text editor will save time rather than having to redo build every time you want to change something. Here are some simple areas in which you can quickly edit and rerun vertex with out having to go through all the build prompts. Make sure that you keep the format presented in the .dat file and keep the columns aligned. The component list: begin thermodynamic component list SIO2 1 68.9700 0.00000 0.00000 weight amount 9 AL2O3 1 15.4300 0.00000 FEO 1 5.43000 0.00000 MNO 1 0.840000E-01 0.00000 MGO 1 1.49000 0.00000 NA2O 1 1.55000 0.00000 K2O 1 4.09000 0.00000 CAO 1 1.61000 0.00000 TIO2 1 0.800000 0.00000 H2O 1 0.440000 0.00000 end thermodynamic component list 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 weight amount weight amount weight amount weight amount weight amount weight amount weight amount weight amount weight amount If you wish to edit the composition, you can replace any of the numbers in the first compositional column with new data. It’s important to note that perplex will not use anymore than 6 significant figures, and will automatically round them if you specified more than six during build. Excluded phase list: begin excluded phase list ilm ilm_nol end excluded phase list If there are any other phases you wish to exclude during the calculation you can insert them here. For example, in Ilm(WPH) it is important to exclude both the ilm and ilm_nol end members, because they have a tendency to destabilize calculations. Solution phase list: begin solution phase list Bio(TCC) Gt(HP) melt(HP) Mica(CHA) feldspar_B Ilm(WPH) Cpx(HP) end solution phase list If you wish to add or remove solution models you can edit that here. As previously mentioned, saving a copy of the solution models available for the composition you were looking at is helpful if you are planning on playing around with different solution models. Editing P-T: 20000. 1273.0 0.00000000 0.0000 0.0000 max p, t, xco2, u1, u2 10 10000. 0.0000 973.00 0.0000 0.00000000 0.0000 0.00000000 0.0000 0.0000 0.0000 min p, t, xco2, u1, u2 unused place holder post 06 2 1 4 5 3 indices of 1st & 2nd independent & sectioning variables The first column displayed is pressure and the second column is temperature, while the first row is max P-T and the second is the min P-T. Saturated Components and Saturated Phase Components: begin saturated component list SIO2 1 0.00000 0.00000 0.00000 end saturated component list unconstrained amount Saturating a component (such as SIO2) can be done either by editing the .dat file or specifying during build. Above is how a saturated component is shown in the .dat file. A saturated component can be any component, as opposed to a saturated phase component (below), which can only be either H2O and/or CO2: begin saturated phase component list H2O end saturated phase component list Notice that there aren’t 3 columns as there are for saturated components. This is because a saturated (fluid) phase component cannot be constrained. By constraining a saturated component you can specify it as part of the bulk composition. This can be done either by editing the solution file or in build. For example: begin saturated component list SIO2 1 68.9700 0.00000 0.00000 end saturated component list constrained amount Other Build Features: Plotting composition along an Axis: Perplex can create pseudo sections with compositional variation plotted (only on the x axis) with either P or T fixed. This requires plotting variation between two specified bulk compositions. For example, if you want to observe how adding in O2 will affect the reactions along a specific isobaric or isothermal path, you can create a diagram which will display this. In build this can be done by answering: 11 Select x-axis variable: 1 - P(bar) 2 - T(K) 3 - Composition X(C1)* (user defined) *X(C1) can not be selected as the y-axis variable 3 This will cause the thermodynamic component list in the .dat file to appear: begin thermodynamic component list SIO2 2 68.9674 68.7181 AL2O3 2 15.5427 15.4865 FEO 2 5.43020 5.41057 MNO 2 0.839140E-01 0.836106E-01 MGO 2 1.48634 1.48097 NA2O 2 1.54899 1.54339 K2O 2 4.08597 4.07120 CAO 2 1.61286 1.60703 TIO2 2 0.802058 0.799159 H2O 2 0.439531 0.437942 O2 2 0.00000 0.361476 end thermodynamic component list 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 weight amount weight amount weight amount weight amount weight amount weight amount weight amount weight amount weight amount weight amount weight amount And the P-T range to appear: 18000. 10000. 0.0000 1120.0 1120.0 0.0000 0.00000000 0.0000 0.00000000 0.0000 0.00000000 0.0000 0.0000 0.0000 0.0000 max p, t, xco2, u1, u2 min p, t, xco2, u1, u2 unused place holder post 06 1 2 4 5 3 indices of 1st & 2nd independent & sectioning variables Notice that the indices of 1st & 2nd independent & section variables have changed, and temperature in this case is fixed. Using Vertex Vertex is the computational stage of perplex that reads the .dat files that are output by build. Once started vertex will run automatically unless specified; however, there are some useful pieces of information that can be ascertained by viewing the vertex output. Perple_X version 6.6.7, source updated Jun 6, 2012. Enter the project name (the name assigned in BUILD) [default = my_project]: 12 MnNCKFMASHT This is where you input the file name you specified for the .dat file you created in build. After this it outputs some information on which files are going to be created during the vertex stage (.prn, . plt, and .blk). Vertex also outputs: Reading computational options from: perplex_option.dat The perlex_option.dat file is where vertex gets the settings for performing the gridded minimization calculations needed to create pseudosections. Changing the perplex_option.dat file can either improve or hinder how well vertex runs and the quality of your input; this will be discussed in more detail later. Also note that when you run vertex it will spit out a list at the beginning of the program of the settings read from the perplex_option.dat file. As well as other settings, such as the number of nodes used during gridded minimization. Writing down the number of nodes used will be helpful when contouring later using Werami. Making exploratory diagrams: Making pseudosections for complex systems or using computationally exhaustive models (i.e. the amphibole models) can cause vertex to take over a day to complete a calculation. Rather than waiting for this calculation to complete before checking your results, changing the auto_refine keyword group to man in the perplex_option.dat file will cause vertex to cancel after the exploratory stage. The files created by vertex can then be run in ./pssect to check the general nature of what the final pseudosection will look like. Doing this will also give you a good idea if you might need to go back and edit the settings you gave in the perplex_option.dat file or in the solution_model.dat file. After viewing the results of the exploratory diagram and rerunning vertex you will get: Suppress or reinitialize auto-refinement (y/n)? N If you edited your .dat file, the solution_model.dat file, or perplex_option.dat you will have to reinitialize the auto-refinement, which will rerun the exploratory stage. If you did not edit any of those files, saying no or simply pressing enter with run vertex where your previous run had left off. Pseudocompounds, End members, and **warning ver114** At the beginning of the exploratory stage you will get a list of the psuedocompounds generated by the solution models in your build file. For example: 13 71513 pseudocompounds generated for: melt(HP) This means that during the exploratory stage 71,513 pseudocompounds for melt(HP) are going to be considered. By increasing auto_refine factor by a factor of 2 will increase the number of pseudocompounds used to model a solution with s-endmembers by a factor of roughly 2(s-1). Continuing with the previous example, after the refinement stage the number of pseudocompounds increases to 301,169. This affect is most pronounced in large multidimensional models such as melt(HP). Generating a large number of pseudocompounds can create the error: **error ver180** too many (pseudo-)compounds, routine: CARTES increase parameter k1 currently: 1000000 This occurs when the program, runs out of allocated memory. An example common warning you will see in vertex is: **warning ver114** the following endmembers are missing for Ilm(WPH) hem This warning occurs when an endmember for a solution model is automatically excluded in vertex. In this case the hem endmember of Ilm(WPH) is being excluded because O2 was not specified in the bulk composition. If for example, all the Ti bearing end members are excluded in the model Mica(CHA1) you will get the following error: **warning ver050** reformulating reciprocal solution: Mica(CHA1) because of missing endmembers. (reformulation can be controlled explicitly by excluding additional endmembers). In this case the solution model is reformulated according to the process described on: http://www.perplex.ethz.ch/perplex_solution_reformulation.html However, the reason that the Ti-bearing end members are missing is that the data needed to include Ti in the thermodynamic data file (in this case HP02) has not been activated: | tip = 1 fcel + 1 geik - 1/2 fs | -13469.8 -14.694 .84 By removing the | , the Ti end member of Mica (CHA1) will be activated and warning ver050 (and prossibly warning 114) will not be encountered. It is important to note that some of these exclusions in the thermodynamic data file are due to poor quality of the thermodyamic data. For example, Ti has a tendency to be vastly over predicted, so including it requires caution. 14 Other warnings and notes: The following is another common warning found in vertex: **warning ver042** an optimization failed, probably because the requested compositional resolution is too high, or possibly because the phases of the system do not span the specified bulk composition. In the 1st case: increase final_resolution in perplex_option.dat. In the 2nd case: change the bulk composition or add phases. This warning is caused by numerical instability at a given point in P-T space, and will result as a NaN value at that point. While it suggests increasing the final_resolution in order to prevent optimization failures, this should only be done in the case of excessive failures, as increasing the final_resolution will decrease the quality of your pseudosection. However, excessive failure will give your pseudosection a swiss cheese appearance. Another common warning you will get at the end of vertex is: WARNING: The following solutions were input, but are not stable: St(HP) Ctd(HP) hCrd This simply means that you included some solution models in the build file that Perplex has determined are not stable over the P-T range specified. In this example, St(HP), Ctd(HP), and hCrd were not found to be stable. Using Pssect: Once Vertex has completed, you can run Pssect in order to create your pseudosection. Perple_X version 6.6.7, source updated Jun 6, 2012. Enter the project name (the name assigned in BUILD) [default = my_project]: MnNCKFMASHT Reading computational options from: perplex_option.dat Perple_X plot options are currently set as: Keyword: Value: Permitted values [default]: 15 axis_label_scale bounding_box : 1.20 [1.2] (rel) 0 [0] x-min (pts) 0 [0] y-min (pts) 800 [800] x-length (pts) 800 [800] y-length (pts) field_fill T [T] F field_label T [T] F field_label_scale 0.75 [0.72] (rel) font Helvetica grid F [F] T half_ticks T [T] F line_width 1.00 0-99 [1.] (pts) picture_transformation : 0.180 [0.18] x-scale (rel) 0.180 [0.18] y-scale (rel) 130. [0.18] x-translation (pts) 220. [0.18] y-translation (pts) 0.00 [0.0] rotation (deg) plot_aspect_ratio 1.000 [1.0] x_axis_length/y_axis_length replicate_label 0.250 0->1 [0.025] splines T [T] F tenth_ticks F [F] T text_scale 1.000 [1.] (rel) To change these options edit or create the plot option file See: www.perplex.ethz.ch/perplex_plot_options.html It’s important to note that the above settings can be changed in the perplex_plot_option.dat file. PostScript will be written to file: MnNCKFMASHT.ps Modify the default plot (y/n)? N Saying yes to this prompt with allow changes to be made to the pseudosection. Firstly, it will ask you if you wish to modify the default plot including the plotting limits and axes numbering. Secondly, by saying yes you will be prompted by: Restrict phase fields by phase identities (y/n)? answer yes to: - show fields that contain a specific assemblage - show fields that do not contain specified phases - show fields that contain any of a set of specified phases 16 Which allows you to show fields that contain/do not contain a specific assemblage or set of phases. It’s typically useful to first look at your diagram before going back and modifying the plotting options. Problems with graphical output: After viewing your results from Pssect you may notice a number of issues with your pseudosection. These include spurious solvi, problems with immiscibility, and the swiss cheese appearance you can get from excessive optimization failures. A good tutorial and explanation on how to resolve the latter issues is provided by Connolly at: http://www.perplex.ethz.ch/perplex_adaptive_min_keyword_group.html Using Werami Werami allows you to make both text and graphical outputs of modal, compositional, molar, and seismic information based on your bulk composition over a range of P-T, TX, or P-X. Perple_X version 6.6.7, source updated Jun 6, 2012. Enter the project name (the name assigned in BUILD) [default = my_project]: MnNCKFMASHT Reading computational options from: perplex_option.dat Writing computational option summary to file: not requested Perple_X computational option settings for WERAMI: Keyword: Value: Permitted values [default]: Input/Output options: spreadsheet logarithmic_p bad_number compositions T [F] T F [F] T NaN [0.0] mol wt [mol] 17 proportions interpolation extrapolation melt_is_fluid seismic_output vol wt [vol] mol on off [on ] off on [off] F [F] T som none [some] all Information file output options: option_list_files F [F] T; echo computational options Thermodynamic options: approx_alpha T Anderson-Gruneisen F [T] F [T] F Seismic velocity options: bounds VRH HS [VRH] vrh/hs_weighting 0.5 0->1 [0.5] explicit_bulk_modulus T [F] T poisson_ratio on off [on ] all; Poisson ratio = 0.35 To change these options see: www.perplex.ethz.ch/perplex_options.html Select operational mode: 1 - properties at specified conditions 2 - properties on a 2d grid 3 - properties along a 1d path 4 - as in 3, but input from file 0 - EXIT 1 Console output will be echoed in file: MnNCKFMASHT_1.txt Firstly, notice in the above that Werami states: bad_number NaN [0.0] This means that all NaN values caused previously by failed optimizations will be treated as zero’s by Werami. This means that when you output a composition contour diagram from werami, points at which a minimization failed in Vertex will be treated as a compositional minimum, and result in a bull’s-eye of sorts with increasing contours 18 spreading outward. These zero points should be treated as artifacts, and do not represent actual minimums. Keep this in mind while using Werami. Properties at Specified Conditions After inputting the file name you specified in build, Werami prompts you with 5 options. First, lets start with 1 – properties at specified conditions. In this mode you give it what P-T point you are interested in (in K and bars respectively). After selecting 1 you get: Enter T(K) and P(bar) (99 and 99 to quit): 900 14000 After inserting your T and P values you will get an output consisting of phase compositions, molar properties, etc at that point. It is important to note that the default for the phase compositions is in molar proportions and in order to get meaningful information from the output you will have to multiply the Al2O3, Na2O, K2O, etc values by 2. You can also change it to weight percent in the perplex_option.dat file, but it’s recommended to stick with molar proportions, which works better for contouring. **warning ver637** Immiscibility occurs in one or more phases interpolation will be turned off at all affected nodes. To overide this feature at the risk of computing inconsistent properties set solvus_tolerance = 1 and rerun VERTEX Warning ver637 occurs when two or more separate phases are predicted at a point for a single solution model. In this case feldspar_B is predicting a Na rich end member and a K rich end member. If this matches your observations, you can ignore the warning. However, immiscibility can also occur erroneously and can be fixed by increasing the reach increment for that model (as described in the linked article at the bottom of page 16). Properties on a 2d grid Select operational mode: 1 - properties at specified conditions 2 - properties on a 2d grid 3 - properties along a 1d path 4 - as in 3, but input from file 0 - EXIT 2 Select properties [enter 0 to finish]: 1 - Specific Enthalpy (J/m3) 2 - Density (kg/m3) 19 3 - Specific heat capacity (J/K/m3) 4 - Expansivity (1/K, for volume) 5 - Compressibility (1/bar, for volume) 6 - Weight (%) of a component 7 - Mode (Vol, Mol, or Wt proportion) of a phase 8 - Composition (Mol or Wt) of a solution 9 - Grueneisen thermal ratio 10 - Adiabatic bulk modulus (bar) 11 - Adiabatic shear modulus (bar) 12 - Sound velocity (km/s) 13 - P-wave velocity (Vp, km/s) 14 - S-wave velocity (Vs, km/s) 15 - Vp/Vs 16 - Specific entropy (J/K/m3) 17 - Entropy (J/K/kg) 18 - Enthalpy (J/kg) 19 - Heat Capacity (J/K/kg) 20 - Specific mass of a phase (kg/m3-system) 21 - Poisson ratio 22 - Molar Volume (J/bar) 23 - Dependent potentials (J/mol, bar, K) 24 - Assemblage Index 25 - Modes of all phases 26 - Sound velocity T derivative (km/s/K) 27 - P-wave velocity T derivative (km/s/K) 28 - S-wave velocity T derivative (km/s/K) 29 - Adiabatic bulk modulus T derivative (bar/K) 30 - Shear modulus T derivative (bar/K) 31 - Sound velocity P derivative (km/s/bar) 32 - P-wave velocity P derivative (km/s/bar) 33 - S-wave velocity P derivative (km/s/bar) 34 - Adiabatic bulk modulus P derivative (unitless) 35 - Shear modulus P derivative (unitless) 36 - All phase &/or system properties 37 - Absolute amount (Vol, Mol, or Wt) of a phase 38 - Multiple property output 39 - Heat capacity ratio (Cp/Cv) 7 For the purpose of pseudosection analysis, options 7 and 8 tend to be the most useful. I’ll begin by discussing contouring modal abundances. Enter solution or compound name (left justified): Bio(TCC) 20 Include fluid in computation of aggregate (or modal) properties (y/n)? N Fractions are Wt, Vol, or Mol depending on the perplex_option.dat proportions keyword. The default for Mode is Vol %. Select properties [enter 0 to finish]: 0 This basically kicks you back to your options of you get after selecting operational mode, and you are able to do multiple werami runs at a single time. Enter number of nodes in the T(K) 400 400 and P(bar) directions: There is no constraint on the number of nodes you can specify, but there are two options depending on what you are interested in. 1. Increasing the number of nodes in the grid to values greater than what was used during gridded minimization (during Vertex) will not increase the quality of the diagram, so the most accurate representation of the data generated in gridded minimization is found using the same number of nodes. The number of nodes used in gridded minimization can be found in the first output of vertex: 2D grid options: x_nodes y_nodes 40 / 60 40 / 60 [20/40], >0, <2048; effective x-resolution 40 / 473 nodes [20/40], >0, <2048; effective y-resolution 40 / 473 nodes In the case of the example used in this instruction manual 400 and 400 work well. 2. Another option is decreasing the number of nodes to less than what has been specified during the gridded minimization stage of Vertex. This will smooth out the blocky nature of the contours, however, important information regarding how the contours interact when crossing reaction lines will be less visible. After choosing the number of nodes, Werami will complete it’s computational stage. There are a number of warnings you will get and info about missing data: **warning ver177** at T(K)= 1091. P(bar)= 0.1005E+05 aggregate seismic properties cannot be computed because of missing/invalid properties for: q 21 Also: Missing data at T(K) = 1150.4 properties , P(bar) = 10120. assigned NaN to all For the purposes of pseudosection analysis these can be ignored, both of these refer to properties (seismic and/or others). After the computational stage ends, werami will prompt you to select another operational mode or to exit the program. Compositional Contouring In order to contour compositions, after selecting properties on a 2D grid, select: Select properties [enter 0 to finish]: ……. 8 - Composition (Mol or Wt) of a solution ……. 8 Enter solution or compound name (left justified): Gt(HP) There are two different instances when contouring compositions that needed to be treated differently. The first is for phases that do not experience immiscibility, and the second is for phases that do. For example, the feldspar_B model can have both a plag component and a kspar component that cannot be resolved, and two separate phases will need to be contoured for the same model. The following is the first situation using the example of contouring garnet end members, which in this case will be looking at the grossular content. Compositions are defined as a ratio of the form: Sum {w(i)*n(i), i = 1, c1} / Sum {w(i)*n(i), i = c2, c3} n(j) = mole proportion of component j w(j) = weighting factor of component j (usually 1) How many components in the numerator of the composition (<13)? 1 Enter component indices and weighting factors for the numerator: 1 - H2O 22 2 - AL2O3 3 - FEO 4 - MNO 5 - MGO 6 - NA2O 7 - K2O 8 - CAO 9 - TIO2 10 - SIO2 81 How many components in the denominator of the composition (<12)? Enter zero to use the numerator as a composition. 4 Enter component indices and weighting factors for the denominator: 1 - H2O 2 - AL2O3 3 - FEO 4 - MNO 5 - MGO 6 - NA2O 7 - K2O 8 - CAO 9 - TIO2 10 - SIO2 31 41 51 81 The compositional variable is: 1.0 CAO divided by 1.0 FEO + 1.0 MNO + 1.0 MGO + 1.0 CAO Change it (y/n)? N 23 This composition will be designated: C1Gt(HP) Select properties [enter 0 to finish]: 0 After this it will ask if you want to change the default variable settings and prompt you for the number of nodes, after which is the computational stage. The following is an example of dealing with immiscibility in a single solution model, using Or content of Kspar as predicted by feldspar_B: Enter solution or compound name (left justified): feldspar_B Compositions are defined as a ratio of the form: Sum {w(i)*n(i), i = 1, c1} / Sum {w(i)*n(i), i = c2, c3} n(j) = mole proportion of component j w(j) = weighting factor of component j (usually 1) How many components in the numerator of the composition (<13)? 1 Enter component indices and weighting factors for the numerator: 1 - H2O 2 - AL2O3 3 - FEO 4 - MNO 5 - MGO 6 - NA2O 7 - K2O 8 - CAO 9 - TIO2 10 - SIO2 72 Remember that for K2O, NA2O, and AL2O a weighting factor of 2 should be used. How many components in the denominator of the composition (<12)? Enter zero to use the numerator as a composition. 3 24 Enter component indices and weighting factors for the denominator: 1 - H2O 2 - AL2O3 3 - FEO 4 - MNO 5 - MGO 6 - NA2O 7 - K2O 8 - CAO 9 - TIO2 10 - SIO2 62 72 81 The compositional variable is: 2.0 K2O divided by 2.0 NA2O + 2.0 K2O + 1.0 CAO Change it (y/n)? N This composition will be designated: C1feldspar_B Select properties [enter 0 to finish]: 0 Change default variable range (y/n)? N Enter number of nodes in the T(K) 400 400 and P(bar) directions: 2 immiscible phases of feldspar_B coexist with the following molar compositions: H2O AL2O3 FEO MNO MGO NA2O K2O CAO TIO2 SIO2 25 0.000 0.000 0.501 0.623 0.000 0.000 0.000 0.000 0.056 0.443 0.001 0.000 2.999 0.000 0.000 0.364 0.013 0.247 0.000 2.753 Choose an option: 1 - specify compositional criteria to identify the phase of interest [default]. 2 - average the compositions of immiscible phases 1 In this case, averaging the compositions is not a realistic choice, since the goal is to look at the Or content in Kspar. Selecting 1 allows you to specify a compositional range over which the phase of interest should exist. In this case, looking at my microprobe data I see that the average An content in Kspar is 0.023, so constraining the composition of the phase we want to look at to the one that has a very low An content. The following prompts define the compositional variable(s) (C[i]) to be used to identify the phase of interest. As there are 2 coexisting phases you will be prompted for 1 compositional variable(s). Compositions are defined as a ratio of the form: Sum {w(i)*n(i), i = 1, c1} / Sum {w(i)*n(i), i = c2, c3} n(j) = mole proportion of component j w(j) = weighting factor of component j (usually 1) How many components in the numerator of the composition (<13)? 1 Enter component indices and weighting factors for the numerator: 1 - H2O 2 - AL2O3 3 - FEO 4 - MNO 5 - MGO 6 - NA2O 7 - K2O 8 - CAO 9 - TIO2 10 - SIO2 81 How many components in the denominator of the composition (<12)? 26 Enter zero to use the numerator as a composition. 3 Enter component indices and weighting factors for the denominator: 1 - H2O 2 - AL2O3 3 - FEO 4 - MNO 5 - MGO 6 - NA2O 7 - K2O 8 - CAO 9 - TIO2 10 - SIO2 72 62 81 The compositional variable is: 1.0 CAO divided by 2.0 K2O + 2.0 NA2O + 1.0 CAO Change it (y/n)? N Enter the range (minimum, maximum) of C[1] that defines the phase of interest: 0 0.03 In order to make sure I get a full range of Kspar compositions, a range was chosen from 0 to 0.03. This part requires a bit of playing around in order to choose a good value that will give compositional contours all across the pseudosection. If the range does not include immiscibility then Werami well send you back to the operational mode prompt after computation ceases. If immiscibility still occurs, the computation will quit and you will be prompted for new values. Using Pstable 27 Pstable is the program in Perplex that allows you to create a graphical representation of the output generated by Werami. Perple_X version 6.6.7, source updated Jun 6, 2012. Perple_X plot options are currently set as: Keyword: axis_label_scale bounding_box : Value: 1.20 Permitted values [default]: [1.2] (rel) 0 [0] x-min (pts) 0 [0] y-min (pts) 800 [800] x-length (pts) 800 [800] y-length (pts) field_fill T [T] F field_label T [T] F field_label_scale 0.75 [0.72] (rel) font Helvetica grid F [F] T half_ticks T [T] F line_width 1.00 0-99 [1.] (pts) picture_transformation : 0.180 [0.18] x-scale (rel) 0.180 [0.18] y-scale (rel) 130. [0.18] x-translation (pts) 220. [0.18] y-translation (pts) 0.00 [0.0] rotation (deg) plot_aspect_ratio 1.000 [1.0] x_axis_length/y_axis_length replicate_label 0.250 0->1 [0.025] splines T [T] F tenth_ticks F [F] T text_scale 1.000 [1.] (rel) To change these options edit or create the plot option file See: www.perplex.ethz.ch/perplex_plot_options.html Enter the tab file name [without the .tab suffix]: MnNCKFMASHT_4 Plot the ratio of two dependent variables (Y/N)? N Select the dependent variable to be contoured: 28 1 - T(K) 2 - P(bar) 3 - C1feldspar_B 3 **warning ver004** the data includes NaN values, probably because bad_number in perplex_option.dat = NaN, these values will be replaced by zeros. To avoid this behavior set bad_number to a numeric value or use a plotting program capable of handling NaNs, e.g., MatLab or PYWERAMI Contour the ratio of values in separate tab files (y/n)? If you answer yes the data from the file just read will define the numerator of the ratio and you will be prompted next for a file containing the data for the denominator. N PostScript will be written to file: MnNCKFMASHT_4.ps Modify the default plot (y/n)? N Saying Y to this prompt will allow you to contour the log10 of the dependent variable, and reset the plot limits. Contoured variable range: 0.00000 -> 0.924345 Range excluding zero values: 0.721679 -> 0.924345 Modify default contour interval (y/n)? Y Enter min, max and interval for contours: 0.73 0.92 0.01 Typically modifying the default contour interval is better than using the default, in order to give the interval reasonable and useful values. Echo contour data to file contor.dat (Y/N)? N 29