# Perple_X Example 24: Phase abundances along an arbitrary path

## Contents

Introduction

Running BUILD: problem setup

Path coordinate file

Running VERTEX: phase diagram section computation

Running PSSECT: phase diagram section depiction

Running WERAMI: "modes of all phases" option

Running PSVDRAW, PSTABLE or Perple_X_plot: plot of phase abundances

Figures:

Figure 1: Phase relations for a Martian model aerotherm and composition

Figure 2: Phase abundances for a Martian model aerotherm and composition

## Introduction

There are several ways in which Perple_X can be used to extract properties along a 1-dimensional path such as a geotherm (or, in the case of Mars an aerotherm), if the path coordinates are known in advance these include:

1) Construction of a 1-dimensional phase diagram section in which the physical conditions are defined as a monotonic polynomial function of a path variable (in the case of a geotherm P=f(T) or T=f(P)).

2) Construction of 2-dimensional phase diagram section with VERTEX, which is then sampled along the path with WERAMI.

3) Construction of a 1-dimensional phase diagram section in which the path is defined by a list of coordinates that need not be monotonic (e.g., a circular P-T path).

Additionally, any of these methods can be applied to a path which is defined by an isopleth (e.g., an adiabat, an isochor, or P-T conditions for which the abundance, composition or any other bulk or phase property is constant) that is recovered from an initial 2-dimensional calculation (see properties along a contour).

Of the methods listed above the first is always preferable in terms of efficiency and accuracy. An example of method 1 is given in the Perple_X '06 phase fractionation tutorial. Method 2 may be useful if a large number of paths are required for a single bulk composition or simply that the necessary 2-dimensional calculation has already been done (an example of this method is given in the archaic Perple_X '06 phase diagram section tutorial). This page provides a briefly documented example of the Perple_X-user dialogs necessary for method 3. Method 3 is useful when the path of interest is too complex to be described by a simple polynomial and is essential in cases where the path coordinates are not monotonic (e.g., a P-T path that passes through a maximum in either pressure or temperature).

The disadvantages of Method 3 are that the resolution of the calculation is limited by the number of coordinates  specified (i.e., there is no automatic refinement of phase boundaries) and that the output generated by PSSECT depicts phase relations (Figure 1) as function of nodal coordinates (i.e., the position of coordinate in the input list). The latter limitation results because the PSSECT expects regularly spaced plotting coordinates, however because the path is 1-dimensional data recovered from WERAMI can be used, as illustrated here, to construct a 2-dimensional modal variation diagram that is effectively a 1-dimensional phase diagram (Figure 2).

The calculation illustrated here is for the mineralogy of the Martian mantle for pressures from 1-24.5 GPa (in fact, because the aerotherm is monotonic, method 1 would be preferable in this case, but method 3 is used for the sake of illustration). In contrast to other "tutorials" (which are essentially non-existent for Perple_X 6.6) little attempt is made to document the dialogs provided below, inexperienced users are referred to the seismic velocity tutorial and the build prompt and Perple_X option file pages for additional explanation.

In the following dialogs the Perple_X prompts are in normal font, user responses are in bold font and explanatory comments are written in red.

## Running BUILD

c\jamie\perp666>build

Perple_X version 6.6.5.9, compiled 5/8/2011.

NO is the default (blank) answer to all Y/N prompts (help)

Enter a name for this project (the name will be used as the root for all output file names) [default = my_project] (help)

in24

The sfo05ver.dat data base, which is primarily from Stixrude & Lithgow-Bertelloni (2005, Khan et al. 2006), can be used over the entire range of mantle conditions, but is for a simplistic chemical model (see also example #23). Stixrude & Lithgow-Bertelloni have published more comprehensive data bases that have been formatted for Perple_X (see perplex_thermodynamic_data_files).

sfo05ver.dat

Enter the computational option file name, left justified, [default = perplex_option.dat]:
See: www.perplex.ethz.ch/perplex_options.html
perplex_option.dat

` `
`Reading computational options from: perplex_option.dat`
` `

Computational options used by Perple_X are controlled via the computational option file. This file is normally named perplex_option.dat. Provision is made here to specify an alternative name because it sometimes desirable to have customized option files for specific purposes (e.g., high resolution or solvus calculations).

` `

The first major block of prompts from BUILD determine the manner in which the chemical components defined within the thermodynamic data file are to be used. VERTEX permits components to be treated in four different ways: saturated phase components are components whose chemical potentials are determined by the (assumed) stability of a phase, most commonly a fluid, containing these components (saturated phase components are defined in sfo05ver.dat, hence there is no corresponding prompt here); saturated components are components whose chemical potentials are determined by the (assumed) stability of a pure phase(s) and or solutions containing only the saturated-phase and saturated components; mobile components are components whose chemical potentials are defined explicitly; and thermodynamic components are components whose chemical potentials are the dependent variables of a phase diagram calculation. Phase diagram calculations require the specification of at least one thermodynamic component.

The current data base components are:

MGO AL2O3 SIO2 CAO FEO

Transform them (Y/N)? (help)

n

Calculations with saturated components (Y/N)? (help)

n

Use chemical potentials, activities or fugacities as independent variables (Y/N)? (help)

n

Select thermodynamic components from the set: (help)

MGO AL2O3 SIO2 CAO FEO

Enter names, left justified, 1 per line, [cr] to finish:

MGO

AL2O3

SIO2

CAO

FEO

The second major block of prompts defines the explicit variables for the phase diagram calculation.

Specify computational mode: (help)

1 - Unconstrained minimization

2 - Constrained minimization on a grid [default]

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.

3

Enter path coordinates from a file (Y/N)?
y

In this mode VERTEX/WERAMI read path coordinates from a file, the file must be formatted so that the coordinates of each point are on a separate line, the coordinates are, in order: P(bar) T(K)

The data base has P(bars) and T(K) as default independent potentials. Make one dependent on the other, e.g., as along a geothermal gradient (y/n)? (help)

n

Enter the coordinate file name, < 100 characters, left justified [default = coor.dat]:

aerotherm.dat

Specify component amounts by weight (Y/N)?

y

Enter weight amounts of the components: (help)

MGO AL2O3 SIO2 CAO FEO

for the bulk composition of interest:

31.5 2.31 42.71 2.49 18.71

Output a print file (Y/N)? (help)

n

The print file is usually not useful for constrained minimization calculations, unless the user wants an explicit list of the phases considered in the calculation.

The final block of prompts from BUILD define the phases for the calculation.

Exclude phases (Y/N)? (help)

y

Here, experience leads me to make exclude stishovite (stv) as the sfo05ver.dat data base seems to overestimate its stability.

Do you want to be prompted for phases (Y/N)?

n

Enter names, left justified, 1 per line, [cr] to finish:

stv

Do you want to treat solution phases (Y/N)?

y

Enter solution model file name [default = solut_07.dat] left justified, <100 characters: (help)

solution_model.dat

...diagnostics omitted...

BUILD reads the solution model file and determines which solutions are consistent with the problem as specified by the user. The diagnostics (omitted here) can usually be ignored. They are useful if you discover that a solution you wish to include is not present in the list of solutions BUILD offers.

Select phases from the following list, enter 1 per line, left justified, [cr] to finish: (help)

Omph(GHP)   O(SG)       E(SG)       Omph(HP)    GaHcSp      O(HP)
Cpx(l)      Cpx(h)      Sp(JR)      Sp(GS)      Sp(HP)      GrPyAlSp(B
GrPyAlSp(G  Gt(HP)      Gt(EWHP)    Gt(WPH)     Qpx         Mn-Opx
Wus(fab)    Aki(fab)    Pv(fab)     Ppv(og)     O(stx)      Wad(stx)
Ring(stx)   Sp(stx)     Gt(stx)     C2/c(stx)   Opx(stx)    Cpx(stx)
Cpx(stx7)   cOmph(HP)   CrGt        CrOpx(HP)   Opx(HP)     Cpx(HP)
CrSp        Wus(stx7)   Aki(stx7)   Pv(stx7)    O(stx7)     Wad(stx7)
Ring(stx7)  Sp(stx7)

Wus(fab)

Pv(fab)

O(stx)

Ring(stx)

C2/c(stx)

Opx(stx)

Cpx(stx)

Sp(stx)

Gt(stx)

Aki(fab)

Enter calculation title:

Martian SNC model

BUILD creates a problem definition file (), named by adding the suffix ".dat" to the project name, that summarizes the users input. To avoid the tedious procedure of running BUILD for minor modifications, the problem definition file can be edited in a text-editor to modify physicochemical conditions, solution model choices or other parameters.

Top

## Path Coordinate File

As indicated by after the path coordinate file prompt in BUILD, the file containing the list of coordinates for the path must be created before VERTEX can be run to calculate the phase equilibrium. As noted in association with the prompt this file must consist of a list of coordinates, the coordinates of each point must be on separate lines. The file used for the calculation described here is aerotherm.dat.

The path coordinate file aerotherm.dat ostensibly represents a Martian adiabat, but because it was derived independently of the phase equilibrium model used here it is inconsistent with the model. Derivation of a consistent adiabat with Perple_X is relatively simple and would involve three steps: 1) compute the Martian phase equilibria as a function of pressure and temperature with VERTEX; 2) compute a table of entropy as a function of pressure and temperature with WERAMI; and 3) extract the P-T coordinates of the desired adiabat from the table using the MatLab script perple_x_extract_o_bat (in Perple_X_#.#.#_MatLab_scripts), or the more tedious procedure outlined at adiabatic crystallization tutorial (making use of PSTABLE rather than PSCONTOR).

## Running VERTEX

The calculation dialog depicted here is done with the auto_refine option set to on be sure to verify this setting in your version of perplex_option.dat or copy the version from here to your working directory.

c\jamie\perp666> vertex

Perple_X version 6.6.5.9, compiled 5/14/2011.

Enter the project name (the name assigned in BUILD) [default = my_project]:

in24

VERTEX begins by asking for a project name, i.e., the name specified by the first BUILD prompt.

Reading problem definition from file: in24.dat
Reading thermodynamic data from file: sfo05ver.dat
Reading solution models from file: solution_model.dat
Writing print output to file: none requested
Writing plot output to file: in24.plt
Writing bulk composition plot output to file: in24.blk

Writing auto refine summary to file: not requested
Writing pseudocompound glossary to file: not requested
Writing computational option summary to file: not requested

Once the project name has been entered VERTEX lists the input/output files to be used/created for the calculation. Several potential output files are optional user information file, these include: the print file (requested in the problem definition file), a pseudocompound glossary that summarizes the static discretization points used for a calculation (requested with the pseudocompound_file keyword in perplex_option.dat), the auto refine summary, which lists the ranges of the stable solution phases (requested with the auto_refine_file keyword in perplex_option.dat), the computational option summary, which lists the options in perplex_option.dat that are relevant to the calculation (requested with the option_list_files keyword in perplex_option.dat).

The file summary is followed by an echo of the computational options for the particular calculation as specified in perplex_option.dat:

```Perple_X computational option settings for VERTEX:

Keyword:               Value:     Permitted values [default]:

Auto-refine options:

auto_refine            aut        off [manual] auto
auto_refine_factor_I    2.0       >=1 [3]
auto_refine_slop       0.010      [0.01]

Free energy minimization options:

zero_mode              0.1E-05    0->1 [1e-6]; < 0 => off
zero_bulk              0.1E-05    0->1 [1e-6]; < 0 => off
iteration limit         4         >0 [4]; iteration keyword value 1
refinement factor       3         >2*r [12]; iteration keyword value 2
refinement points       4         3->7 [4]; iteration keyword value 3
reach_factor           0.9        >0.5 [0.9]

Fractionation path options:

1d_path                40 /150    [20/150], >0, <2048

Solution subdivision options:

initial_resolution     0.07       0->1 [0.1], 0 => off
stretch_factor         0.016      >0 [0.0164]
subdivision_override   off        [off] lin str
hard_limits            off        [off] on

Thermodynamic options:

solvus_tolerance       aut        [aut] or 0->1; aut = automatic, 0 => p=c pseudocompounds, 1 => homogenize
speciation_tolerance   0.1E-02    0->1 [1e-3]; order-disorder speciation precision
T_stop (K)                0.0     [0]
T_melt (K)              873.0     [873]
order_check            on         off [on]
approx_alpha           T          [T] F
Anderson-Gruneisen     F          [T] F
site_check             T          [T] F

Input/Output options:

dependent_potentials   on         off [on]
logarithmic_p          F          [F] T

Information file output options:

option_list_files      F          [F] T; echo computational options
pseudocompound_file    F          [F] T; echo static pseudocompound compositions
auto_refine_file       F          [F] T; echo auto-refine compositions

Worst case (Cartesian) compositional resolution (mol %):

Exploratory stage:   0.098
Auto-refine stage:   0.049

To change these options see: www.perplex.ethz.ch/perplex_options.html```
` `

The remaining section of the initial console output consists of information and warnings on the solution models to be used in the calculation. These messages inform the user as to which solution models in the solution model file are compatible with the problem definition, i.e., that the solution end-members are possible phases for the calculation. If only a subset of the solution model end-members are present, the messages indicate how the model will be reformulated in terms of this subset. If you do not get the solution models you requested, or if you get different solution compositions than you expect, these messages may be helpful. The diagnostics also indicate the number of static pseudocompounds used for each solution, this number is useful for determining which solution models are costly in terms of computer memory.

` `

Writing data for auto-refinement to file: in24.arf

14  pseudocompounds generated for: Wus(fab)
133 pseudocompounds generated for: Aki(fab)
133 pseudocompounds generated for: Pv(fab)
14  pseudocompounds generated for: O(stx)
14  pseudocompounds generated for: Ring(stx)
14  pseudocompounds generated for: Sp(stx)
812 pseudocompounds generated for: Gt(stx)
14  pseudocompounds generated for: C2/c(stx)
133 pseudocompounds generated for: Opx(stx)
133 pseudocompounds generated for: Cpx(stx)

Total number of pseudocompounds: 1428

The following line indicates the beginning of the exploratory stage of the two cycle calculation

** Starting exploratory computational stage **

Calculations along an arbitrary path with or without fractionation are done by the same internal routines within VERTEX, thus, even if a fractionation calculation has not been specified in BUILD, VERTEX prompts for fractionation.

Fractionate phases (y/n)?
n

After completing the exploratory stage VERTEX outputs the compositional ranges of the stable solution phases, this information is used in the subsequent high resolution calculation.

Endmember compositional ranges for model: Wus(fab)

Endmember   Minimum   Maximum
per         0.62498   0.63394

Endmember compositional ranges for model: Aki(fab)

Endmember   Minimum   Maximum
cor         0.00333   0.00778
aki         0.79333   0.80667

Endmember compositional ranges for model: Pv(fab)

Endmember   Minimum   Maximum
aperov      0.00556   0.01556
perov       0.81111   0.81556

Endmember compositional ranges for model: O(stx)

Endmember   Minimum   Maximum
fo          0.73778   0.80000

Endmember compositional ranges for model: Wad(stx)

Endmember   Minimum   Maximum

Endmember compositional ranges for model: Ring(stx)

Endmember   Minimum   Maximum
ring        0.46222   0.72444

Endmember compositional ranges for model: Sp(stx)

Endmember   Minimum   Maximum
sp          0.31704   0.34667

Endmember compositional ranges for model: Gt(stx)

Endmember   Minimum   Maximum
gr          0.05333   0.15148
alm         0.10889   0.30667
maj         0.02222   0.74315

Endmember compositional ranges for model: C2/c(stx)

Endmember   Minimum   Maximum
c2/c        0.74889   0.75778

Endmember compositional ranges for model: Opx(stx)

Endmember   Minimum   Maximum
en          0.68889   0.76667
fs          0.23333   0.28667

Endmember compositional ranges for model: Cpx(stx)

Endmember   Minimum   Maximum
di          0.68667   0.89333
hed         0.07556   0.17333

With the exception of the initial header section and prompts the output from VERTEX for the final "auto-refine" stage of the calculation is identical except that the compositional ranges and limits are now modified by information gleaned from the exploratory stage.

Reading data for auto-refinement from file: auto_refine_in24.dat

2 pseudocompounds generated for: Wus(fab)
4 pseudocompounds generated for: Aki(fab)
4 pseudocompounds generated for: Pv(fab)
3 pseudocompounds generated for: O(stx)
10 pseudocompounds generated for: Ring(stx)
2 pseudocompounds generated for: Sp(stx)
829 pseudocompounds generated for: Gt(stx)
2 pseudocompounds generated for: C2/c(stx)
8 pseudocompounds generated for: Opx(stx)
34 pseudocompounds generated for: Cpx(stx)

Total number of pseudocompounds:     902

** Starting auto_refine computational stage **

Endmember compositional ranges for model: Wus(fab)

Endmember   Minimum   Maximum
per         0.62623   0.63326

Endmember compositional ranges for model: Aki(fab)

Endmember   Minimum   Maximum
cor         0.00368   0.00702
aki         0.79470   0.80063

Endmember compositional ranges for model: Pv(fab)

Endmember   Minimum   Maximum
aperov      0.00474   0.01563
perov       0.81035   0.81669

Endmember compositional ranges for model: O(stx)

Endmember   Minimum   Maximum
fo          0.73766   0.79949

Endmember compositional ranges for model: Wad(stx)

Endmember   Minimum   Maximum

Endmember compositional ranges for model: Ring(stx)

Endmember   Minimum   Maximum
ring        0.46333   0.72445

Endmember compositional ranges for model: Sp(stx)

Endmember   Minimum   Maximum
sp          0.31640   0.34657

Endmember compositional ranges for model: Gt(stx)

Endmember   Minimum   Maximum
gr          0.05386   0.15131
alm         0.10892   0.30603
maj         0.02170   0.74315

Endmember compositional ranges for model: C2/c(stx)

Endmember   Minimum   Maximum
c2/c        0.74919   0.75747

Endmember compositional ranges for model: Opx(stx)

Endmember   Minimum   Maximum
en          0.68776   0.76665
fs          0.23282   0.28755

Endmember compositional ranges for model: Cpx(stx)

Endmember   Minimum   Maximum
di          0.68425   0.89130
hed         0.07608   0.17244

## Running PSSECT

PSSECT generates PostScript graphical output and can be used once the phase diagram section has been calculated with VERTEX. The plot generated by the following dialog with PSSECT shows the computed phase relations in a 1-dimensional section (Figure 1).

c\jamie\perp666> pssect

Perple_X version 6.6.5.9, compiled 5/14/2011.

Enter the project name (the name assigned in BUILD) [default = my_project]:

in24

Perple_X plotting programs (PSSECT, PSTABLE, PSVDRAW, PSPTS) read options that control the graphical output (image size, orientation, etc) from a file named perplex_plot_option.dat, these options are summarized after the project name is read. PSSECT also reads the computational option file perplex_option.dat, but only to determine the parameters used by VERTEX for mapping by gridded minimization.

` `
```Perple_X plot options are currently set as:

Keyword:               Value:     Permitted values [default]:
axis_label_scale       1.20       [1.2] (rel)
bounding_box :
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```

The graphics output file (in24.ps) from PSSECT is, in fact, encapsulated PostScript.

PostScript will be written to file: in24.ps

Answer yes to the following prompt to: specify rational numerical labels for the axes, restrict the range of the independent variables, or to show equilibria involving specific phases or phase assemblages.

Modify the default plot (y/n)?

n

Once PSSECT finishes, the output file (in24.ps) can be viewed with any graphics program (e.g., Adobe Illustrator, CorelDraw, Ghostview) or printer capable of interpreting encapsulated PostScript (Figure 1).

` `
` `
` `
` `
` `
` `
` `
` `
` `
` `
` `
` `
` `

Figure 1. Phase relations (pl24.ps) for a Martian model composition and aerotherm. The phase relations are plotted as a function of node #, which corresponds to the position of the physical conditions in the coordinate file (i.e., aerotherm.dat), e.g., the pressure and temperature at node 41 is the 41st condition specified in aerotherm.dat (11 GPa, 1898 K, these values can be recovered by using WERAMI in operational mode 1).

## Running WERAMI: the "modes of all phases" option

WERAMI permits the user to extract information from a phase diagram section at a point (operational mode 1), throughout a region (mode 2), or along a line or curve (modes 3 and 4). The latter two options generate output that can be plotted with PSTABLE or general-purpose programs such as Matlab. The dialog and output for each of these modes is detailed in the . Here the second mode is deactivated because of the 1-dimensional character of the output from VERTEX and the third mode is used to extract phase abundances along the model aerotherm.

c\jamie\perp666> werami

Perple_X version 6.6.5.9, compiled 5/14/2011.

Enter the project name (the name assigned in BUILD) [default = my_project]:

in24

Although the phase equilibria analyzed by WERAMI are computed by VERTEX, seismic wave-speeds are only computed in WERAMI. Consequently, the computational options that influence wave-speeds can be changed without necessitating that the calculation be repeated with VERTEX. For example, a weakness of the thermodynamic formulation (Holland & Powell 1998) used for the present calculation is that it sometimes results in non-physical expansivities. This weakness is of no major consequence for phase equilibria computations, but can be problematic for the calculation of seismic or physical properties at elevated pressure. A simple remedy (Helffrich & Connolly 2009) to this problem is to change the value of the Anderson-Gruneisen keyword in perplex_option.dat from F to T after running VERTEX.

```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:

logarithmic_p          F          [F] T
compositions           mol        wt  [mol]
proportions            vol        wt  [vol] mol
interpolation          on         off [on ]
extrapolation          off        on  [off]
melt_is_fluid          F          [F] T

Information file output options:

option_list_files      F          [F] T; echo computational options

Thermodynamic options:

approx_alpha           T          [T] F
Anderson-Gruneisen     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

3 - properties along a 1d path

0 - EXIT

3

The independent variable for this calculation is: node #

Choose the independent variable for data plots:

```    1 - node #   [default]
2 - P(bar)
3 - T(K)```

2

Enter the node # coordinate at the beginning of the profile:
1

Enter the node # coordinate at the end of1 the profile:
95

How many points along the profile?
95

```Select properties [enter 0 to finish]:
1 - Specific Enthalpy (J/m3)
2 - Density (kg/m3)
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)
37 - Absolute amount (Vol, Mol, or Wt) of a phase
38 - Multiple property output (PHEMGP format)
25

Output cumulative modes (y/n)?
(see www.perplex.ethz.ch/perplex_options.html#cumulative_modes)
y```

The influence of the cumulative_modes option is shown by the plots in Figure 2.

```Data ranges excluding values equal to bad_number (NaN) specified in perplex_option.dat:

O(stx)         Sp(stx)        Opx(stx)       Cpx(stx)       Gt(stx)        C2/c(stx)      Ring(stx)      Wad(stx)       ca-pv          Aki(fab)       Pv(fab)        Wus(fab)
min    0.000000       0.000000       0.000000       0.000000       0.000000       0.000000       0.000000       0.000000       0.000000       0.000000       0.000000       0.000000
max    60.76207       60.76207       89.04490       100.0000       100.0000       100.0000       100.0000       100.0000       100.0000       100.0000       100.0000       100.0000

Output has been written to two files:

plt format is in file: in24_1.plt
1d tab format is in file: in24_1.tab

plt format files can be plotted with:

PSVDRAW

1d tab format files can be processed with:

PSTABLE - a Perple_X plotting program
PERPLE_X_PLOT - a Matlab plotting script

for details on tab format refer to:
www.perplex.ethz.ch/perplex/faq/Perple_X_tab_file_format.txt

Select operational mode:
1 - properties at specified conditions
3 - properties along a 1d path
0 - EXIT
0```

As indicated in the above output, the seismic wave-speed data has been written to two files named in24_1.tab and in24_1.plt, the format of the former file is described at Perple_X_tab_file_format and the latter in the otherwise out-of-date vdoc file.

` `

## Plotting with PSVDRAW, PSTABLE or Perple_X_Plot

The "modes of all phases" option is unique because it is the only option that generates a file (in24_1.plt) that can be plotted with the Perple_X program PSVDRAW. The "modes of all phases" output also includes a file (in24_1.tab) that has the tab_file_format used for all other options in WERAMI. One-dimensional tab files can plotted with the Perple_X program PSTABLE or the MatLab script perple_x_plot.m. The particular advantage of using PSVDRAW, which is illustrated here, is that all the mineral modes are plotted simultaneously. In contrast, PSTABLE and perple_X_Plot offer considerably more flexibility, but require more user input. The PSVDRAW dialog to generate the plots in Figure 2 is reproduced below.

c\jamie\perp666>psvdraw

```Perple_X version 6.6.5.9, compiled 6/20/2011.

Enter the project or plot file name [i.e., without the .plt suffix]:
in24_1

Perple_X plot options are currently set as:

Keyword:               Value:     Permitted values [default]:
axis_label_scale       1.20       [1.2] (rel)
bounding_box :
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

PostScript will be written to file: in24_1.ps```

Modify the default plot (y/n)?
y

Modify default drafting options (y/n)?
- picture transformation
- x-y plotting limits
- relative lengths of axes
- text label font size
- line thickness
- curve smoothing
- axes labeling and gridding
y

Modify x-y limits (y/n)?
n

Modify default picture transformation (y/n)?
n

Modify ratio of x to y axis length (y/n)
n

Modify default text scaling (y/n)?
n

Use minimum width lines (y/n)?
n

Fit curves with B-splines (y/n)?
y

Restrict phase fields by variance (y/n)?
- suppress pseudounivariant curves and/or pseudoinvariant points of
a specified true variance.
n

Restrict phase fields by phase identities (y/n)?
- 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
n

Modify default equilibrium labeling (y/n)?
- modify/suppress [pseudo-] univariant curve labels
- suppress [pseudo-] invariant point labels
n

Modify default axes (y/n)?
y

Enter the starting value and interval for major tick marks on
the X-axis (the current values are: 0.125E+05 0.465E+05)
Enter the new values:
0 5e4

Enter the starting value and interval for major tick marks on
the Y-axis (the current values are: 0.00 20.0 )
Enter the new values:
0 20

Cancel half interval tick marks (y/n)?
n

Draw tenth interval tick marks (y/n)?
n

Rescale axes text (y/n)?
n

Figure 2. Modal abundances as a function of pressure for a Martian model composition and aerotherm. The left and right plots were obtained with the cumulative_modes keyword set, respectively, to on and off. With cumulative_modes on, the width of each region in the diagram is proportional to the abundance of a phase, in principle it is possible to order the phases so that when cumulative modes are computed the resulting diagram consists of continuous fields. Such ordering is not done by WERAMI with the result that, e.g., the field of Cpx which is continuous from 1 to 18 GPa is represented as two fields with a discontinuity at ~13.7 GPa. To obtain smoother fields reorder the solution models in the problem definition file (), this ordering determines the order in which the cumulative modes are computed.