Save

advertisement
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
Download