POURBAIX_DIAGRAM Commands for Options 1 to 4
Option 1: Start a Completely New Pourbaix Diagram Calculation
Option 1 is used to make a completely new Pourbaix diagram calculation and automatically plot a pH-Eh diagram. i.e., define a new chemical system; specify the T-P-X conditions; calculate the initial equilibria; perform the pH-Eh mapping calculation; plot pH-Eh and various property diagrams.
Many of the commands in Option 1 are also repeated for Options 2 to 4. The details for each command are included with this section unless it is specific to one of the other option choices. The order that the commands display on screen is also different and based on what is entered at the prompts. These prompts are also available in other commands and when applicable a link to that command is included.
Consider the GAS phase in calculating a Pourbaix diagram? /Y/
You can choose to ignore the GAS mixture phase on a calculated/plotted Pourbaix diagram. However, such a plot is actually not a complete Pourbaix diagram because the thermodynamically-stable phase boundaries between the AQUEOUS solution phase and GAS mixture phase will not be calculated.
- If you enter
Y
(the default), GAS mixture phase is always considered. - If you enter
N
the GAS mixture phase is completely ignored.
Use single database? /Y/
If you keep the default you are prompted for a database.
Combined database: /PAQ2/
The default is PAQ2, a database included with all installations.
The following information is provided on screen if you chose Y at the first prompt, Need any instruction on the POURBAIX module? /N/
.

Normally a Pourbaix diagram and its related equilibrium property in a heterogeneous interaction system are calculated under a certain bulk composition, which is usually 1 kg of water with defined amounts of dissolving solute substances. The solutes may either be completely dissolved into the aqueous solution, or be partially dissolved and simultaneously form some solid phases.
Chemical system (elements)
- Default defined elements (solvent H2O): H and O and specially assigned ZE(electron) and VA(vacancy).
- Prompt specified elements (solutes ELEM): Fe Ni Co Cr C N S Na Cl
Initial bulk composition
- Default defined composition (solvent): 1.0 kg of H2O
- Prompt specified composition (solutes): x mole of ELEM
- Mass of Water (weight) = 1 kg
When entering solutes in chemical formulas, the first element's letter must be in UPPER case, and second in lower case, for example NaCl
, CO2
, CoCl3
, Fe0.93S
, NaSO4-1
, and H2SO4
.
First solute
Enter a solute, e.g. Fe
.
Molality of <first solute> [mol/kg] /.001/
Enter a molality for the first solute, e.g. Fe.
Second solute
Enter a second solute and its molality on the same line, e.g. NaCl .1
.
Next solute
You can continue to enter solutes. Press <Enter> to skip to the next prompt.
The following information is provided on screen if you chose Y at the first prompt, Need any instruction on the POURBAIX module? /N/
.

Solutes have been split up into chemical elements and their mole numbers. If confirmed, the Pourbaix module will, in further steps, count the initial bulk composition in terms of chemical elements.
Confirm defined system and initial bulk composition? /Y/
If you keep the default (Y
) thermodynamic data is retrieved from the database. Then it lists the database's phases for the defined system.
You can then reject or restore phases as required with the next prompts.
Reject phase(s) /NONE/
Restore phase(s): /NONE/
Then the program lists the phases retained in the system and you prompted whether this is OK or not.
OK? /Y/
If you answer Y
, then a list of references for the assessed data is displayed on the screen. The next prompt is related to miscibility gap checks, global minimization, saving the information to a POLY3 file, and setting numerical limits.
Should any phase have a miscibility gap check? /N/
The database usually creates two or more "composition sets" for phases that can have miscibility gaps. However, for some phases this is not done automatically, for example the miscibility gap in the bcc phase in Fe-Cr is usually ignored. But if it is important to include a Cr-rich bcc phase specify this here. It costs some computation time and may make subsequent MAP or STEP processes more difficult to converge. To keep the default (not to have any such phase) press <Enter>. Otherwise answer Y and follow the additional prompts.
Enforce Global Minimization Technique in calculations? /N/
If you choose Y
, the Global Minimization is done when possible (depending on the conditions setting), and a Global Minimization test is performed when an equilibrium is reached. This costs more computer time but the calculations are more robust.
Save all functions, variables and tables in POLY3 file? /Y/
Choose Y
if you want to save all the defined symbols (functions, variables and tables) into the POURBAIX.POLY3 file, for further normal POLY3 calculations or normal POST post-processing. Choosing yes may result in a large POLY3 file.
Set numerical limits? /N/
The Pourbaix module has a default setting for numerical limits.
- Maximum number of iterations: 20000
- Required accuracy: 1E-6
- Smallest fraction: 1E-15
- Approximate driving force for metastable phases: Y
If you kept the defaults for the above prompts, the program lists the default and pre-defined calculation conditions and you are prompted to confirm.
Confirm defined conditions? /Y/
Now Thermo‑Calc calculates the start points. This can take a few moments. Near the end of the calculation there is a list of the default axis variables. The maximum pH limit is calculated precisely and determined automatically by the Pourbaix module as a function of the temperature-pressure conditions and initial bulk compositions of the current defined interaction system. You are prompted to accept these settings.
Accept the default settings for two mapping variables? /Y/
The program now lists the initial equilibria for mapping and continues to calculate the mapping. Then it sets the automatic diagram axes and starts to plot the diagram. But first there are several prompts to guide you.
Any missing phase boundary you could possibly think of? /N/
Sometimes the Pourbaix module may miss some phase boundaries during the mapping process. If you answer Y
you can add additional starting point(s) into the calculation. You are now prompted to specify a pH-Eh coordinate pair, for instance (4.0, -0.15), which is close to the expected phase boundary. However, such additional pH-Eh point should not outside the AQUEOUS/GAS(O2) or AQUEOUS/GAS(H2) boundaries; otherwise, the module will fail in finding any new starting point.
The next set of prompts relate to plotting.
Change the pH/Eh steps for smoother curves? /N/
You can modify the mapping steps of X/Y axes for smoother curves; sometimes it may help finding missing phase boundaries by decreasing the pH and Eh increments.
Zoom in? /N/
Change the scaling status for both X and Y axes. The program then asks for minimum and maximum values for the axes. In some cases values are suggested.
Change Curve-Label Option for the diagram? /N/
Change the Curve-Label option to one of the following:
- A: List stable phases along phase boundaries
- B: As A, but curves with same fix phase have same number
- C: List axis quantities
- D: As C, but curves with same quantities have same number
- E: As B, but curves with changing colours
- F: As D, but curves with changing colours
- N: No labels
Usually, Option E or B is good for phase diagrams such as pH-Eh plots, and F or D is good for property diagrams like pH-RC(Fe+2).
Add Label-Texts onto the Pourbaix diagram? /N/
Add label text to an area in the diagram. The label is written starting from the specified coordinates. Optionally, let the program automatically add the text by calculating an equilibrium at some specific coordinates and also make a label as the stable phase names in the area. However, such an automatic calculation may fail, especially for a Pourbaix diagram where either pH or Eh is not an intensive variables.
In most cases, the program is able to write the label if the coordinates and texts are specified.
Change the Subtitle of the diagram? /N/
This is the same as the POST module commandSET_CORNER_TEXT → UPPER_RIGHT <SUBTITLE>. The default subtitle is automatically assigned by the POURBAIX module and is based on the defined conditions in the system (temperature, pressure and initial bulk compositions).
If you choose Y
then the existing subtitle is displayed and you are prompted to enter a new subtitle or to have None.
New Subtitle /NONE/
You can change the subtitle for all the diagrams in the same POURBAIX run (i.e., within the same Option). The new subtitle that can be altered later at the same option, when further modifying the present graph or when refining any sequentially defined plot. By entering text (empty space at any position is allowed), the new subtitle is defined. By typing OLD, the existing subtitle is kept.
By pressing <Enter> (i.e., accepting None), the subtitle is deleted from all sequential plots, which can be set back later at the same option, too.
Change Axis-Texts? /N/
Change the axis text for both X and Y axes.
Further Refine the diagram in POST Module? /N/
With this option, you can further change the appearance the plot and use any command in the normal POST Module.
Hard copy of the diagram? /N/

- Hard copy of the diagram? /N/: Y
- CURRENT DEVICE: MS-Windows
- GRAPHIC DEVICE NUMBER /1/: 5
- NEW DEVICE: Postscript portrait mode
- USE POSTSCRIPT FONTS /YES/: Y
- SELECT FONTNUMBER /9/: 27
- NEW FONT: Times-Bold
- FONT SIZE /.35833/: .32
- PLOTFILE : /defaultname/: yourfilename
Save X-Y coordinates of curve on text file? /N/
Write all the current graphic information (generated and modified in the above procedure) on a text file using the DATAPLOT format (see the DATAPLOT User Guide or search the online help). This also makes it possible to merge two or more diagrams from separate but similar calculations, or put some experimental data points onto a calculated diagram. You do this by first writing them onto text files with this option and then edit them together (using a general text editor). The program asks for a file name. Accept the default (usually POURBAIX) or use another name. If an extension is not given, the written file is given an extension of *.EXP.
Modify the diagram? /N/
Further modify the appearance of the created plot. This brings you back to the above prompts for changing various features.
Any more diagram? /N/
Make many other plots using the same POURBAIX module calculation file.
Option 2: Open an Existing File and Plot Other Property Diagrams

At the end of a Pourbaix module calculation, a new POLY3 file is automatically saved.
A reminder that Linux and Mac are case sensitive; when applicable ensure you enter file extensions with capital letters.
If you are using a POLY3 file more than once (as is done in the extended examples), it is recommended that you copy and rename the previously-generated POLY3 file. This is so that the required POLY3 file structure and Pourbaix results are not lost. Do this outside of Thermo‑Calc i.e. do not save from within Thermo‑Calc.
The reason you do not save from within Thermo‑Calc is because of how the file is saved. When the command sequence (GO POLY3>SAVE <file name>.POLY3>Y) is used, the POLY3 workspace of the POURBAIX calculation results in the POLY3 module monitor and all the initial equilibrium points and the mapping/stepping calculation results are lost as well as parts of the POLY3 file structure (e.g., some definitions of the previously defined POURBAIX-type calculation system).
Open an existing POLY3 file created by the Pourbaix module (from a previous Pourbaix calculation Option 1 or 3 or a previous Stepping calculation Option 4), and selectively plotting other property diagrams. i.e., open the old GES and POLY3 workspaces; plot pH-Eh or various property diagrams.
File name /ABCDEF/
The name of a previously saved POLY3 file where the POLY3 and GES5 workspaces is to be read must be specified. You do not need to enter the file extension if it is the default .POLY3 name. The default file name (e.g. ABCDEF) is the most recent specified POLY3-file name or RESULT if there is no workspace already saved in the run. You can press <Enter> or type a specific file name to read the POLY3 and GES5 workspaces from the file.
For Windows, and at the prompt, an Open file window displays if a file name is not given or the file path is incorrect. The file type (i.e. POLY3) cannot be changed. Click Open or Cancel to continue with the selected file.
When the file opens, it confirms on screen what kind of calculation is contained in the POLY3 file. For example: The loaded POLY3 file is of POURBAIX-MAPPING Calculation.
On screen it also lists the system components and the default and predefined calculation conditions to enable you to review these.
Next you are given a set of properties that are available to be selected as axis variables for making other diagrams from the same calculation.
Abbreviation | Definition |
---|---|
pH | Acidity |
Eh | Electronic potential (V) |
Ah | Electronic affinity (kJ) |
pe | Electronic activity [log10ACRe) |
IS | Ionic strength |
TM | Total concentration |
Aw | Activity of water |
Oc | Osmotic coefficient |
MF (AQsp) | Mole fractions of aqueous species |
ML (AQsp) | Molalities of aqueous species |
AI (AQsp) | Activities of aqueous species |
RC (AQsp) | Activity coefficients of Aq species |
Where AQsp is the name of a specific aqueous species, and "*" can be used as a wild sign for all AQSp. It is not necessary to give a complete aqueous species name. However, the entered AQsp name must be unique. If neither AQsp nor * is given, all species are searched. |
The rest of the prompts are the same as with Option 1 and relate to plotting. Enter ?
at any prompt for details.
Option 3: Open an Existing File and Make Another Pourbaix Calculation

At the end of a Pourbaix module calculation, a new POLY3 file is automatically saved.
A reminder that Linux and Mac are case sensitive; when applicable ensure you enter file extensions with capital letters.
If you are using a POLY3 file more than once (as is done in the extended examples), it is recommended that you copy and rename the previously-generated POLY3 file. This is so that the required POLY3 file structure and Pourbaix results are not lost. Do this outside of Thermo‑Calc i.e. do not save from within Thermo‑Calc.
The reason you do not save from within Thermo‑Calc is because of how the file is saved. When the command sequence (GO POLY3>SAVE <file name>.POLY3>Y) is used, the POLY3 workspace of the POURBAIX calculation results in the POLY3 module monitor and all the initial equilibrium points and the mapping/stepping calculation results are lost as well as parts of the POLY3 file structure (e.g., some definitions of the previously defined POURBAIX-type calculation system).
Open an existing POLY3 file created by the Pourbaix module and make another Pourbaix diagram calculation i.e. open the old GES and POLY3 workspaces, adopt the defined chemical system, modify the T-P-X conditions, calculate the initial equilibria, perform the pH-Eh mapping calculation and plot pH-Eh or other property diagrams.
The rest of the prompts are the same as with Option 1 or Option 2. Enter ?
at any prompt for details.
Modify Label-Texts on the Pourbaix diagram? /N/
Once some labels are written by the Add-Label-Text command onto the diagram, you can also modify the labels (changing their positions and text contents). The text-size cannot be changed. The program asks which label and you enter its new X/Y coordinates with the new text. The new text must not be longer than the old one.
Modify Label-Curve-Option on the Pourbaix diagram? /N/
Because some phase-region labels have been written onto the diagram, the Label-Curve-Option might need to be modified, normally to the Option N.

The default definitions of the Eh and pH quantities in the advanced Pourbaix module (and in the ordinary TDB-GES-POLY calculation routines) should ALWAYS be as below:
Eh = MUR(ZE)/RNF
pH = -log10[AI(H+1,AQUEOUS)]
= -log10[ACR(H+1,AQUEOUS)*AH2O]
where RNF is the Faraday constant (96485.309 C/mol), and AH2O is the molecular weight of H2O (55.508435 g). MUR(ZE) is the electrochemical potential (ECP; in the unit of J/mol; w.r.t. the standard hydrogen electrode). ACR(H+1,AQUEOUS) is the site-fraction-based activity of the H+1 aqueous species in AQUEOUS solution phase, but AI(H+1,AQUEOUS) [that equals ACR(H+1,AQUEOUS)*AH2O] is the molality-based activity of the H+1 aqueous species that should be used for defining the pH quantity.
Within an aqueous-bearing heterogeneous interaction system, the fundamental system-components must be H2O, H+1 and ZE, which are corresponding to the basic elements O & H and the hypothetical electron (ZE) in the aqueous solution phase. For the additional chemical elements in the system, their corresponding system-components shall be defined as in their element forms (such as Fe, Cr, Mn, Ni, Na, Cl, S) or (for some) in their molecular forms (e.g., NaCl, H2S). The reference state for the H2O component must always be defined as the solvent species H2O in the AQUEOUS solution phase under the current temperature (*) and 100000 Pascal (i.e., 1 bar). The reference states for the H+1 and ZE components are by default set as their SER.
Various conventional properties of aqueous solute species I are converted in the following manners:
ML = Y(AQUEOUS,I)*AH2O/YH2O
RC = ACR(I,AQUEOUS)*YH2O/Y(AQUEOUS,I)
AI = RC*ML
= ACR(I,AQUEOUS)*AH2O
where YH2O [i.e., Y(AQUEOUS,H2O)] and Y(AQUEOUS,I) are the site-fractions of solvent H2O and solute species I.
LIST THE DEFINED AXIS-VARIABLES:
Axis No 1: LNACR(H+1)Min: -34.532525Max: 2.3025851 Inc: 0.8
Axis No 2: MUR(ZE) Min: -150000 Max: 200000 Inc: 7718.85
The default settings (listed above) for two mapping variables [in terms of lnACR(H+1) and MUR(ZE), and their minimum/maximum values and increment steps] are covering the following pH-Eh ranges/steps:
pH: 0.00 -> 14.00, at a step of 0.35
Eh: -1.55 -> 2.07, at a step of 0.08 (V)
The maximum pH limit has been calculated precisely and determined automatically by the Pourbaix module, as a function of the temperature-pressure conditions and initial bulk compositions of the current defined interaction system.
Option 4: Open an Existing File and Make another Stepping Calculation
Open an existing POLY3 file created by POURBAIX Module (from a previous POURBAIX calculation Option 1 or 3 or a previous STEPPING calculation Option 4), and make a normal STEPPING calculation. i.e., open the old GES and POLY3 workspaces; adopt the defined chemical system; specify one of the T-P-X conditions as the stepping variable; calculate the initial equilibria; perform the stepping calculation; plot various property diagrams.
Many prompts are the same as with Option 1 or Option 2. Enter ?
at any prompt for details.

At the end of a Pourbaix module calculation, a new POLY3 file is automatically saved.
A reminder that Linux and Mac are case sensitive; when applicable ensure you enter file extensions with capital letters.
If you are using a POLY3 file more than once (as is done in the extended examples), it is recommended that you copy and rename the previously-generated POLY3 file. This is so that the required POLY3 file structure and Pourbaix results are not lost. Do this outside of Thermo‑Calc i.e. do not save from within Thermo‑Calc.
The reason you do not save from within Thermo‑Calc is because of how the file is saved. When the command sequence (GO POLY3>SAVE <file name>.POLY3>Y) is used, the POLY3 workspace of the POURBAIX calculation results in the POLY3 module monitor and all the initial equilibrium points and the mapping/stepping calculation results are lost as well as parts of the POLY3 file structure (e.g., some definitions of the previously defined POURBAIX-type calculation system).
The stepping calculation modifies the POLY3 file but this can be used for other Stepping calculations inside the Pourbaix module (e.g. repeating Option 4) or in normal POLY3 module.

The following parameters are suitable for a STEPPING calculation for the defined aqueous-bearing system. Choose one of them as the stepping variable:
T Temperature (C)
P Pressure (bar)
pH Acidity
Eh Electronic Potential (V)
N(Comp) Mole of One Component
where "Comp" is the name of a specific component as listed below. One should not use any key component (H2O or H+1 or ZE) as such a stepping variable, because of that their compositional definitions and variations are determined by the AQUEOUS solution phase in the POURBAIX Module.
An interacting component defined as an element (such as Fe or Na or Cl) can be selected as a stepping variable.
However, if you want to make a stepping calculation with a non-element chemical formula (such as NaCl or CaS2) as the stepping variable, one must have made some necessary modifications in the POLY3 Module, before reaching this point, by conducting some POLY3 commands as given below (as an example for the system Fe-Na-Cl-H-O):
POLY_3: def-component H2O H+1 ZE Fe NaCl Cl
POLY_3: set-ref-state H2O AQUEOUS * 1E5
POLY_3: set-ref-state ZE REF_ELEC * 1E5
POLY_3: change-status phase REF-ELEC=SUSPEND
POLY_3: set-cond b(H2O)=1000 n(H+1)=0 n(ZE)=0
POLY_3: set-cond P=1E5 T=298.15**
POLY_3: set-cond n(Fe)=1E-3 n(Cl)=0 n(NaCl)=3 **
** Here the P-T-n(Fe) conditions can be set as what you wanted, while the initial n(NaCl) value must be set as between its minimum and maximum values that you are interested in. Later on, it will be prompted for specifying the n(NaCl) Min-Max-Step values of the stepping calculation.
Stepping variable: /T/
The chosen stepping variable must be one of the suitable parameters listed above.
Minimum temperature (C) /15/
Maximum temperature (C) /35/
Increment in temperature (C) /1/
The AQUEOUS solution phase under the defined bulk composition and pressure condition is stable only between 0 and 99° C. However, you can make a stepping calculation outside this temperature range, where the AQUEOUS solution phase become metastable. In this case, the resulting POLY3 file is possibly able to be opened by any other option within the Pourbaix module.