# Creating Perple_X lookup tables
Here is a brief workflow note for building the Wet Basalt $\to$ Dry Eclogite phase transition model for ASPECT.
🌊 Workflow: build $\to$ vertex $\to$ werami
🌏 Objective: Create a look-up table where oceanic crust/basalt (low density) dehydrates into Eclogite (high density) at depth, driving slab pull.
:::success
[Perple_x file format](https://perplex.ethz.ch/perplex/faq/Perple_X_tab_file_format.txt)
:::
## 1. Build
### start to build project
```
> build
Perple_X release 7.1.6, Jan 21, 2024.
Copyright (C) 1986-2023 James A D Connolly <www.perplex.ethz.ch/copyright.html>.
NO is the default (blank) answer to all Y/N prompts
```
### project name
```
Enter a name for this project (the name will be used as the
root for all output file names) [default = my_project]:
> basalt_wet
The problem definition file will be named: basalt_wet.dat
```
### thermodynamic data file
```
Enter thermodynamic data file name [default = hp02ver.dat]:
> hp62ver.dat
Enter the computational option file name [default = perplex_option.dat]:
See: www.perplex.ethz.ch/perplex_options.html
>
Warning: the Perple_X option file: perplex_option.dat
was not found, default option values will be used.
```
### compositions
```
The current data base components are:
Na2O MgO Al2O3 SiO2 K2O CaO TiO2 MnO FeO NiO ZrO2 Cl2
O2 H2O CO2 CuO Cr2O3 S2 F2 N2 ZnO
Transform them (Y/N)?
> N
Specify computational mode:
1 - Convex-Hull minimization
2 - Constrained minimization on a 2d grid [default]
3 - Constrained minimization on a 1d grid
4 - Output pseudocompound data
5 - 1-d Phase fractionation
6 - 0-d Infiltration-reaction-fractionation
7 - 2-d Phase fractionation (FRAC2D and TITRATE reactive transport models)
8 - (pseudo-)Ternary liquidus/solidus surfaces
Use Convex-Hull 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
Calculations with a saturated fluid (Y/N)?
> N
Calculations with saturated components (Y/N)?
> N
Use chemical potentials, activities or fugacities as independent
variables (Y/N)?
> N
Select thermodynamic components from the set:
Na2O MgO Al2O3 SiO2 K2O CaO TiO2 MnO FeO NiO ZrO2 Cl2
O2 H2O CO2 CuO Cr2O3 S2 F2 N2 ZnO
Enter names, 1 per line, press <enter> to finish:
> SiO2
> TiO2
> Al2O3
> FeO
> MnO
> MgO
> CaO
> Na2O
> K2O
> H2O
```
#### H2O related
```
Because the thermodynamic data file identifies: H2O
as special components, you will be prompted next for the EoS to be used for
the corresponding composants and mixtures thereof. To override this behavior,
e.g., to use a generic hybrid fluid EoS (GFSM) either:
set/add the GFSM option to T in your option file
or delete the special_component section from the thermodynamic data file header.
Select fluid equation of state:
0 - X(CO2) H2O-CO2 Modified Redlich-Kwong (MRK) DeSantis et al 74
1 - X(CO2) H2O-CO2 HSMRK Kerrick & Jacobs 81
2 - X(CO2) H2O-CO2 MRK hybrid-EoS*
5 - X(CO2) H2O-CO2 CORK Holland & Powell 91, 98
8 - f(O2/CO2) C-buffered COH MRK hybrid-EoS*
10 - X(O) C-buffered COH MRK hybrid-EoS Connolly & Cesare 93*
12 - X(O)-f(S2) C-buffered COHS MRK hybrid-EoS Connolly & Cesare 93*
13 - X(H2) H2O-H2 MRK hybrid-EoS*
14 - X(CO2) H2O-CO2 Pitzer & Sterner 94; Holland & Powell mixing 03
15 - X(H2) H2O-H2 low T MRK hybrid-EoS*
16 - X(O) H-O MRK hybrid-EoS*
17 - X(O)-f(S2) H-O-S MRK hybrid-EoS*
19 - X(O)-X(S) C-buffered COHS MRK hybrid-EoS Connolly & Cesare 93*
20 - X(O)-X(C) COHS MRK hybrid-EoS Connolly & Cesare 93*
24 - f(O2/CO2)-N/C C-buffered COHN MRK hybrid-EoS*
25 - X(CO2)-X(NaCl) H2O-CO2-NaCl Aranovich et al 10
26 - X(O) O-Si MRK Connolly 16
27 - X(O)-X(C) C-O-H MRK hybrid-EoS*
*Hybrid EoS use the following pure species EoS, to change these associations
modify the hybrid_EoS keywords in the perplex_option file:
H2O - PSEoS Pitzer & Sterner 1994
CO2 - PSEoS Pitzer & Sterner 1994
CH4 - MRK DeSantis et al 1974
> 5
```
### P-T condition
```
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)
> 273
> 1600
Enter minimum and maximum values, respectively, for: P(bar)
> 1
> 100000 #(~300km)
```
### grid
```
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 10 10 10 x 10 nodes
auto-refine 4 40 40 313 x 313 nodes
To change these options edit or create the file perplex_option.dat
See: www.perplex.ethz.ch/perplex_options.html#grid_parameters
```
### molar amount of components
```
Specify component amounts by mass (Y/N)?
> N
```
```
The amounts you enter next need not be normalized; regardless of units, they
define the molar amount of the system
Enter the molar amounts of the components:
SiO2 TiO2 Al2O3 FeO MnO MgO CaO Na2O K2O H2O
for the bulk composition of interest:
> 50.5 1.5 15.5 10.5 0.15 7.5 11.5 2.8 0.1 2.0
```
### solution
```
**warning ver056** the EoS specified for H2O by the hybrid_EoS option will be
overridden by the EoS specified in the problem definition file. To prevent this
behavior set the GFSM option to True.
Exclude pure and/or endmember phases (Y/N)?
N
```
### solution model
```
Include solution models (Y/N)?
Y
Enter the solution model file name [default = solution_model.dat]:
```
```
...
...
**warning ver114** the following endmembers are missing for Opx(TH)
crjd_d crdi_d ness_d cess_d ojdTH ffbuf_d obufTH crfs_d crenTH facm_d macmTH
**warning ver114** the following endmembers are missing for Cpx(TH)
mkbuf_d mnbuf_d mcbufTH crkjd_d crjd_d crdiTH kess_d ness_d cessTH kjdTH ffbuf_d mmbuf_d crfs_d cren_d fess_d mess_d
Select models from the following list, enter 1 per line, press <enter> to finish
clinohumite models: TiCh(PL) Chum
ternary-feldspar models: feldspar feldspar_B Pl(I1,HP) Fsp(C1) Fsp(HGP21)
clinoamphibole models: cAmph_I(G) cAmph(G) Cumm Gl Tr
Act(M) cAmph(DP) cAmph_I(DP GlTrTsMr Ca-Amph(D)
Na-Amph(D) GlTrTsPg Amph(DHP) Amph(DPW)
clinopyroxene models: Cpx_I(HGP) Cpx(HGP) Augite(G) Cpx(JH) Cpx(l)
Cpx(h) Cpx(stx) Cpx(stx7) Omph(HP) Cpx(HP)
Cpx(m) Cpx(stx8) Omph(GHP) Cpx(TH)
fluid models: Aqfl(HGP) COH-Fluid COH-Fluid+ WADDAH HOS-Fluid
HO-Fluid
liquid models: melt(HGPH) melt(G) Melt(JH) Melt(A) Melt(B)
melt(W) melt(HP) melt(TH)
chlorite models: Chl(W) Chl(HP) Chl(LWV)
olivine models: O(JH) O(SG) O(HP) O(HPK) O(stx)
O(stx7) Ol(m) O(stx8) O(HGP)
spinel models: Sp(JH) GaHcSp Sp(JR) Sp(GS) Sp(HP)
Sp(stx) CrSp Sp(stx7) Sp(WPC) Sp_II(WPC)
Sp(stx8)
binary-feldspar models: Pl(JH) Pl(h) San San(TH) Pl(stx8)
garnet models: Grt(JH) Gt(W) CrGt Gt(MPF) Gt(B)
Gt(GCT) Gt(HP) Gt(EWHP) Gt(WPH) Gt(stx)
Gt(stx8) Gt(WPPH) Maj Gt(H) Gt(HGP)
ZrGt(KP) Gt(TH)
orthopyroxene models: Opx(JH) Opx(W) Opx(HP) CrOpx(HP) Opx(stx)
Opx(stx8) Opx(HGP) Opx(TH)
white-mica models: Mica(W) Pheng(HP) MaPa Mica(CF) Mica(CHA1)
Mica(CHA) Mica+(CHA) Mica(M) Mica(SGH)
chloritoid models: Ctd(W) Ctd(HP) Ctd(SGH)
staurolite models: St(W) St(HP)
biotite models: Bi(W) Bi(HGP) Bio(TCC) Bio(WPH) Bio(HP)
cordierite models: Crd(W) Crd(HGP) hCrd
sapphirine models: Sa(WP) Sapp(TP) Sapp(HP) Sapp(KWP)
pumpellyite models: Pu
osumilite models: Osm(HP11)
carpholite models: Carp Carp(M) Carp(SGH)
sudoite models: Sud(Livi) Sud Sud(M)
orthoamphibole models: Anth oAmph(DP) o-Amph
stilpnomelane models: Stlp
ilmenite models: IlHm(A) IlGkPy Aki Ilm(WPH) Ilm(DS6)
feldspathoid models: Neph(FB)
alphabet-phase models: A-phase
brucite models: B
wadleysite models: Wad
ringwoodite models: Ring Ring(H)
wuestite models: Wus
perovskite models: Pv
ferropericlase models: Fper(H)
MgSi Perovskite models: Mpv(H)
CaSi Perovskite models: Cpv(H)
Corundum models: Cor(H)
Akimotoite models: Aki(H)
wadsleyite models: Wad(H)
HP_clinopyroxene models: Hpx(H)
talc models: T
serpentine models: Atg(PN)
For details on these models see: www.perplex.ethz.ch/perplex_solution_model_glossary.html
or read the commentary in the solution model file.
```
```
> Omph(GHP)
Gt(W)
Pl(h)
cAmph(DP)
Chl(W)
Opx(HP)
Cpx(HP)
Sp(HP)
Mica(W)
```
### get file `basalt_wet.dat`
```
hp62ver.dat thermodynamic data file
print | no_print suppresses print output
plot | obsolete 6.8.4+
solution_model.dat | solution model file, blank = none
BASALT
perplex_option.dat | Perple_X option file
5 calculation type: 0- composition, 1- Schreinemakers, 2 - liquidus/solidus, 3- Mixed, 5- gridded min, 7- 1d fract, 8- gwash, 9- 2d fract, 10- 7 w/file input, 11- 9 w/file input, 12- 0d infiltration
0 unused place holder, post 06
0 unused place holder, post 06
0 unused place holder, post 06
0 unused place holder, post 06
0 unused place holder, post 06
0 unused place holder, post 06
0 unused place holder, post 06
0 unused place holder, post 06
0 unused place holder, post 06
0 number component transformations
21 number of components in the data base
0 component amounts, 0 - mole, 1 mass
0 unused place holder, post 06
0 unused place holder, post 06
0 unused place holder, post 05
5 ifug EoS for saturated phase
2 gridded minimization dimension (1 or 2)
0 special dependencies: 0 - P and T independent, 1 - P(T), 2 - T(P)
0.00000 0.00000 0.00000 0.00000 0.00000 Geothermal gradient polynomial coeffs.
begin thermodynamic component list
SiO2 1 50.5000 0.00000 0.00000 molar amount
TiO2 1 1.50000 0.00000 0.00000 molar amount
Al2O3 1 15.5000 0.00000 0.00000 molar amount
FeO 1 10.5000 0.00000 0.00000 molar amount
MnO 1 0.150000 0.00000 0.00000 molar amount
MgO 1 7.50000 0.00000 0.00000 molar amount
CaO 1 11.5000 0.00000 0.00000 molar amount
Na2O 1 2.80000 0.00000 0.00000 molar amount
K2O 1 0.100000 0.00000 0.00000 molar amount
H2O 1 2.00000 0.00000 0.00000 molar amount
end thermodynamic component list
begin saturated component list
end saturated component list
begin saturated phase component list
end saturated phase component list
begin independent potential/fugacity/activity list
end independent potential list
begin excluded phase list
end excluded phase list
begin solution phase list
Omph(GHP)
Gt(W)
Pl(h)
Chl(W)
Opx(HP)
Cpx(HP)
Sp(HP)
Mica(W)
end solution phase list
100000. 1600.00 0.00000 0.00000 0.00000 max p, t, xco2, mu_1, mu_2
1.00000 273.000 0.00000 0.00000 0.00000 min p, t, xco2, mu_1, mu_2
0.00000 0.00000 0.00000 0.00000 0.00000 unused place holder post 06
2 1 4 5 3 indices of 1st & 2nd independent & sectioning variables
```
---
## 2. vertex
### vertex: thermodynamic calculation
```
> vertex
Perple_X release 7.1.6, Jan 21, 2024.
Copyright (C) 1986-2023 James A D Connolly <www.perplex.ethz.ch/copyright.html>.
Enter the project name (the name assigned in BUILD) [default = my_project]:
> basalt_wet
```
working and running...wait a few minutes
```
...
Reading problem definition from file: basalt_wet.dat
Reading thermodynamic data from file: hp62ver.dat
Writing print output to file: basalt_wet.plt
Writing plot output to file: basalt_wet.plt
Writing phase assemblage data to file: basalt_wet.blk
Reading solution models from file: solution_model.dat
Warning: the Perple_X option file: perplex_option.dat
was not found, default option values will be used.
Writing auto refine summary to: not requested
Writing seismic data options to: basalt_wet_seismic_data.txt
Writing pseudocompound glossary to: not requested
Writing Perple_X option summary to: not requested
Perple_X computational option settings for VERTEX:
...
...
...
...working ( 7252 minimizations done)
...working ( 7754 minimizations done)
...working ( 8256 minimizations done)
refinement at level 4 involved 8387 minimizations
15276 minimizations required of the theoretical limit of 98596
--------------------------------------------------------------------------------
Timing min. % of total
Static G calculation 0.38352E-01 1.4
Dynamic G calculation 0.57926 21.8
Static LP 0.12838E-01 0.5
Dynamic LP 0.92087 34.6
Successive QP 1.0738 40.4
Total of above 2.6251 98.7
Total elapsed time 2.6587 100.0
--------------------------------------------------------------------------------
End of job: basalt_wet
--------------------------------------------------------------------------------
65923791
```
### get files
```
basalt_wet.arf
basalt_wet.blk
basalt_wet.plt
basalt_wet.prn
basalt_wet.tim
basalt_wet.tof
basalt_wet_auto_refine.txt
basalt_wet_seismic_data.txt
```
## 3. werami
### werami
```
> werami
Perple_X release 7.1.6, Jan 21, 2024.
Copyright (C) 1986-2023 James A D Connolly <www.perplex.ethz.ch/copyright.html>.
Enter the project name (the name assigned in BUILD) [default = my_project]:
> basalt_wet
Warning: the Perple_X option file: perplex_option.dat
was not found, default option values will be used.
Writing Perple_X option summary to: not requested
Perple_X computational option settings for WERAMI:
Keyword: Value: Permitted values [default]:
Input/Output options:
aqueous_output T [F] T
aqeuous_species 20 [20] 0-150
aq_solvent_composition y [y] m: y => mol fraction, m => molality
aq_solute_composition m y [m]: y => mol fraction, m => molality
spreadsheet T [F] T
logarithmic_p F [F] T
logarithmic_X F [F] T
bad_number NaN [NaN]
composition_constant F [F] T
composition_phase mol [mol] wt
composition_system wt [wt] mol
proportions vol [vol] wt mol
absolute F [F] T
cumulative F [F] T
fancy_cumulative_modes F [F] T
interpolation on [on] off
melt_is_fluid T [T] F
solution_names mod [model] abbreviation full
structural_formulae T [T] F
output_species T [T] F
output_species_props F [F] T
seismic_output som [some] none all
poisson_test F [F] T
interim_results aut [auto] off manual
sample_on_grid T [T] F
Information file output options:
option_list_files F [F] T; echo computational options
Thermodynamic options:
approx_alpha T [T] F
Anderson-Gruneisen F [F] T
hybrid_EoS_H2O 4 [4] 0-2, 4-7
hybrid_EoS_CO2 4 [4] 0-4, 7
hybrid_EoS_CH4 0 [0] 0-1, 7
fd_expansion_factor 2.0 [2] >0
finite_difference_p 0.1E+05 [1d4] >0; fraction = 0.1E-02 [1d-2]
Seismic wavespeed computational options:
seismic_data_file T [F] T
bounds VRH [VRH] HS
vrh/hs_weighting 0.5 [0.5] 0->1
explicit_bulk_modulus T [T] F
poisson_ratio on [on] all off; Poisson ratio = 0.35
seismic_output som [some] none all
poisson_test F [F] T
Tisza_test F [F] T
fluid_shear_modulus T [T] F
phi_d 0.36 [0.36] 0->1
Error/warning control options:
pause_on_error T [T] F
max_warn_limit 5 [5]
warn_interactive T [T] F
aq_error_ver100 F [F] T, abort during iteration
aq_error_ver101 T [T] F, solute undersaturation abort
aq_error_ver102 T [T] F, pure + impure solvent abort
aq_error_ver103 T [T] F, out-of-range HKF g abort
aq_error_ver104 T [T] F, abort on failed respeciation
warning_ver637 T [T] F
error_ver109 T [T] F
do_not_reset_options F [F] T, prevents automatic resets
To change these options see: www.perplex.ethz.ch/perplex_options.html
**warning ver056** the EoS specified for H2O by the hybrid_EoS option will be
overridden by the EoS specified in the problem definition file. To prevent this
behavior set the GFSM option to True.
--------------------------------------------------------------------------------
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
> 2
```
### select what to plot
```
Select a property:
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 - Composition (Mol, Mass, or Wt%) of the system
7 - Mode (Vol, Mol, or Wt proportion) of a phase
8 - Composition (Mol, Mass, or Wt%) of a solution phase
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)
40 - Lagged or back-calculated aqueous solute chemistry
```
```
> 2
Calculate individual phase properties (y/n)?
> N
```
:::success
2 (Density, kg/m³)
13 (P-wave velocity, Vp, km/s)
14 (S-wave velocity, Vs, km/s)
4 (Expansivity, 1/K)
19 (Heat Capacity, J/K/kg) — Note: Choose 19, not 3. ASPECT wants J/kg/K.
0 (Done)
:::
:::info
2 (Density): The most critical parameter. It drives the subduction (slab pull) and ensures phase changes (e.g., eclogitization) affect the dynamics.
13 & 14 (Vp, Vs): These allow you to output seismic tomography images to compare with real data.
4 (Expansivity, $\alpha$): Controls how much the rock expands when hot. ASPECT needs this to calculate thermal buoyancy.
19 (Heat Capacity, $C_p$): Controls how much energy is required to change the temperature. Essential for the temperature solver.
:::
Our gaol is to get properties of the bulk / system, not idividual minerals
continue for other items
```
Calculate individual phase properties (y/n)?
> n
Include fluid in computation of aggregate (or modal) properties (y/n)?
> n
Select an additional property or enter 0 to finish:
> 10
Calculate individual phase properties (y/n)?
> n
Include fluid in computation of aggregate (or modal) properties (y/n)?
> n
Select an additional property or enter 0 to finish:
> 13
Calculate individual phase properties (y/n)?
> n
Include fluid in computation of aggregate (or modal) properties (y/n)?
> n
Select an additional property or enter 0 to finish:
> 14
Calculate individual phase properties (y/n)?
> n
Include fluid in computation of aggregate (or modal) properties (y/n)?
> n
Select an additional property or enter 0 to finish:
> 13
Calculate individual phase properties (y/n)?
> n
Include fluid in computation of aggregate (or modal) properties (y/n)?
> n
Select an additional property or enter 0 to finish:
> 14
Calculate individual phase properties (y/n)?
> n
Include fluid in computation of aggregate (or modal) properties (y/n)?
> n
Select an additional property or enter 0 to finish:
> 15
Calculate individual phase properties (y/n)?
> 0
Include fluid in computation of aggregate (or modal) properties (y/n)?
> n
Select an additional property or enter 0 to finish:
> 0
Change default variable range (y/n)?
> N
Select the grid resolution (to use an arbitrary grid set sample_on_grid to F):
1 - 40 x 40 nodes [default]
2 - 79 x 79 nodes
3 - 157 x 157 nodes
4 - 313 x 313 nodes
> 3
**warning ver538** use of multi-level grids may generate noise due to data
interpolation onto unpopulated nodes. If exceptional resolution is required set
grid_levels to 1 1 and change the 2nd value of x/y_nodesto obtain the desired resolution.
To disable [all] interactive warnings set warn_interactive to F.
Continue (y/n)?
> y
```
Runing ...
```
...
Data ranges excluding values equal to bad_number ( NaN) specified in perplex_option.dat:
rho,kg/m3 Ks,bar vp,km/s vs,km/s
min 2852.67 698404. 5.94673 2.85672
max 3961.27 0.219583E+007 8.94813 4.29854
Output has been written to the 2d tab format file: basalt_wet_2.tab
2d tab format files can be processed with:
PSTABLE - a Perple_X plotting program
PERPLE_X_PLOT - a MATLAB plotting script
PYWERAMI - github.com/ondrolexa/pywerami
spread-sheet programs, e.g., EXCEL
for details on tab format refer to:
perplex.ethz.ch/perplex/faq/Perple_X_tab_file_format.txt
```
### get file `basalt_wet_2.dat`
```
> head -n 14 basalt_wet_2.tab
|6.6.6
basalt_wet_2.tab
2
T(K)
273.00000000000000
17.012820512820515
79
P(bar)
1.0000000000000000
1282.0384615384614
79
6
T(K) P(bar) rho,kg/m3 Ks,bar vp,km/s vs,km/s
273.000 1.00000 3470.59 0.122745E+007 7.14744 3.43352
```
or
### use python script provided by ASPECT
```
python3 create_aspect_readable_perplex_table_with_phase_volumes.py \
--werami_path /Users/wanlin/Documents/Perple_X-7.1.6/src/werami \
--project basalt_wet \
--outfile tempbasalt \
--n_pressures 100 \
--n_temperatures 100 \
--pressure_range 1 100000 \
--temperature_range 273 1600
```
### get a file `basalt_wet_1.tab`
```
> head -n 14 basalt_wet_1.tab
|6.6.6
basalt_wet_1.tab
2
T(K)
273.00000000000000
34.025641025641029
40
P(bar)
1.0000000000000000
2564.0769230769229
40
52
T(K) P(bar) Gt(W) Gt(W) Opx(HP) ky tr fanth ab ilm gl_dqf kjdh Omph(GHP) Omph(GHP) sph q ru fctd Mica(W) Mica(W) ta coe tpz cen stv hol dsp fst phl law ts Pl(h) Pl(h) cor Cpx(HP) naph cz san fa Chl(W) Chl(W) zo Sp(HP) H2O lc parg_dqf usp kcm fa8L dilm jdL faTL
273.000 1.00000 37.5089 NaN 5.73712 15.3301 1.52366 1.89533 10.8757 2.47330 23.8235 0.832372 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
```
## Plot out results
### phases diagram

### material properties
