Thermo Calc Documentation Set
Thermo Calc Documentation Set
Contents ǀ1 of 32
Installation Default Set the installation directory
Directory: Process Metallurgy and choose the license file 40
Materials 27
Install the software and start
Installation Default using Thermo-Calc 41
Directory: Custom Property Models28
Add New Components to an
Installation Default Directory: TC- Existing Installation 42
Python 29
Network Client Installations 43
Installation Default Directory: TC-
Toolbox for MATLAB® 30 Full Network Client Installations 44
Contents ǀ2 of 32
Install the Thermo-Calc Thin Client Installations 55
Network License Using
WIAdmin 49 Installation Requirements 55
Contents ǀ3 of 32
Requesting the License File for Configure PyCharm to use the
macOS 67 bundled Python-interpreter 83
Quick Installation Guides 69 Run a TC-Python Example 84
Windows® Standalone Quick Install Open the TC-Python Project
Guide 70 in PyCharm 84
Request a License File 70 Installing TC-Python Into a Python-
interpreter of Your Choice 85
Install the Software 71
Install a Python Distribution 85
Download and run your
Thermo-Calc installation Install Anaconda 85
software 71
Install Thermo-Calc and the TC-
Select the installation mode 72 Python SDK 85
macOS® Standalone Quick Install Install TC-Python 86
Guide 74
Install an IDE (Integrated
Request a License File 74 Development Environment) 87
Install the Software 75 Open the IDE and Run a TC-
Python Example 88
Download and install XQuartz75
Open the TC-Python Project
Download and run your in PyCharm 88
Thermo-Calc installation
software 76 macOS: Setting Environment
Variables 89
Select the installation mode 77
Fixing Potential Issues with the
TC-Python Installation Guide 78 Environment 90
About the TC-Python Help and PDFs79 Updating to a Newer Version 91
Opening the TC-Python Locally TC-Python Diagnostic Script 92
Installed Documentation 79
Troubleshooting 93
Which TC-Python Installation
Should I Choose? 81 License Errors 94
Installing TC-Python with a Bundled Determining the Current License
Python-interpreter 82 File Directory Path 96
Limitations 82 From Thermo-Calc 96
Install an IDE (Integrated Specifying a New Server Name or
Development Environment) 83 IP Number 98
Contents ǀ4 of 32
MATLAB® Installation Directory 99 WlmAdmin Administrative Tool 112
Firewalls 100 WlmAdmin Functions 112
Client/Server Mismatch 101 View License Manager
Information 113
Compare computer names
on the client computer and Add or Remove a License
server 101 Manager from the Defined
Server List 113
Try these options to correct
the issue 102 Add a License Code to the
License Manager from a
macOS Installations: Running the File 113
License Initialization Script 103
Delete Old License Features
Linux Installations: Running the from the License Manager 113
License Initialization Script 104
Shut Down a License
Sentinel RMS License 9.7 Tools 105 Manager 113
GetHostID: Get HostID/Mac Setting WlmAdmin
Address 106 Preferences 114
Windows 106 Sldemo: Show Basic API Functions 116
Linux 32-bit 106 Wechoid: Get a Computer Locking
Linux 64-bit 106 Code 120
Contents ǀ5 of 32
Graphical Mode vs Console Mode 7 Surface Tension of Metallic Liquid
Alloys Model 46
Graphical Mode Activities vs
Console Mode Modules 9 Viscosity of the Metallic Liquids
Model 49
Graphical Mode vs Console Mode:
Calculation Types 11 Viscosity of the Ionic Liquids Model 51
About the File Types and Formats 15 Molar Volume Model 52
Displaying Thermo-Calc License Database Files 53
Information 16
About the Database Files 54
About the Documentation and
Examples 19 Encrypted vs Unencrypted
Database Files 54
Examples, Manuals and Materials
Folders 20 Database Initialization File 54
Contents ǀ6 of 32
Global Settings: Diffusion Activity Successor and
Calculator 71 Predecessor Nodes 9
Global Settings: Precipitation Graphical Mode Activity Node
Calculator 72 Workflow 12
Global Settings: Process Metallurgy73 Creating Activities and Successors 13
Global Settings: Scheil Calculator 74 Cloning Activities and Trees 15
Global Settings: Tables 75 Moving Nodes in the Tree and
Using the Grid 17
Global Settings: Graphical and
Console Mode Plotting 76 Node or Window Status Markers 20
Titles, Legends and Labels 78 My Project and Activity Menus 22
Fonts and Background Colors 80 My Project Node 22
Lines and Grids 80 Activity Node General 23
Data Points, Anchors and Saving and Opening Project Files 26
Numbers 85
Saving a Project File 26
Plot Area Size 85
Saving a Project File with
Image Quality 86 Results 26
Global Settings: Console Mode Appending a Project 27
Default Appearance 87
Opening a Project File 27
Thermo-Calc User
Guide: Graphical Mode 1 The Calculation Types in Graphical
Mode 29
Working in Graphical Mode 2
Binary Calculator 29
The Graphical Mode Desktop
Layout 3 Diffusion Calculator 29
Contents ǀ7 of 32
Creating a Project with the Conditions Tab Settings 58
Quick Start Wizard 34
Calculating and Plotting
Creating a Project from a Functions 61
Template 36
Options Tab Settings 62
Process Metallurgy Template 38
Single Equilibrium and Grid 63
Steel Library TTT Diagram
Template 39 One Axis 64
Contents ǀ8 of 32
General Models 86 Homogenization Model
Specific 117
Calculation Types 89
About the Homogenization
Examples and Video Tutorials90 Functions 119
About the Steel Model Library Pause, Resume and Cancel
Property Models 91 Diffusion Calculations 120
Define the Property Model How to Pause and
Calculator 94 Resume a Job 121
Configuration Window Settings 95 How to Cancel a Job 122
Diffusion Calculator 99 Precipitation Calculator 123
Available Graphical Mode Precipitation Module:
Features 99 Available Graphical Mode
Using the Template 100 Features 123
Contents ǀ9 of 32
Numerical Parameters 137 Configuration Settings 175
Pause, Resume and Cancel About the Crack Susceptibility
Precipitation Calculations 143 Coefficient Property Model 176
To Pause and Resume a Job 144 Input Parameters Theory and
Background 176
To Cancel a Job 145
Liquid Fraction Parameters 178
Plot Renderer 146
References 180
Configuration Settings 147
Crack Susceptibility
Examples of Calculation Coefficient Property Model
Type Differences 148 Settings 181
Settings 148 Configuration Settings 181
Plot Settings: TTT Mode 153 Scheil and General
Diffusion Calculator Plot Parameters 181
Renderer 154 Thermal Mode and Liquid
Simplified Mode 154 Fraction Parameters 183
Contents ǀ10 of 32
Configuration Settings 195 About the Martensite Fractions
Property Model 215
Liquid and Solidus Temperature
Property Model Settings 196 Reference 215
Configuration Settings 196 Martensite Fractions Property
Model Settings 216
Phase Transition Property Model
Settings 198 Configuration Settings 216
Configuration Settings 198 Plot Renderer Settings 217
About the T0 Temperature About the Martensite
Property Model 200 Temperatures Property Model 218
T0 Temperature Property References 218
Model Settings 201
Martensite Temperatures
Configuration Settings 201 Property Model Settings 219
About the Spinodal Property Configuration Settings 219
Model 203
Plot Renderer Settings 220
Spinodal Property Model
Settings 204 About the Pearlite Property
Model 222
Configuration Settings 204
References 223
Steel Model Library Property
Models 206 Pearlite Property Model
Settings 224
About the Bainite Property Model 207
Configuration Settings 224
References 208
Plot Renderer Settings 226
Bainite Property Model
Settings 209 About the Yield Strength Property
Model 227
Configuration Settings 209
Yield Strength Property Model
Plot Renderer Settings 210 Settings 239
About the Critical Transformation Configuration Settings 239
Temperatures Property Model 211
General Model Settings 241
Critical Transformation
Temperatures Property Model Yield Strength Model
Settings 212 Settings 243
Contents ǀ11 of 32
Grid Definition Settings 247 Equilibrium Simulation:
Conditions Tab 286
The Process Metallurgy Module 249
Defining the Process Simulation 293
About the Process Metallurgy
Module 250 Process Simulation: Conditions
Tab 297
Setting Up a Process Metallurgy
Simulation 252 Process Simulation: Process
Model Settings 299
Equilibrium Simulations 253
Edit Process Model 299
Process Simulations 254
Process Simulation: Materials Tab 303
Calculation Types 254
Process Simulation: Process
Working with the Process Schedule Tab 305
Metallurgy Module 256
Options Tab 307
Working with the Process
Schedule 267 Material Manager 307
About Dynamic Time Stepping 269 Process Material Equilibrium
and Grid 307
About Pressure-Dependent
Calculations 271 Timestep Control 309
Working with the Material Scheduler and Event Log Windows 311
Manager 272
Using the Scheduler 312
Process Metallurgy Slag
Properties 274 Event Log Window 314
Contents ǀ12 of 32
View T_01: Calculating a Single-Point
Equilibrium 360
Plotting Options 321
T_02: Stepping in Temperature in
Plotting Several Calculations in the Fe-C System 362
One Diagram 325
T_03: Fe-C Phase Diagrams 364
Merging Plots into One Diagram 327
T_04: Fe-Cr-C Ternary Phase
Adding Axes to a Diagram 329 Diagram at 1000 K 366
Heat Map, Contour and 3D Plots 331 T_05: Stable and the Metastable
Grid Calculations 331 Fe-C Phase Diagrams 369
Contents ǀ13 of 32
PM_G_06: Yield Strength HEA 406 Composition of Liquid Metal 437
PM_G_07: Hot Crack Composition of Liquid Slag 439
Susceptibility 408
PMET_02: Ladle Furnace (LF) 442
References 409
Fraction of Liquid Slag 444
PM_G_08: Spinodal 411
Sulfur in Liquid Steel 445
PM_G_09: T-Zero Temperature 413
Ratio of Liquid Slag and Sulfur
PM_G_10: Freeze-in Thermal in Liquid Steel 446
Conductivity 415
PMET_03: Argon Oxygen
Reference 416 Decarburization (AOD) 450
PM_G_11: Freeze-in Electric Slag Basicity 452
Conductivity 417
S Content in Steel 453
Reference 418
Cr Content in Slag 454
Steel Model Library Examples
Collection 419 Amount of Slag 455
Contents ǀ14 of 32
Reference 469 D_06 Diffusion Through a Tube
Wall 500
PMET_06: Ladle Furnace (LF)
Kinetics 470 D_07 Multiphase Carburization of
a Ni-25Cr-0.0001C alloy 502
Setting Up the LF Process
Simulation Kinetics 471 Reference 504
Process Schedule 472 Precipitation Module (TC-
PRISMA) Graphical Mode Examples505
Temperature 473
P_01: Isothermal Precipitation of
Liquid Metal Composition and Al3Sc 507
Amount 475
Example Settings 510
Slag Composition and Amount 476
References 511
Inclusion Composition 476
Tutorial-P_01-Isothermal 512
References 477
P_02: Stable and Metastable
PMET_07_Vacuum_Oxygen_ Carbides - Isothermal 520
Decarburization_Kinetics 478
Example Settings 521
Reference 482
P_03: Stable and Metastable
Diffusion Module Carbides - TTT Diagram 523
(DICTRA) Graphical Mode
Examples 483 Example Settings 524
D_01 Homogenization of a Binary P_04: Precipitation of Iron Carbon
Fe-Ni Alloy 485 Cementite 526
D_02 Ferrite(bcc)/Austenite(fcc) Example Settings 527
Transformation in a Binary Fe-C
Alloy 487 Reference 528
Contents ǀ15 of 32
P_07: Continuous Cooling Reference 583
Transformation (CCT) Diagram of
Ni-Al-Cr γ-γ’ 539 Thermo-Calc User Guide: Console
Mode 1
Example Settings 540
Working in Console Mode 2
Tutorial-P_07-CCT 542
The Console Mode Layout 3
P_08: Precipitation of Cu-Ti CU4TI
with Assumptions of Sphere and Console Window 5
Needle Morphologies 547 Console Mode Results Window 6
Example Settings 551 Event Log Window 7
References 553 Keyboard Shortcuts to Navigate
P_09: Precipitation of Al-Sc AL3SC Between Tabs 8
with Assumption of Sphere and Modules and Commands 10
Cuboid Morphologies 554
Console Mode Workflow 11
Example Settings 558
Defining a System in Console Mode13
References 559
Console Mode Modules 15
Tutorial-P_09-Al-Sc-Sphere_
Cuboid 560 Moving Between Modules and
Submodules 23
P_10: Initial Particle Size
Distribution of Fe-Cr-C 570 Entering Command Names or
Abbreviations 24
Example Settings 572
Using the Command Line Prompt 26
P_11: Interfacial Energy Function 574
Main Menu Commands 27
Example Settings 575
Command History 28
Reference 576
Wild Card Characters 29
P_12: Comparing Growth Rate
Models for an Al-Zr System 577 File Types 31
Contents ǀ16 of 32
Opening a Macro Using a Calculating a Property Diagram
Command 34 One Phase at a Time 67
Drag and Drop a Macro File Calculating Several Properties
into the Console Window 34 in the Same Diagram 68
Log Files 36 Phase Diagrams 69
Macro Files 37 About Phase Diagrams 70
Workspace Files 40 Calculating and Plotting a
Phase Diagram 71
Links to Workspace Commands 42
About Binary Phase Diagrams 72
Editing the Default Console
Directory 46 BINARY_DIAGRAM 73
Experimental Data Files (*.POP, About Ternary Phase Diagrams 73
*.DOP) 49
TERNARY_DIAGRAM 75
Calculations 52
About Quasi-Binary and Quasi-
About the Gibbs Energy System Ternary Phase Diagrams 75
(GES) Module 53
Calculating a Quasi-Binary
Calculation Engine: GES5 vs Phase Diagram 77
GES6 53
Calculating a Quasi-Ternary
Equilibrium Calculations 55 Phase Diagram 78
The Equilibrium Calculation T0 Temperature Simulations 79
Module (POLY3) 56
About T0 Temperature
Setting Conditions for Simulations 80
Equilibrium Calculations 57
Making a T0 Temperature
Calculating an Equilibrium 60 Simulation 81
Calculating an Equilibrium with Paraequilibrium 83
a Fixed Phase 61
About Paraequilibrium 84
Calculating an Equilibrium with
Suspended or Dormant Phases 62 Calculating a Paraequilibrium 85
Contents ǀ17 of 32
Calculating a Potential What is a Pourbaix
Diagram 91 diagram? 117
Calculating a Potential What database should
Diagram with Different I use? 117
Pressure 93
Choosing a custom
Scheil Simulations 94 aqueous solution
database 117
About the Scheil-Gulliver
Solidification Simulations 95 Copy and Rename the
POLY3 file 118
Classic Scheil Simulation 95
Enforce a Pause 119
Scheil Simulation with a Fast
Diffuser Element 95 Pourbaix Main Options 119
Scheil Simulation with Back Tabulation Reactions 121
Diffusion 96
About the Tabulation Reaction
Summary 97 Module 122
Simulating a Scheil Tabulating a Reaction 124
Solidification Process 98
Tabulating a Substance or
Scheil Module State Variables 101 Solution Phase at Fixed
Composition 125
Scheil Module Frequently
Asked Questions 103 Results 126
Aqueous Solutions and Pourbaix Console Mode Results 127
Diagrams 105
Using the POST Module 128
About Aqueous Solutions and
the Pourbaix Diagram 106 Plotting Diagrams 129
Contents ǀ18 of 32
Loading Saved Diagrams 135 SET_TC_OPTIONS 161
Working with the Console Mode STOP_ON_ERROR 162
Output 136
Database (TDB) Module
Pause, Resume or Stop Output Commands 163
to the Console Window 136
AMEND_SELECTION 164
Controlling Console Output 136
APPEND_DATABASE 165
Commands by Module 138
DATABASE_INFORMATION 166
System Utilities (SYS) Commands 139
DEFINE_ELEMENTS 167
ABOUT 140
DEFINE_SPECIES 168
BACK 141
DEFINE_SYSTEM 169
CLOSE_FILE 142
GET_DATA 170
DISPLAY_LICENSE_INFO 143
LIST_DATABASE 171
EXIT 144
LIST_SYSTEM 172
GOTO_MODULE 145
REJECT 173
HELP (? and ??) 146
RESTORE 175
HELP 147
SET_AUTO_APPEND_
HP_CALCULATOR 148 DATABASE 176
INFORMATION 149 SWITCH_DATABASE 177
MACRO_FILE_OPEN 150 POLY Module Commands 178
OPEN_FILE 153 ADD_INITIAL_EQUILIBRIUM 182
SET_COMMAND_UNITS 154 ADVANCED_OPTIONS 185
SET_ECHO 155 AMEND_STORED_EQUILIBRIA 186
SET_GES_VERSION 156 CHANGE_STATUS 188
SET_INTERACTIVE 157 COMPUTE_EQUILIBRIUM 193
SET_INTERACTIVE_MODE 158 COMPUTE_TRANSITION 195
SET_LOG_FILE 159 CREATE_NEW_EQUILIBRIUM 197
SET_PLOT_ENVIRONMENT 160 DEFINE_COMPONENTS 198
Contents ǀ19 of 32
DEFINE_DIAGRAM 199 OUTPUT_FILE_FOR_SHOW 232
DEFINE_MATERIAL 202 PARAEQUILIBRIUM 233
DELETE_INITIAL_ PHASE_ADDITION 236
EQUILIBRIUM 206
POST 237
DELETE_SYMBOL 207
PRESENT_PHASE 238
ENTER_SYMBOL 208
READ_WORKSPACES 239
EQUILIBRIUM_CALCUL 211
REINITIATE_MODULE 240
Settings for the
Minimization of an SAVE_WORKSPACES 241
Equilibria 211 SELECT_EQUILIBRIUM 243
EVALUATE_FUNCTIONS 213 SET_ALL_START_VALUES 244
GLOBAL_MINIMIZATION 214 SET_AXIS_VARIABLE 246
KEEP_COMP_SET_NUMBERS 216 SET_CONDITION 248
LIST_AXIS_VARIABLE 217 SET_INPUT_AMOUNTS 251
LIST_CONDITIONS 218 SET_INTERACTIVE 252
LIST_EQUILIBRIUM 219 SET_NUMERICAL_LIMITS 253
LIST_INITIAL_EQUILIBRIA 220 SET_REFERENCE_STATE 255
LIST_PHASE_ADDITION 221 SET_START_CONSTITUTION 257
LIST_STATUS 222 SET_START_VALUE 258
LIST_SYMBOLS 223 SHOW_FOR_T= 259
LOAD_INITIAL_EQUILIBRIUM 224 SHOW_VALUE 260
MAKE_COMPONENT_ STABILITY_CHECK 261
ENTERED 225
STEP_AND_MAP 262
MAKE_COMPONENT_
SUSPENDED 226 STEP_WITH_OPTIONS 264
Contents ǀ20 of 32
Gibbs Energy System READ_WORKSPACES 335
(GES) Commands 280
RECOVER_START_VALUES 336
Solution Models in the GIBBS
(GES) Module 283 REINITIATE 337
Contents ǀ21 of 32
ENTER_PARAMETER 373 COMPUTE_ALL_EQUILIBRIA 412
LIST_ALL_VARIABLES 375 CREATE_NEW_EQUILIBRIUM 413
LIST_CONDITIONS 376 DEFINE_COMPONENTS 414
LIST_PARAMETER 377 DELETE_SYMBOL 415
LIST_PHASE_DATA 379 ENTER_SYMBOL 416
LIST_RESULT 380 EVALUATE_FUNCTIONS 418
LIST_STORE_FILE 385 EXPERIMENT 419
LIST_SYMBOL_IN_GES 386 EXPORT 421
OPTIMIZE_VARIABLES 387 FLUSH_BUFFER 422
READ_PARROT_WORKSPACES 388 GRAPHICS_PLOT 423
RECOVER_VARIABLES 389 IMPORT 424
REINITIATE 390 LABEL_DATA 425
RESCALE_VARIABLES 391 LIST_ALL_EQUILIBRIA 426
SAVE_PARROT_WORKSPACES 392 LIST_CONDITIONS 427
SET_ALTERNATE_MODE 393 LIST_EQUILIBRIUM 428
SET_EXTERNAL_PARAMETER 394 LIST_STATUS 429
SET_FIX_VARIABLE 395 LIST_SYMBOLS 430
SET_OPTIMIZING_CONDITION 396 MAKE_POP_FILE 431
SET_OPTIMIZING_VARIABLE 398 READ_WORKSPACES 432
SET_OUTPUT_LEVELS 399 REINITIATE_MODULE 433
SET_SCALED_VARIABLE 400 RESTORE_ALL_WEIGHTS 434
SET_STORE_FILE 401 SAVE_WORKSPACES 435
EDIT_EXPERIMENTS (ED_EXP) SELECT_EQUILIBRIUM 436
Submodule Commands 402
SET_ALL_START_VALUES 437
ADVANCED_OPTIONS 405
SET_ALTERNATE_CONDITION 439
CHANGE_STATUS 406
SET_CONDITION 442
COMMENT 411
Contents ǀ22 of 32
SET_NUMERICAL_LIMITS 445 LIST_RECORDS 491
SET_REFERENCE_STATE 447 READ_WORKSPACE 492
SET_START_CONSTITUTION 449 SAVE_WORKSPACES 493
SET_START_VALUE 450 START_SIMULATION 494
SET_WEIGHT 451 POST Module Commands 496
SHOW_VALUE 453 ADD_LABEL_TEXT 499
STORE_ALL_WEIGHTS 454 APPEND_EXPERIMENTAL_
DATA 501
TABLE_HEAD, TABLE_VALUES
and TABLE_END 455 CHANGE_LEGEND 502
TRANSFER_START_VALUES 457 DUMP_DIAGRAM 503
Tabulation Reaction ENTER_SYMBOL 504
(TAB) Commands 458
FIND_LINE 507
ENTER_FUNCTION 459
LIST_DATA_TABLE 508
ENTER_REACTION 461
LIST_PLOT_SETTINGS 509
LIST_SUBSTANCES 463
LIST_SYMBOLS 510
SET_ENERGY_UNIT 466
MAKE_EXPERIMENTAL_
SET_PLOT_FORMAT 467 DATAFILE 511
SWITCH_DATABASE 468 MODIFY_LABEL_TEXT 512
TABULATE 470 PLOT_DIAGRAM 513
TABULATE_DERIVATIVES 471 PRINT_DIAGRAM 514
TABULATE_REACTION 476 QUICK_EXPERIMENTAL_PLOT 515
TABULATE_SUBSTANCE 479 REINITIATE_PLOT_SETTINGS 516
REACTOR (REACTOR_ RESTORE_PHASE_IN_PLOT 517
SIMULATOR) Commands 485
SELECT_PLOT 518
CREATE_DIVIDERS 486
SET_AXIS_LENGTH 519
CREATE_PIPES 487
SET_AXIS_PLOT_STATUS 520
CREATE_STAGE_BOXES 488
SET_AXIS_TEXT_STATUS 521
EXECUTE_POLY3_COMMAND 490
Contents ǀ23 of 32
SET_AXIS_TYPE 522 Thermodynamic Variables 551
SET_COLOR 523 Common Thermodynamic
Variables 551
SET_CORNER_TEXT 525
How to Read the Tables 552
SET_DIAGRAM_AXIS 526
Intensive Variables 553
SET_DIAGRAM_TYPE 528
Extensive Variables 554
SET_FONT 529
Special Quantities 558
SET_INTERACTIVE_MODE 530
The u-Fraction Variable 560
SET_LABEL_CURVE_OPTION 531
Suffixes 561
SET_PLOT_FORMAT 532
Normalizing Suffixes 561
SET_PLOT_OPTIONS 533
Thermophysical Properties
SET_PLOT_SIZE 535 Variables 568
SET_PREFIX_SCALING 536 Derived Variables and Partial
SET_RASTER_STATUS 537 Derivatives 570
Contents ǀ24 of 32
For intensive variables of a Example Calculating Chemical
system component 581 Ordering 618
For extensive variables of a Examples of Gibbs Energy System
system component 581 (GES) 619
For intensive variables of a Notes Related to the
species in a phase 584 Example 621
For extensive variables of a Example Calculating the T0
species in a phase 585 Temperature 624
Technical Notes 589 Examples Calculating
Paraequilibrium 625
Technical Note: Pipe or Redirect
Output Data from Console Mode 590 Example Using Functions and
Variables 626
Windows 590
Example Using PARROT and
Linux 590 EDIT_EXPERIMENT 627
macOS 590 Pourbaix Diagram Examples 629
Console Mode Examples 591 The PAQ2 Database 629
Thermo-Calc Console Mode Additional Examples in this
Examples 592 Series 629
Binary Phase Diagram Examples 594 Step 1: Single-Point
Property Diagram Examples 598 Calculations for H2O-NaCl
system 630
Ternary Phase Diagram Examples 603
Step 2: Single-Point
Multicomponent Phase Diagram Calculations for Fe-X (X =
Examples 606 Cr-Ni-Co) system 630
Examples Calculating Step 3: Single-Point
Thermodynamic and Related Calculations for Fe-Cr-Ni-Co
Quantities 608 + H2O-NaCl system 630
Single Equilibrium Calculation Step 4: Pourbaix Diagram
Examples 612 Mapping for Fe-Cr-Ni-Co +
H2O-NaCl system - define
Potential Diagram Example 614
the variables 630
Examples of Scheil-
Pourbaix Examples TCEX40A to
Gulliver Calculations 615
40E 631
Contents ǀ25 of 32
POURBAIX_DIAGRAM Commands Data Optimization in Thermo-Calc 8
for Options 1 to 4 636
Data Optimization Workflow 9
Option 1: Start a Completely
New Pourbaix Diagram The PARROT Module 11
Calculation 636 The EDIT_EXPERIMENTS Module 12
Chemical system Data Optimization in Other
(elements) 637 Modules 13
Initial bulk composition 637 Optimization File Types 14
Option 2: Open an Existing Optimization Workspaces 15
File and Plot Other Property
Diagrams 642 Method for Optimization and
Simulation 16
Option 3: Open an Existing
File and Make Another Creating the POP-File 17
Pourbaix Calculation 644
Experimental Information 18
Option 4: Open an Existing
POP-File Syntax 21
File and Make another
Stepping Calculation 646 Entering Experimental Information 23
Example Using Tabulate Reaction Creating a New Equilibrium 24
(TAB) 649
Setting Equilibrium Conditions
Example Using REACTOR 650 and its Uncertainty 25
Examples with Database Setting Reference States 27
Properties 651
Entering the Experimental
Application Examples 653 Value and its Uncertainty 28
Data Optimization User Guide 1 Entering Many Equilibria as a
Table 29
Introduction 2
Setting Site Fraction Start
Introduction to Data Optimization 3
Values 31
Data Optimization 4
Commenting About an
The Least-Squares Method 5 Equilibrium 32
Contents ǀ26 of 32
Grouping Equilibria with Labels 35 Resetting Variables
Dividing the POP-File into Several Updating the Set of Optimizing
Blocks 36 Variables 59
The Setup File 37 Reducing the Number of
Optimizing Variables 61
Creating the Setup File 38
Plotting Intermediate Results 62
Defining the System 39
Superimposing Experimental
Creating Additional Data from EXP-files 63
Composition Sets of a Phase 39
Finalizing the Optimization 64
Entering the Optimizing Variables 40
Finishing the Optimization 65
Entering Optimizing Variables
in Parameter Specifications 41 Rounding off Optimizing Variable
Values 66
Entering Interaction
Parameters 43 Updating the Database File 67
Initializing Optimizing Variables in Creating a Database File 68
PARROT 44
Updating the Setup File and the
Creating the Workspace File 45 POP-file 69
Compiling the POP-file 46 Alternate Mode 70
Returning Control to the Console 47 About Alternate Mode 71
Optimizing in PARROT 48 Optimizing in Alternate Mode 72
Optimizing the System in PARROT 49 Preparing the POP-file for
Alternate Mode 73
Changes that Require POP-file
Recompilation 50 Examples of SET_ALTERNATE_
CONDITION 74
Optimization Workflow 51
Entering Other Experiments in
Ensuring Computation of all the POP with Alternate Mode 75
Equilibria 52
Troubleshooting 76
Setting Weights 54
Useful Guidelines 77
Optimizing and Evaluating Results 55
Excluding and Including the Correct
The Critical Set of Experiments 56 Equilibria 79
Continuing the Optimization and 57 Conflicting Data 80
Contents ǀ27 of 32
Experiments and Experimental Data 81 Excess Models 106
Phase Diagram Data 82 Database Manager User Guide 1
Data for Individual Compounds 84 Introduction to the Database
Manager Guide 2
Single Phase Mixing Enthalpies or
Partial Enthalpies 86 Thermodynamic and
Kinetic/Mobility Databases 3
Enthalpies of Formation and
Enthalpies of Reactions 87 Initialization of the TDB Module 4
Chemical Potentials via EMF The Database Definition File and
Measurements 88 Keywords 6
Driving Force for Metastable Database Definition File Syntax 9
Phases 89
ELEMENT 11
Pressure-Temperature-Volume
EOS Data 90 SPECIES 12
Contents ǀ28 of 32
PARAMETER 37 GES6 Calculation Engine
Version
GIBBS Parameter Name 38
Using the Database Checker 89
Parameters for the Two
Sublattice Ionic Liquid Model 44 Example of Working with the
Database Checker 89
OPTIONS 47
TDB Editor 91
TABLE 48
About the TDB Editor 92
ASSESSED_SYSTEMS 49
Installing VSCode and the TDB
REFERENCE_FILE 53 Editor 93
LIST_OF_REFERENCE 55 System Requirements 93
ADD_REFERENCE 56 How to Install the TDB Editor
CASE and ENDCASE 58 Extension 93
Contents ǀ29 of 32
Console Mode 5 DIAGRAM_TYPE 26
Using DATAPLOT Graphical TIC_TYPE 27
Language 7
TITLE 28
DATAPLOT File Structure 8
XLENGTH 29
DATAPLOT Language Syntax 9
XSCALE 30
Coordinate Systems 10
XTEXT 31
Graphical Operation Codes 11
XTYPE 32
Tables or Blocks 13
YLENGTH 33
Drawing a Polygon 14
YSCALE 34
Drawing an Analytical Function 15
YTEXT 35
Painting of an Enclosed Area 16
YTYPE 36
Writing a Text 17
DATASET Commands 37
Plotting a Symbol 18
ATTRIBUTE 38
Other Commands 19
BLOCK 39
General 19
BLOCKEND 40
ATTRIBUTE 19
CHARSIZE 41
CLIP 19
CLIP 42
COLOR 19
COLOR 43
INCLUDE 19
DATASET 45
LINETYPE 19
DATAPOINT 46
Interactive Plotting 20
DRAWLINE 47
Formatting DIGLAB Symbols in
LaTeX Documents 21 FONT 48
Contents ǀ30 of 32
PAINT 53 Output Example 71
PCFUNCTION 54 Macro Text 71
SYMBOLSIZE 55 Example 7 – Color Codes 77
STRING 56 Output Example 77
TEXT 58 Macro Text 77
Examples of DATAPLOT Files and Example 8 - DIGLIB Symbols 82
Outputs 59
Output Example 82
Example 1 – Draw Lines and
Symbols 60 Macro Text 82
Contents ǀ31 of 32
Examples of Pourbaix Diagrams for
Fe 19
Pourbaix Diagrams with Gas Phase
Excluded 20
Pourbaix Diagrams with Gas Phase
Included 21
Other Examples of Pourbaix
Diagrams 22
Variations of Pourbaix Diagrams 23
Pourbaix Diagrams for Complex
Alloys 26
Pourbaix Diagram References 28
Contents ǀ32 of 32
Installation Guide
Windows®, macOS®, and Linux Operating Systems
Installing Thermo-Calc
In this section:
This guide is available in PDF format: (1) On the website or (2) when in Thermo-
Calc go to Help → Manuals Folder → Installation.
This installation guide is for all Thermo-Calc installations running on Windows, macOS, or
Linux operating systems. It is also applicable to previously installed versions of Thermo-Calc
(the new version is installed next to the old version).
This guide includes information about:
Also included are the Quick Installation Guides for standalone Windows and macOS
installations plus the TC-Python Installation Guide.
Provides important information and indicates that more detail is located in the linked or
Information
named topic.
The information can be of use to you. It is recommended that you read the text or follow
Note
the link.
Operating The operating system is indicated when the information is specific to a Windows , macOS, or Linux
system operating system.
Name Description
License The Thermo-Calc license file, which contains the license keys and is installed on either a standalone
file computer or a network server.
The Thermo-Calc software and its components (including databases and SDKs) to be installed.
Thermo-Calc
Typographical Conventions
Convention Definition
Forward The forward arrow symbol → instructs you to select a series of menu items in a specific order. For example,
arrow → Tools → Options is equivalent to: From the Tools menu, select Options.
A boldface font indicates that the given word(s) are shown that way in on a toolbar button or as a menu
Boldface
selection. For example, if you are told to select a menu item in a particular order, such as Tools → Options,
font
or to click Save.
An italic font indicates the introduction of important terminology. Expect to find an explanation in the same
Italic font
paragraph or elsewhere in the guide.
code and A code font indicates you are to make a keyboard entry. It also shows a programming code or code
code bold examples. The code bold font highlights the entry.
Installation Terminology
Term Definition
A computer without a license file of its own but connected through the network to a
client computer with the license information. The client receives a license token from the
computer where the license management software is installed.
A type of network installation where the Thermo-Calc software is installed on one server
computer in a network and the Thermo-Calc licensing software is installed on a different
distributed network
computer. After a thin client installation, all computers in the network can access both
the software and the network license key via the server.
host ID The MAC address on the computer that a license is locked to.
The file (called lservrc) that contains all the purchased license keys. It is issued by
license file
Thermo-Calc Software, usually by email.
The information contained in the license file that represents the products purchased and
license key
which is then authorised for installation.
license management software The Thermo-Calc license management software. When working in Windows it is called
(see Sentinel RMS License License Manager (full name is Sentinel RMS License Manager by SafeNet) and on Linux it
Software) is called License Server (full name is Sentinel License Sever by Safenet).
The use of the term license server (lower case letters) is reserved for use for scripts and
option files (for example, in an Unattended Network Client Installations). For the
license server purposes of the step-by-step instructions it is not used to refer to the type of network
installation that runs the license management program. See Sentinel RMS Software
below.
The license type used with the licensing software. The NWL can only be used on one
specific computer that hosts the licensing software. This restricts license usage to a
Network License (NWL) certain subnet or subnets.
The software may be used on the number of sites you have paid for and by the number
of persons you have paid for on any number of network connected computers
The Thermo-Calc license management software that supplies the client computers in
your network with license tokens when it runs the Thermo-Calc software. This is
Sentinel RMS License Software available for both Windows (called the License Manager) and Linux (called the License
Server, but not to be confused with license server in lower case letters reserved for
scripts).
Term Definition
A unique license file for one designated computer at one designated site. It cannot be
Single-User-Node Locked- copied or moved outside the site. If the software is installed on a portable computer, it
License (SUNLL) can be temporarily used off-site. The license can be used without network access (to the
License Server).
An installation where the software is installed on a file server but is run from a client
thin client computer. The licensing software may be installed on the file server (consolidated
network installation) or on a different computer (distributed network installation).
A full installation means that all listed feature components are installed but the availability
of the individual components is based on the license you have. This is also applicable to the
databases and software development kits (SDKs).
Thermo-Calc
The Thermo-Calc software includes several add-on features and capabilities that are
packaged with the software and included with a full standalone or network client
installation. For example, there are the specialized add-on products Diffusion Module
(DICTRA), Precipitation Module (TC-PRISMA), and Process Metallurgy Module as well as the
Steel Model Library. For most of these specialized features, demonstration (demo) versions
and examples are available for all users but advanced features are only available with a
license.
Databases
All the latest databases are installed. As with the software features, availability of a specific
database in the software itself is based on license. However, several demonstration
(demo) databases are included and available to all users.
System Requirements
About the Thermo-Calc Components Being Installed
General
A full list of system requirements and program availability is found on the Thermo-Calc
website. You can also see the roadmap for platform support to use for planning purposes.
For details of the system requirements to install Sentinel RMS, see Windows: About Installing
the License Manager and Linux: About Installing the License Server.
Platforms Tested
Thermo-Calc and its components are tested on these platforms for Thermo-Calc 2021a:
1 Thermo-Calc Software cannot guarantee full functionality if the software is installed on other Linux distributions.
2 If you are installing on CentOS 7, it is recommended you install gtk2 before you run the installation script.
TC-Python x x x
The Thermo-Calc software and the license management program are installed on the
same server where the license file is also copied. A thin client installation allows all
computers (the clients) in the server network to access both the software and the licensing
on the same computer server.
To get started, go to First Steps of Installation and then Network Client Installations.
The Thermo-Calc software is installed on one computer server in a network and the
licensing software is installed on a different computer server where the license file is
also copied. A thin client installation allows all computers (the clients) in the server network
to access both the software and the licensing on the two computer servers.
To get started, go to First Steps of Installation and then Network Client Installations.
The licensing software is installed on a computer server where the license file is also
copied. The Thermo-Calc software is installed on every computer in the network that
needs it.
To get started, go to First Steps of Installation and then Network Client Installations.
l Learn about the numerous types of default directories where the software and
license files are installed.
l For network installations, collect subnet information.
l For Mac, install XQuartz and make sure the security preferences are set correctly.
l For a Linux Cent OS 7 installation, also install gtk2 before you run the installation
script.
yum install gtk2
Windows
Default Directory
User Type
The default folders where documents, materials files, examples, and other folders that sometimes require
additional licenses are installed under Public Documents for ALL USERS.
For a local user these files are copied to the user’s Documents folder where this local copy is associated to
the user login. The Public Documents folder always contains the original set of contents as per the
installation.
C:\Users\Public\Public Documents\Thermo-Calc\<version>
Administrator
After installing Thermo-Calc, and when you first open the program, the set of folders is copied from the
source Public Documents location into a user Documents folder:
C:\Users\<user> \Documents\Thermo-Calc\<version>
It is recommended that you work with the files that are copied to the user folder.
Server License software installations on a server network (the License Manager software)
network C:\Program Files (x86)\Common Files\SafeNet Sentinel\Sentinel RMS License Manager\WinNT\
The documents, materials, examples, and other folders that sometimes require
Administrator (user name and
additional licenses are installed here:
password required)
/Users/Shared/Thermo-Calc/<version>
To go to this folder, in Finder, from the Go main menu select Go to folder. Enter the
above file path and click Go.
If you are doing a network installation then these files are available as a tar-file
License software installations on a server from the Thermo-Calc website.
network (the License Server software) In the downloaded tar-file, there is a restart_lserv script file, which can be
used as a template for creating a script that starts up the License Server.
Database Checker
The Thermo-Calc software package includes a program to check that the syntax of
unencrypted database files is correct. The program applies the syntax rules set out in the
Database Manager User Guide and reports errors and issues warnings. This program is
intended for advanced users who develop and manage databases.
For example, a warning is reported if an abbreviated phase name is found and phase name
abbreviations are accepted by Thermo-Calc and its Add-on Modules. However, reported
errors must be corrected in the TDB file before the database can be loaded by the
application.
With respect to using this tool, the executable DatabaseChecker file is found in the Thermo-
Calc home directory. The program can also be launched by selecting Tools→ Database
Checker from the main menu.
TDB Editor
The TDB Editor is an editing tool for those who develop their own custom databases for use
with Thermo-Calc or other applications. The tool speeds up the database editing process by
providing immediate feedback through syntax coloring, syntax checking, and by allowing
formatting and easy navigation to items of interest in the TDB file.
For information about installing the TDB Editor, which is separate from the main
installation, see the Database Manager's User Guide contained in the Thermo-Calc
Documentation Set or press F1 in Thermo-Calc and search the help.
There is a separate folder for materials saved using the Process Metallurgy
Calculator. See Installation Default Directory: Process Metallurgy Materials.
The default directory where these files are stored is based on operating system:
Windows C:\Users\<user>\Documents\Thermo-Calc\2021a\Materials
On Linux all user files are installed where the program is installed. If installed as root the default is:
Linux
/opt/Thermo-Calc/2021a/Materials
macOS /Users/Shared/Thermo-Calc/2021a/Materials
Windows C:\Users\<user>\Documents\Thermo-Calc\2021a\ProcessMetallurgyMaterials
On Linux all user files are installed where the program is installed. If installed as root the default
Linux is:
/opt/Thermo-Calc/2021a/ProcessMetallurgyMaterials
macOS /Users/Shared/Thermo-Calc/2021a/ProcessMetallurgyMaterials
Predefined models included with the Property Model Calculator are installed in the locations
below based on your operating system. If you create your own models using TC-Python, this
is the default directory where these are saved. You can also use one of these as a template
to create your own Property Model.
Windows C:\Users\<user>\Documents\Thermo-Calc\2021a\PropertyModels
On Linux all user files are installed where the program is installed. If installed as root the default
Linux is:
/opt/Thermo-Calc/2021a/PropertyModels
macOS /Users/Shared/Thermo-Calc/2021a/PropertyModels
If you install TC-Python with a Python interpreter of your choice, you can also
edit the location of this in Tools → Options → Property model Python
interpreter section.
These are the default paths to the TC-Python folder based on your operating system.
Operating
Path to the TC-Python folder
system
Windows C:\Users\UserName\Documents\Thermo-Calc\2021a\SDK\TC-Python
Linux /home/UserName/Thermo-Calc/2021a/SDK/TC-Python
macOS /Users/Shared/Thermo-Calc/2021a/SDK/TC-Python
For a bundled Python-interpreter installation, these are the paths to this location based on
your operating system.
Operating
Path to the bundled Python-interpreter
system
Linux /home/UserName/Thermo-Calc/2021a/python/bin/python3
macOS /Applications/Thermo-Calc-2021a.app/Contents/Resources/python/bin/python3
l macOS/Linux: ip a
When this command is used, you will do a text-based installation instead of having a
graphical interface to guide you. The information is the same, just without the user
interface.
Standalone Installations
You can either do a full or a custom standalone installation. The license type is called a
Single-User Node-Locked License (SUNLL).
In this section:
Follow the instructions for your operating system in the section Request a License File from
Thermo-Calc Software.
Windows
Right-click the .exe file and choose Run as administrator to launch the Setup program.
macOS
Double-click the downloaded file then follow the instructions.
For macOS and when you first run the installer, you may see a message that
Thermo-Calc-osx-<version> can't be opened because Apple cannot check it for
malicious software. If this happens, select Show in Finder. Then, in the opened
Finder window right-click the downloaded file Thermo-Calc-osx-<version>
and select Open.
Linux
To start the Setup Wizard in a Terminal window, enter these commands in the directory
where the installation file is saved:
> chmod +x linux-installation-x64-2021a.run
> ./linux-installation-x64-2021a.run
If you are an openSUSE root user, see Linux Installation Notes for some
information about your installation.
1. In the Select Installation Mode window click Full Standalone: Install all features.
If you want to exclude a component (perhaps one of the SDKs), then you
would use the Custom option. See Custom Standalone Installations.
2. For a Full Standalone installation, in the Choose a license file field either enter the
file path or click the file button to navigate to where you saved the license file
emailed to you from Thermo-Calc Software. The license file is called lservrc.
To prevent errors, leave this field blank if you did not get a license file
yet.
3. TC-Python is installed for all users even without a license. The Install TC-Python
window is a reminder that additional installation procedures are required after
Thermo-Calc is installed.
If you did not get your license file see Request a License File from Thermo-
Calc Software.
Use the Custom option to have more control over what component features to include or
exclude, for example, to exclude an SDK.
This topic describes how to do a custom installation on a standalone computer for either a
Windows or Linux operating system. These steps assume you have completed these sections:
1. In the Select installation mode window click Custom (the option appears greyed
out, but it is available to select). Click Next.
2. On the Specify Configuration window the Create Shortcuts on Desktop check box is
selected by default.
3. In the Select Components window, click to deselect the check boxes as needed.
To prevent errors, leave this field blank if you do not have a license file
yet.
For the Windows TC-Toolbox for MATLAB® component, and if you get a
MATLAB not found message, enter the MATLAB® installation directory
and click Next.
3. In the Choose a license file field enter the path to your license file (called lservrc) or
click the file button to navigate to a location on the computer and open the file.
4. If TC-Python is selected to be installed, the Install TC-Pythonwindow is a reminder
that additional installation procedures are required after Thermo-Calc is installed.
See the TC-Python Installation Guide for details.
If you did not get your license file see Request a License File from Thermo-Calc
Software.
1. For all OS you need to have administrative level rights. For example in Windows,
right-click the executable Thermo-Calc installation .exe file and choose Run as
administrator to launch the Setup program.
In this section:
Windows
l Windows: About Installing the License Manager
l Windows: Installing the Sentinel RMS License Manager
Linux
l Linux: About Installing the License Server
l Linux: Installing the Sentinel RMS License Server
If you want to exclude a component (perhaps one of the SDKs), then use
the Custom option and see Custom Network Client Installations.
2. In the field, enter the name or IP number of the computer where the licensing
software is installed. Click Next.
3. TC-Python is installed for all users even if you do not have a license. The Install
TC-Python window is a reminder that additional installation procedures are required
after Thermo-Calc is installed. See the TC-Python Installation Guide for details.
4. In the Ready to Install window click Next.
5. When the Completing the Thermo-Calc Setup Wizard window opens, click Finish.
For Linux users, log out and log back in to start using Thermo-Calc.
If you did not get your Thermo-Calc license file see Request a License File from
Thermo-Calc Software.
The Sentinel RMS License Manager service supplies the client computers in your network
with license tokens when it runs Thermo-Calc software. The Sentinel RMS License Manager
software is installed on a computer that acts as a license server in your network. This is
related to Full Network Client Installations and administrative rights are required for all
steps.
A network license can only be used on one specific computer that hosts the
License Manager. The network license determines which client computers
receive license tokens using the IP addresses and IP ranges.
First review Windows: About Installing the License Manager. Then if this is a
new installation of the Sentinel RMS License Manager, start with Step 2.
1. With Administrator rights, log onto the server that hosts the Sentinel RMS License
Manager.
2. Save a copy of the license file LSERVRC found in the default directory—the license
file can be saved as a text file: C:\Program Files (x86)\Common
Files\SafeNetSentinel\Sentinel RMS License Manager\WinNT\.
After saving the existing license file and uninstalling the old version of
Sentinel RMS, ensure you delete the old license file (LSERVRC) in the
above folder. This license is not required anymore.
1. Download Thermo-Calc.
l Web downloads: For web links sent in an email from Thermo-Calc Software,
go to the URL and log in with the information provided to download the
software.
l DVD installations: Insert the DVD and follow the instructions.
2. Install Thermo-Calc. For testing purposes, and in order to confirm the installation is
working correctly, install the Thermo-Calc software on the same computer as the
Sentinel RMS License Manager. If required after testing, Thermo-Calc can always be
uninstalled.
Only the WlAdmin tool can be used to update the network license used by the
License Manager.
1. Save the source file containing the license code. The source file can be kept as a .txt
file
2. Go to the previously saved file LS_tools_win.zip.
3. Right-click the file WlmAdmin.exe and select Run as Administrator from the menu.
4. If the license server is not found under subnet servers, go to Edit → Defined Server
List.
5. Enter the host name or IP address of the license server.
6. Click Add and then OK.
7. Click View → Refresh All to update the list.
8. In the left main window right-click the name of a License Manager.
9. From the menu select Add Feature → From a File → To Server and its File.
10. To add the license from a file, select From a File. This permanently adds the license
code to the License Manager license file as well as to the License Manager memory.
11. In the windows that open, browse to the source file that contains the license code
and click Open.
l Older versions of the License Server must be stopped by with lsrvdown before
running the new installation. This is Step 1 in Linux: Installing the Sentinel
RMS License Server.
l If you have a license server: Upgrade your license server if the new one is a higher
version than the present one. Clients work with newer license servers (managers) but
not necessarily with ones older than the client.
To run a license server 32-bit on a Linux 64-bit OS, 32-bit library support is
needed.
The name of the license file must be in lower case letters (lservrc) because
Linux commands and operations are case-sensitive.
l You need a valid lservrc network license file supplied by Thermo-Calc Software
(Requesting the License File for Windows or Linux) as well as the actual License
Server—a file (program) called lserv.
l The Thermo-Calc license file needs to be readable and writable by the license server
(license manager).
It is not possible to use Linux 32-bit scripts/tools to manage license server 64-bit
and vice versa, you cannot use Linux 64-bit scripts/tools to manage license
server 32-bit
When this command is used, you will do a text-based installation instead of having a
graphical interface to guide you. The information is the same, just without the user
interface.
Both Linux 32-bit and 64-bit operating systems are supported for the installation of Sentinel
RMS License Server.
First review Linux: About Installing the License Server. Then if this is a new
installation of the Sentinel RMS License Server, start with Step 2.
Sentinel RMS License Server version 9.7 supports both 32- and 64-bit. However, when
writing scripts be aware of script naming and do not mix the scripts.
It is not possible to use Linux 32-bit scripts/tools to manage license server 64-bit
and vice versa, you cannot use Linux 64-bit scripts/tools to manage license
server 32-bit
1. To stop an old version of the License Server already running, go to the directory
where the old file is found, and enter the commands:
2. Edit existing scripts that start the older version of the License Server so that they
start the newer version instead.
For more information about the lservdown utility, go to http://sentinelrms.safenet-
inc.com/RMSDocumentation/SysAdmin/Content/lsrvdown.htm
1. Before starting the License Server make sure that the value of the $HOSTNAME
variable is correct. This value can be shown by typing the > nslookup $HOSTNAME
command in the terminal window:
The value should be the same IP address that is shown when you use the ifconfig
command.
2. Open the UDP port 5093 in your firewall. In case you have installed SELinux you
might also need to disable it by setting SELINUX=permissive in the
/etc/selinux/config file.
1. To start the License Server, run the script created as root. Enter these commands in
the console:
> chmod +x <name_of_script_file>
> ./<name_of_script_file>
2. If you want the License Server to start when you boot the system, put a copy of the
start script under /etc/rc.d/init.d and start the script from the file
/etc/rc.d/rc.local.
Installation Requirements
l You need access to the directory where Thermo-Calc is installed on the file server.
l You need the IP number or name of the computer where the license file is installed.
l For Linux you may have to disable your firewall. If SELinux is installed, try disabling it
by setting SELINUX=permissive in /etc/selinux/config.
comment=smb share
guest OK=yes
force user=<user>
2. From the client, mount the directory on the server computer that contains the
Thermo-Calc server installation (by default, this directory is called /Thermo-
Calc/2021a). How the directory is mounted depends on the Linux distribution being
used as well as how the Thermo-Calc directory on the server computer is shared. Use
the Linux command mount. For example:
> mkdir public
> sudo mount -t cifs //ip_number_server_computer/public ./public -o
user=<user>
4. If you do this from the terminal window, use the following to start the installation
(assuming that the file server is a 64-bit computer):
> ./client-install-linux-x64.run
5. Click Forward and click to select the license agreement. Click Forward.
6. Enter the name or IP number of the License Server. Click Forward.
7. If you are installing as a non-root user, by default, the Create Shortcuts on Desktop
check box is selected. Click Forward.
8. In the Ready to Install window click Forward.
9. Click Finish. Log out and log back in to start using Thermo-Calc.
1. In the Select installation mode window click Custom (the option appears greyed
out, but it is available to select). Click Next.
2. On the Specify Configuration window the Create Shortcuts on Desktop check box is
selected by default.
3. In the Select Components window, click to deselect the check boxes as needed.
To prevent errors, leave this field blank if you do not have a license file
yet.
For the Windows TC-Toolbox for MATLAB component and if you get a
MATLAB not found message, enter the MATLAB® installation directory
and click Next.
2. In the Choose Setup Type window, click Network Client and enter the name or IP
number of the computer where the licensing software is installed. Click Next.
If you did not get your license file see Request a License File from Thermo-Calc
Software.
Terminology note: The use of the term license server (lower case letters) is
applicable to the option files as described in this section. For the purposes of the
step-by-step instructions it is not used to refer to the type of network installation
that runs the licensing software.
Make sure you know the name or IP number of the computer where the
licensing software and the license file are to be installed.
Below is a shorter example, specifying that a full Thermo-Calc network client should be
installed:
installation_mode=full_client
license_server=<name/IP number>
Thermo-Calc can only be installed in unattended mode from the command line
prompt.
Start the installation in unattended mode using the option file created with this command:
To see other options when you start the Thermo-Calc installation program from the
command line prompt, run this command:
1. Make a note of your company or organization’s site number. You can find the site
number on an invoice or any correspondence from Thermo-Calc Software.
2. Retrieve your computer diagnostic and network adapter information.
3. Email Thermo-Calc Software with this information.
4. A Thermo-Calc Software representative emails you the license file. Save the license
file lservrc (there is no file suffix) to a location where you can easily access it later.
1. Open Thermo-Calc.
2. Click Switch to Console Mode.
5. For both options, the information is displayed on screen. Copy the section containing
the Ethernet and IP address. You can save it to a text file or paste it directly into an
email. If you choose FILE as the output, then you can attach the file to an email.
1. To access the computer information you need to provide to get a license, start
Thermo-Calc and select Help → Show License Info.
2. Copy the information from the License Information window. A lot of information
may be shown below the initial screen, so make sure you scroll down to the end
when you select and copy the window's contents. (Alternatively, you can copy the
same information from the console by using the SYS module command DISPLAY_
LICENSE_INFO.)
3. Send an email to support@thermocalc.com. Make sure to include the following in
the subject line:
License diagnostic information from <Name> where Name is replaced with your
name, the organization name and the Site Number. You can find the five-digit site
number on an invoice or any correspondence from Thermo-Calc Software.
4. A representative from Thermo-Calc Software replies to the email and attaches your
license file(s).
5. Save the license file(s) to your computer or network.
5. Send an email to support@thermocalc.com and copy and paste the MAC address into
the body of the email. Make sure to include the following in the subject line:
License diagnostic information from <Name> where Name is replaced with your
name, the organisation name and the Site Number. You can find the five-digit site
number on an invoice or any correspondence from Thermo-Calc Software.
For instructions about other operating systems and network installations, search
the Thermo-Calc Installation Guide, which is also available on our website. You
can also review the Licensing Options included on our website.
1. To access the computer information you need to provide to get a license, start
Thermo-Calc and select Help → Show License Info.
2. Copy the information from the License Information window. A lot of information
may be shown below the initial screen, so make sure you scroll down to the end
when you select and copy the window's contents. (Alternatively, you can copy the
same information from the console by using the SYS module command DISPLAY_
LICENSE_INFO.)
3. Send an email to support@thermocalc.com. Make sure to include the following in
the subject line:
License diagnostic information from <Name> where Name is replaced with your
name, the organization name and the Site Number. You can find the five-digit site
number on an invoice or any correspondence from Thermo-Calc Software.
4. A representative from Thermo-Calc Software replies to the email and attaches your
license file(s).
5. Save the license file(s) to your computer or network.
1. For web links sent in an email from Thermo-Calc Software, go to the URL and log in
with the information provided. Then navigate to the Windows folder and click the link
to download the software.
2. Go to the folder where you downloaded the software. Right-click the .exe file and
choose Run as administrator to launch the Setup program.
1. In the Select Installation Mode window click Full Standalone: Install all features.
2. For a Full Standalone installation, in the Choose a license file field either enter the
file path or click the file button to navigate to where you saved the license file
emailed to you from Thermo-Calc Software.
The license file is called lservrc. Click Next. To prevent errors, leave this
field blank if you did not get a license file yet.
3. TC-Python is installed for all users even if you do not have a license. The Install
TC-Python window is a reminder that additional installation procedures are required
after Thermo-Calc is installed. See the TC-Python Installation Guide.
4. In the Ready to Install window click Next. Click Finish and start using Thermo-Calc.
For instructions about other operating systems and network installations, search
the Thermo-Calc Installation Guide, which is also available on our website. You
can also review the Licensing Options included on our website.
5. Send an email to support@thermocalc.com and copy and paste the MAC address into
the body of the email. Make sure to include the following in the subject line:
License diagnostic information from <Name> where Name is replaced with your
name, the organisation name and the Site Number. You can find the five-digit site
number on an invoice or any correspondence from Thermo-Calc Software.
1. For web links sent in an email from Thermo-Calc Software, go to the URL and log in
with the information provided. Then navigate to the Mac folder and click the link to
download the software.
For macOS and when you first run the installer, you may see a message
that Thermo-Calc-osx-<version> can't be opened because Apple cannot
check it for malicious software. If this happens, select Show in Finder.
Then, in the opened Finder window right-click the downloaded file
Thermo-Calc-osx-<version> and select Open.
1. In the Select Installation Mode window click Full Standalone: Install all features.
2. For a Full Standalone installation, in the Choose a license file field either enter the
file path or click the file button to navigate to where you saved the license file
emailed to you from Thermo-Calc Software.
The license file is called lservrc. Click Next. To prevent errors, leave this
field blank if you did not get a license file yet.
3. TC-Python is installed for all users even if you do not have a license. The Install
TC-Python window is a reminder that additional installation procedures are required
after Thermo-Calc is installed. See the TC-Python Installation Guide.
4. In the Ready to Install window click Next. Click Finish and start using Thermo-Calc.
The TC-Python help is available on the Thermo-Calc website where you can also
access additional resources. You can alternatively access the installed
documentation from the Help menu in Thermo-Calc.
You can also navigate to the Manuals folder outside of Thermo-Calc and
based on your operating system installation location.
The bundled interpreter package is also used to run the Property Models in
Thermo-Calc. Do not make changes to interpreter packages or this can stop
Thermo-Calc from working correctly. To fix issues caused by changes to an
interpreter, completely uninstall Thermo-Calc and start over, either with the
bundled interpreter package or using interpreters of your choice.
Limitations
The bundled Python 3.7.2 interpreter contains the following major packages.
Package Version
matplotlib 3.3.2
numpy 1.19.2
Package Version
scikit-learn 0.23.2
scipy 1.5.2
TC-Python 2021a
For Mac installations, you also need to set some environment variables as
described below in macOS: Setting Environment Variables.
3. Click on the settings symbol close to the Project Interpreter dropdown menu and
choose Add.
4. Select System Interpreter and add the bundled Thermo-Calc Python 3 interpreter,
Operating
Path to the bundled Python-interpreter
system
Linux /home/UserName/Thermo-Calc/2021a/python/bin/python3
macOS /Applications/Thermo-Calc-2021a.app/Contents/Resources/python/bin/python3
When you first open the TC-Python project and examples, it can take a few
moments for the Pycharm IDE to index before some of the options are available.
1. Open PyCharm and then choose File → Open. The first time you open the project
you will need to navigate to the path of the TC-Python installation based on your
operating system.
2. Click the Examples folder and then click OK.
3. From any subfolder:
l Double-click to open an example file to examine the code.
l Right-click an example and choose Run.
If you are not following the recommended approach and create a new project
(File→New Project…), you need to consider that by default the options to
choose the interpreter are hidden within the Create Project window. For this,
click Project Interpreter: New Virtual Environment and in most cases choose
your System Interpreter containing the Python bundled to Thermo-Calc instead
of the default New Virtual Environment.
If you are new to TC-Python and perhaps mainly want run the examples then it
is recommended you install the bundled Python-interpreter. The available
preinstalled packages (e.g. numpy, scipy, scikit-learn, and matplotlib) can also
be sufficient for many advanced users. See Installing TC-Python with a Bundled
Python-interpreter.
If you already have a Python distribution installation, version 3.5 or higher, skip
this step.
These instructions are based on using the Anaconda platform for the Python distribution.
Install version 3.5 or higher to be able to work with TC-Python, although it is recommended
that you use the most recent version.
INSTALL ANACONDA
1. Install Thermo-Calc.
2. When the installation is complete, open the TC-Python folder that includes the *.whl
file needed for the next step. There is also an Examples folder with Python files you
can use in the IDE to understand and work with TC-Python.
Operating
Path to the TC-Python folder
system
Windows C:\Users\UserName\Documents\Thermo-Calc\2021a\SDK\TC-Python
Linux /home/UserName/Thermo-Calc/2021a/SDK/TC-Python
macOS /Users/Shared/Thermo-Calc/2021a/SDK/TC-Python
Install TC-Python
Updating to a Newer Version
On Windows, it is recommended you use the Anaconda distribution prompt (i.e. Anaconda),
especially if you have other Python installations.
Do not use Virtual Environments unless you have a good reason to do so. Also
see Fixing Potential Issues with the Environment.
1. Open the command line. For example, in Anaconda on a Windows OS, go to Start →
Anaconda → Anaconda Prompt.
2. At the command line, enter the following. Make sure there are no spaces at the end
of the string or in the folder name or it will not run:
pip install <path to the TC-Python folder>/TC_Python-
<version>-py3-none-any.whl
For Mac installations, you also need to set some environment variables as
described below in macOS: Setting Environment Variables.
When you first open the TC-Python project and examples, it can take a few
moments for the Pycharm IDE to index before some of the options are available.
1. Open PyCharm and then choose File → Open. The first time you open the project
you will need to navigate to the path of the TC-Python installation based on your
operating system.
2. Click the Examples folder and then click OK.
3. From any subfolder:
l Double-click to open an example file to examine the code.
l Right-click an example and choose Run.
If you are not following the recommended approach and create a new project
(File→New Project…), you need to consider that by default the options to
choose the interpreter are hidden within the Create Project window. For this,
click Project Interpreter: New Virtual Environment and in most cases choose
your System Interpreter containing the Python bundled to Thermo-Calc instead
of the default New Virtual Environment.
These steps are required if you have previously followed the instructions in
Installing TC-Python Into a Python-interpreter of Your Choice.
When updating to a newer version of Thermo-Calc, you always need to also install the latest
version of TC-Python. It is not sufficient to run the installer of Thermo-Calc (except for
bundled versions of the Python interpreter).
pip install <path to the TC-Python folder>/TC_Python-<version>-
py3-none-any.whl
In case of problems you may wish to uninstall the previous version of TC-Python in advance:
pip uninstall TC-Python
pip install <path to the TC-Python folder>/TC_Python-<version>-
py3-none-any.whl
Troubleshooting
In this section:
License Errors 94
Determining the Current License File Directory Path 96
Specifying a New Server Name or IP Number 98
MATLAB® Installation Directory 99
Firewalls 100
Client/Server Mismatch 101
macOS Installations: Running the License Initialization Script 103
Linux Installations: Running the License Initialization Script 104
License Errors
Installation
Issue Platform Action or link to more information
type
Installation
Issue Platform Action or link to more information
type
Windows
Client / Server naming
and Network Client/Server Mismatch
mismatches
Linux
From Thermo-Calc
If you have already installed Thermo-Calc, you can view the path to the license file in the
GUI. Select Help → Show License Info.
In Console Mode you can run the SYS module command DISPLAY_LICENSE_INFO.
1. Unpack the .zip file that contains your standalone license and save the LSERVRC file
on your computer. Find out where to place the new license file by opening a
Command Prompt Window (cmd.exe) and type in the command line:
>set LSERVRC
2. Press Enter. The output from the command is the path to the license file (including
the name of the license file). For example: if the output is
LSERVRC=C:\Users\<user>\Documents\Thermo-Calc\lservrc
Windows
This section explains how to specify or change the name or IP number of the server where
the License Manager is installed and for a consolidated network client installation.
To install a license for an existing Thermo-Calc program, follow these steps:
macOS
Permanently set the environmental variable LSHOST to specify a new licensing server name
or IP number. Refer to the file /Applications/Thermo-Calc-
2021a.app/Contents/Info.plist.
In this file, you can manually set the TC21A_HOME variable, which specifies the home
directory of the Thermo-Calc program. See the Info.plist file for an example.
Linux
You can set or change the name or IP number of the license server at a later time by setting
the environmental variable “LSHOST” to this name or number.
Firewalls
Windows
For a Windows License Manager installation you may have to change the system firewall
settings to allow the License Manager to communicate with the computers running the
client applications. Go to the Windows Firewall settings window to see if there are any
problems. If prompted, select Unblock the system firewall for the Sentinel RMS License
Manager and click Next.
Linux
For a Linux License Server installation you need to open the UDP port 5093 in your firewall.
In case you have installed SELinux you might also need to disable it by setting
SELINUX=permissive in the /etc/selinux/config file.
Client/Server Mismatch
For some network installations there can be a naming mismatch that causes errors. The
server (where the license management software is installed) gets information from its DNS
servers that an IP address (aaa.bbb.ccc) belongs to a computer (Computer A). But the client
computer identifies itself as having a different IP address (aaa.bbb.ccc.eee) for the same
computer (Computer A).
Even if the IP address of the client computer belongs to a subnet range listed in the license
file, there is a problem with accessing the license file because the computer name does not
match the information.
You may need your organisation’s network administrator to assist with this issue.
How to Check
Compare computer names on the client computer and server
1. On the client computer, start a command prompt cmd.exe and type ipconfig /all.
Press Enter. A variety of data is displayed on screen. Write down the following
information for later comparison:
l Hostname
l DNS Suffix
l Current IPv 4 Address
2. In the command window, type nslookup <client_computer_name>, where client_
computer_name is the actual name of the client. Press Enter.
This shows what information is saved on the DNS Servers used by the client
computer. This information should match what is shown in the output from the
first step.
3. On the server that holds the license management software, open a command prompt
and run the command line: nslookup client_computer_name. The output lists the
information for this server.
Does it match the information given by the command ipconfig /all on the
client computer? If not try the following.
1. If the client computer has a dynamic (DHCP) IP address, either change it to a static
one or make a reservation on the DHCP Server so that the computer always get the
same IP address.
2. Update the records on the DNS Servers used by both the client computer and the
server computer.
You can also configure the computer names and IP addresses in the local Hostfile of the
client and server:
If you are not already logged in as an administrator, you probably cannot run the
sudo command. If this is the case, then you can use the su command in the terminal
window to login as an administrator. Contact your local system administrator for
help.
If you did not install a license file during this procedure, you can still
start Thermo-Calc although you will get the No license file found
message.
When this command is used, you will do a text-based installation instead of having a
graphical interface to guide you. The information is the same, just without the user
interface.
For this script to successfully initialize the license, the license file must be called
lservrc and be located in the directory where you have installed Thermo-Calc.
If you are not able to execute the sudo command because you are not on the sudoers
list, you must log in as a root user with the command su, and then use sh to run the
license initialization script. For example, on a 64-bit computer, enter the following:
$ sh license-initialization-linux.sh
3. Log out of Thermo-Calc and then log back in to save these changes.
In this section:
For Linux the output file is called gethostid.log. For Windows it is called TC_
Hostid.txt.
l This is related to the Full Network Client Installations using the Sentinel RMS License
Manager (Windows) or Server (Linux), version 9.7.
l The tool is applicable to Windows and Linux (32-bit and 64-bit) operating systems.
See Windows: Installing the Sentinel RMS License Manager or Linux: Installing the
Sentinel RMS License Server.
Windows
1. Extract getHostID_win.zip.
2. Right-click getHostID_win.bat and select Run as Administrator from the menu.
The output is saved in a file: TC_Hostid.txt located in the same folder as
getHostID_win.bat.
Linux 32-bit
1. Extract gethostid.tar.
2. Run the command: >./gethostid.
The output is saved in a file: gethostid.log located in the same directory as
gethostid.
Linux 64-bit
1. Extract gethostid64.tar.
2. Run the command: >./gethostid64.
The output is saved in a file: gethostid.log located in the same directory as
gethostid64.
l The tool is applicable to Windows and Linux (32-bit and 64-bit) operating systems.
See Windows: Installing the Sentinel RMS License Manager or Linux: Installing the
Sentinel RMS License Server.
Platforms
Windows, Linux 32-bit, Linux 64-bit
The tool retrieves information about all features currently licensed by the Sentinel RMS
License Manager, licenses, and clients.
On UNIX computers, you can use "Poll-interval-in-seconds" to specify that lsmon should keep
monitoring and reporting usage activity instead of displaying information once and stopping.
If specified, lsmon waits for that many seconds between re-polls of the License Manager.
lsmon monitors all licensed applications supported by a License Manager. If the License
Manager supports licensed applications from multiple vendors, then all licenses for all
vendors are displayed.
OPTIONS
l The tool is applicable to Windows and Linux (32-bit and 64-bit) operating systems.
See Windows: Installing the Sentinel RMS License Manager or Linux: Installing the
Sentinel RMS License Server.
OPTIONS
LSPOOL - L OPTIONS
Events that can be logged using the -L option are given below. The following events are
temporarily logged (except 1) and need to be set each time the License Manager is
restarted.
l 5 Logs the usage information event, shared by the leader, regarding the number of
tokens issued. 7 Logs the license token distribution information synchronization
event.
l 9 Logs when the License Manager is down.
l 11 Logs addition of a license into the file or memory. Also logs deletion of a license
from the memory.
l The tool is applicable to Windows and Linux (32-bit and 64-bit) operating systems.
See Windows: Installing the Sentinel RMS License Manager or Linux: Installing the
Sentinel RMS License Server.
Platforms
Windows, Linux 32-bit, Linux 64-bit
lsrvdown can be run from the operating system command prompt by an administrative user
on a client or License Manager computer.
The same user must install the Sentinel RMS License Manager and also
run this utility.
l The tool is applicable to Windows and Linux (32-bit and 64-bit) operating systems.
See Windows: Installing the Sentinel RMS License Manager or Linux: Installing the
Sentinel RMS License Server.
Platforms
Windows, Linux 32-bit, Linux 64-bit
lswhere command displays the network names of the computers running the License
Manager. By default, lswhere displays for each License Manager the address of the
computer on which that License Manager is running as well as its host name.
lswhere can be run on Windows and UNIX. lswhere should be run from the operating system
command prompt by an administrator or application user on a standalone, client, or License
Manager computer.
lswhere should be run in the following format:
OPTIONS
l The tool is applicable to Windows operating systems. See Windows: Installing the
Sentinel RMS License Manager.
Platform
Windows
WlmAdmin Functions
l Provides information on the License Managers.
l Details on licenses and clients using them in the network. For example, the
administrator can see which users have acquired that license and who are in a queue
waiting for the license.
If you are using redundant License Managers, you can use WlmAdmin as an informational
tool to:
l Add or delete a redundant License Manager from the redundant License Manager
file.
l Display a list of all License Managers in the redundant License Manager pool and
display the name of the License Manager leader.
l Display the distribution criteria for specific licenses (only high assurance model is
allowed, where the reigning leader server keeps all the license tokens).
l Click the name of a License Manager in the left-hand pane of the main window. In
the right-hand pane of the display, you see the IP address of the computer containing
the License Manager and its host name.
l To add a License Manager: Right-click the name of a License Manager in the list of
Subnet Servers. From the menu select Add to Defined List.
l To remove a License Manager: Right-click the name of a License Manager in the list
of Defined Servers. From the menu select Remove from Defined List.
1. Right-click the name of a License Manager in the left-hand pane of the main window.
2. From the menu select Add Feature > From a File > To Server and its File.
3. To add the license from a file, select From a File. This permanently adds the license
code to the License Manager license file as well as to the License Manager memory.
4. In the new windows, browse to the source file that contains the license code and click
Open.
5. Select the license code file.
l Right-click the name of a License Manager in the left-hand pane of the main window.
From the menu select Shutdown Server.
l Timeout Interval: The number of seconds after which WlmAdmin will stop trying to
contact a License Manager. If you have a large network or a slow one, you might
want to increase this number if you find WlmAdmin has difficulty retrieving
information from License Managers.
l Server Port: To set any custom port (other than the default port 5093) on which the
RMS License Manager is running.
Set this port number before you add that License Manager in the list of
defined servers.
l Discover defined servers on startup: To always show the License Managers you
have defined.
l Show client library error handler messages: To pass license management error
l The tool is applicable to Windows operating systems. See Windows: Installing the
Sentinel RMS License Manager.
slmdemo can be used to test the connectivity to a remote Linux license server
Platform
Windows
Right-click on the executable and select Run as administrator. slmdemo calls the
VLSinitialize API when the application is invoked successfully.
Set the contact server (License Manager) under the Connect To > Server menu option.
Enter a hostname , which is the hostname or IP address of the License Server.
Click OK and enter in the field one of the license features available in the network license
file. Where Feature is the name of the feature ex. TC_FULL and Version is the license version
in the NWL (Network) license. Click Get License. The message The call returned a
success status of 0x0 means that the connection client <> license server works.
l The tool is applicable to Windows operating systems. See Windows: Installing the
Sentinel RMS License Manager.
Before your software vendor creates a license code with any computer restrictions, you
must get the locking code for your computer with the Wechoid program. Your software
vendor will tell you which computers you must run Wechoid on. The Wechoid utility outputs
either one or two hexadecimal locking codes depending upon how your software vendor has
configured it. You will send all locking information to your software vendor. Your software
vendor will use this information, which is specific to your computers, to generate new
license codes.
Platform
Windows
When launched, the utility shows the available lock criteria (a checkmark is added next to
each) and the values. Click to clear (uncheck) all checkboxes except for Ethernet Address.
Uninstalling Thermo-Calc
Windows 10
1. From the Control Panel Desktop app, go to Programs → Programs and Features →
Uninstall or change a program.
2. In the list of programs, locate the version of Thermo-Calc you want to uninstall. Click
to highlight that row.
3. Click Uninstall/Change.
4. In the Setup window, Uninstallation Mode dialog box, choose to uninstall the Entire
application or Individual components. Follow the instructions to finish.
macOS
Deleting the program from the Applications folder does not remove the program from your
operating system. Run the Thermo-Calc-<version>-uninstaller program located in the
Applications folder.
1. Go to the Applications folder and double click the file that starts with Thermo-Calc-
<version>-uninstaller. Enter the administrator’s user name and password.
2. Click Yes to choose Entire application or select individual components. Otherwise
click No to quit.
3. The Uninstalling Thermo-Calc window shows the progress. Click OK when prompted.
Linux
1. To start the uninstallation procedure, in the Thermo-Calc installation directory use
the command
./Thermo-Calc-2021a-uninstaller.run
2. To remove the whole application, including all its components, select Entire
application and click Forward, or to remove specific components, select Individual
components and click Forward.
The Process Metallurgy Module requires both a valid Maintenance and Support
Subscription (M&SS) and a license for the TCS Metal Oxide Solutions Database
(TCOX8 or newer).
In general, for both types, the main difference compared to using a standard Equilibrium
Calculator is that it is easy to handle the different materials present in a metallurgical
process. The materials used in the process can be pre-defined, saved and used for the
equilibrium calculations. Metallic materials can be defined in element weight percent, oxide
materials in weight percent of oxide components, the gas phase in volume percent of gas
components and its amount can be defined in normal cubic meters, and so forth. In principle
this can be done in a standard Equilibrium Calculator. However, it is much easier when using
the Process Metallurgy Calculator as this is designed for this specific purpose.
When using the Equilibrium branch of calculations, both isothermal and adiabatic
calculations are possible. Adiabatic calculations assume no heat and mass exchange with the
environment during the equilibrium reaction, meaning that the temperature changes as a
result of exothermal or endothermal reactions taking place.
For a Process simulation branch of calculation, the reaction kinetics of the process are
considered. This is done by dividing the system into zones. Typically one would have one
steel zone containing liquid metal and a slag zone containing liquid oxide (slag). The kinetic
model assumes that only a fraction of the steel zone reacts with a fraction of the slag zone
per time step. This reacting fraction of the whole system is termed the reaction zone (in
literature it has become known as Effective Equilibrium Reaction Zone or EERZ).
You can use the Process Metallurgy Module to calculate the following:
In Graphical Mode calculations are set up, carried out, and visualized as part of
a project. The steps in the project are performed with activities. There are
templates and a Wizard available to guide you through the process of defining
the project.
In Console Mode you work with modules, which are managed using commands
typed at a prompt. Some modules, called response-driven modules, ask you a
series of questions that typically take you through the process of defining your
system, setting calculation conditions, performing calculations and plotting the
results.
In Console Mode, except for the SWITCH TO GRAPHICAL MODE button, the toolbar is not used.
See Menu, Toolbar and Keyboard Shortcuts for information about the Tools,
Window and Help menus, which are available in both modes.
File Extensions
The file extensions are different based on the mode you are in (Graphical vs. Console). In
Console Mode the extensions are also based on whether you are working with Thermo-Calc
or the Diffusion Module (DICTRA).
In Graphical Mode, the Thermo-Calc project files have the extension *.tcu. This
includes the examples for the add-on Diffusion Module (DICTRA) and
Precipitation Module (TC-PRISMA).
In Console Mode, Thermo-Calc macro files have a *.TCM extension and the
Diffusion Module (DICTRA) file extension is *.DCM. In addition to macro files in
Console Mode the are also Log files and Workspace files, which also differ.
Although many calculations can be done in either Graphical Mode (GM) or Console Mode
(CM), only data optimization and thermodynamic or kinetic assessments are available in
Console Mode. Conversely, only the Property Model, Precipitation and Process Metallurgy
Calculators are available in Graphical Mode.
Binary Calculate binary phase diagrams. Access to specific databases designed for BIN, such as
BIN
Calculator TCBIN, is required.
System Select appropriate databases, define chemical systems and retrieve the data required for
DATA
Definer calculations.
Diffusion Run simulations of diffusion controlled transformations in Thermo-Calc using the Diffusion
DICTRA
Calculator Module (DICTRA). An additional license is required for this feature.
This is to do data optimization for the Diffusion Module (DICTRA). It allows you to assess
DIC_
– experimental data and use such data to optimize calculations. An additional license is
PARROT
required for this feature.
Part of the PARROT submodule, use it to edit experimental data points to make reliable
– ED_EXP
optimizations.
This is the Handles thermodynamic models and quantities. Generally you do not need to use this, but
GIBBS or
calculation you can get information about models, and list, add or amend the thermodynamic
GES
engine parameters in use.
Used for data optimization to assess experimental data and use the data to optimize
– PARROT
calculations.
Precipitation
– Set the conditions for, and perform, a precipitation calculation.
Calculator
Property
Predict and optimize material properties based on their chemical composition and
Model –
temperature. There are preconfigured General Models and Steel Models available.
Calculator
CM module
GM Activity (Short Primary Functions
Name)
Equilibrium
POLY Equilibrium calculation command module. Specify conditions and make calculations.
Calculator
Plot This is a submodule to POLY and is for post-processing and plotting of calculation results.
POST
Renderer Modify property and phase diagrams, add labels, change the diagram colors and so forth.
Ternary Calculate and plot gas potential diagrams in a ternary system. The potential of two gas
POTENTIAL
Calculator species are used as the diagram axes.
Calculate and plot pH-Eh diagrams (Pourbaix diagrams) and property diagrams for
– POURBAIX
heterogeneous interaction systems involving aqueous solutions.
Use this to model reactions that occur in metallurgical processes. Although primarily used
Process
in steelmaking and steel refining processes (such as basic oxygen furnaces, electric arc
Metallurgy –
furnaces, ladle furnace metallurgy and so forth), applications are not limited to
Calculator
steelmaking.
Simulate and plot Scheil-Gulliver solidification processes with no diffusion in the solid
Scheil
SCHEIL phases and with/without consideration of back diffusion of interstitial components (such
Calculator
as C, N, O, S).
In Console Mode, interact with the operating system and change environmental settings.
– SYS
Create and execute macro files.
Ternary
TERN Calculate ternary phase diagrams.
Calculator
Calculations
When you are using Thermo-Calc and the Add-on Modules, you generally first set up a
system, select the databases to use, and then define various parameters related to the
simulation you want to conduct. Once this is set up you decide what calculation type to
perform, choose a plot type (or a table for single equilibrium, for example) to use and then
eventually get a result.
How Thermo-Calc handles the calculation behind the scenes is the same whether you use
Graphical Mode or Console Mode. However, there are differences with the workflow and for
historical reasons some calculation types are named differently based on whether you are in
one mode or another. In addition, the plot types (diagrams) you choose to output the
information are also different based on whether you are in Graphical or Console Mode.
These plot types are often based on the type of calculation being done, where in some cases
you can only do it in one mode and not the other. For example, precipitation calculations are
only available with the Precipitation Calculator, which is only available in Graphical Mode,
but you can do diffusion calculations in both Graphical and Console Mode.
Calculation
Graphical Console Definition
Type
Calculation
Graphical Console Definition
Type
Property Model
Calculator, Equilibrium
One axis POLY3 module To vary a quantity on the X-axis.
Calculator and Process
Metallurgy Calculator
Calculation
Graphical Console Definition
Type
Calculation
Graphical Console Definition
Type
Graphical Mode
In Graphical Mode you work with one file type, a project file, which has a *.tcu file
extension. This is applicable to Thermo-Calc and the add-on Diffusion Module
(DICTRA)Precipitation Module (TC-PRISMA) and Process Metallurgy Module.
Console Mode
In Thermo-Calc Console Mode there are file types—macro (including log files) and
workspace—and extensions —*.TCM, *.POLY3, *.GES5, *.PAR, *.POP, and *.EXP.
A reminder that Linux and macOS are case sensitive; when applicable ensure
you enter file extensions with capital letters.
Network Licenses
For a network license, under each license type with instances checked out, there is a list of
who checked out each license.
In Console Mode, an instance is checked out when you enter the POLY module
and is checked back in when you exit the POLY module.
l The Features column is a list of the specific software, databases and API licenses
purchases.
l The Version is an internal version number for the feature.
l The number of licenses column is how many instances of each license type available
to be checked out simultaneously.
l The in use column shows how many license instances are checked out.
If you are running a network installation of Thermo-Calc, you can see how many instances of
the client licenses are currently checked out and how many of them are left. You can also
see which client computers have checked out the licenses.
From the
Main System On your
Item Windows Website
Menu Definer Computer
Start Menu
Materials - x x x x
Property Models - - - x -
* The SDK folder is installed during installation and available when you have a license for the applicable SDK.
** The Process Metallurgy Module user-defined material compositions are saved from the Process Metallurgy Calculator and
managed from the Tools → Options menu.
l To open the Manuals folder select Help → Manuals Folder. Note for Linux openSUSE
users: This link is not functional. To access the folder, navigate to the default location
based on your installation type
l To open the Examples based on whether you are in Console Mode or Graphical
Mode, select File → Examples Files or Help → Examples Files.
There is a separate folder for materials saved using the Process Metallurgy
Calculator. See Installation Default Directory: Process Metallurgy Materials.
The default directory where these files are stored is based on operating system:
Windows C:\Users\<user>\Documents\Thermo-Calc\2021a\Materials
On Linux all user files are installed where the program is installed. If installed as root the default is:
Linux
/opt/Thermo-Calc/2021a/Materials
macOS /Users/Shared/Thermo-Calc/2021a/Materials
Software
Program Files\Thermo-Calc\<version>
Administrator
Examples, Manuals, Materials, Property Models, Process Metallurgy Materials and SDK folders:
Users\Documents\Thermo- Calc\<version>
Website
You can download the PDF documentation and examples from the website.
1. Go to https://www.thermocalc.com/.
2. From the menu, select Support → Documentation and navigate to the applicable
section.
There is also the Thermo-Calc Console Mode Example Macros PDF available
with the installation.
DATAPLOT Example EXP Files
The examples are available as supplementary information as described in the
DATAPLOT User Guide, which you can find in either the online help, Thermo-Calc
Documentation Set or Diffusion Module (DICTRA) Documentation Set.
Installation Guides
Includes the quick install guides for Standalone Windows and macOS installations as well as
the full installation guide for all platforms and installation types. For convenience, the TC-
Python Installation Guide is also included but you can alternatively find this on the website or
as a separate PDF.
TC-Python (SDK)
TC-Python is an SDK and you can search and use the special HTML file located in this folder.
Double-click the Index.html file to open it. This help is also available via our website. TC-
Python also includes details about working with custom property models, as part of the
Property Model Framework.
There are other file types when you are working in Console Mode. Search the
Help for About the File Formats or About the DICTRA File Formats.
Examples by Product
Thermo-Calc Examples
A description of the Thermo-Calc examples, and how to access them, is based on whether
you are using Graphical Mode or Console Mode.
All the macro files and the outputs are also combined into one file that you can
search and read. This is included with your installation as a PDF (go to Help >
Manuals folder > Diffusion Module (DICTRA) and open Diffusion Module
Console Mode Example Macros.
TC-Python Examples
A brief description of the TC-Python SDK examples, and how to access these, is available in
the Help.
Help Resources
'Online' Help: No Internet Required
To access online help in a browser, open Thermo-Calc and press <F1> on the keyboard, or
select Help → Online Help.
The content opens in a browser but uses local content so you don't need an Internet
connection except for links to external websites.
The window that opens has the same content as the help you access in the browser.
There are these extra navigation buttons in this view.
In Console Mode at the command line prompt, you can access help in these ways:
l For a list of all the available commands in the current module, at the prompt type a
question mark (?) and press <Enter>.
l For a description of a specific command, type Help followed by the name of the
command. You can only get online help about a command related to the current
module you are in.
l For general system information type Information. Specify the subject or type ? and
the available subjects are listed. This subject list is specific to the current module.
Typographical Conventions
The following typographical conventions are used throughout the documentation, both
online and in the PDF documents.
Text
Convention Definition
The forward arrow symbol → instructs you to select a series of menu items in a specific order.
Forward arrow symbol →
For example, Tools → Options is equivalent to: From the Tools menu, select Options.
A boldface font indicates that the given word(s) are shown that way on a toolbar button or as
Boldface font a menu selection. For example, if you are told to select a menu item in a particular order, such
as Tools→Options, or to click Save.
An italic font in the body of the text indicates the introduction of important terminology.
Italic font
Expect to find an explanation in the same paragraph or elsewhere in the guide.
For features in Thermo-Calc that use Console Mode (i.e. the command line), this font and all
capital letters indicates that this is a Console Mode COMMAND . Examples of how you can use a
command are written with code font. For example:
COMMAND
Use DEFINE_ELEMENTS followed by a list of the elements that you want in your system. (To list
the elements that are available in your current database, use LIST_DATABASE and choose
Elements).
Text in blue and underline and a page number is a link to another topic in the current or
HELP referenced guide. Command names are often also topics. Clicking the link takes you to more
detail about a particular command or subject in the PDF or documentation set.
Text with <angle brackets> indicates a keyboard entry. Usually to press <Enter> (or Return) or to
<Enter>
use a series of keys such as <Ctrl + S>.
A code font shows a programming code or code example. The code bold font highlights the
entry. It is also used for file names or paths to help distinguish it from other text. e.g.
code and code bold l For Windows users, the documents, materials, examples and other folders that
sometimes require additional licenses are installed in C:\Users\Public\Public
Documents\Thermo-Calc\<version>."
In general, you click with the mouse to perform an action on the screen (e.g. click Save) and
you press keys on a keyboard to enter a set of commands (e.g. press Ctrl+S).
When working in Console Mode, you can use keyboard shortcuts. Sometimes
click vs press
a window opens where you have the option to Save, Cancel or Open a file,
for example. In these cases the instructions might say click Save, whereas you
would need to press the applicable keys to perform the action.
Icons
Convention Definition
The information can be of use to you. It is recommended that you read the
Note
text or follow the link to more information.
Go to the link or guide to see more general information about the topic
being discussed. Usually includes both text and a link.
Also see
The small blue arrow is used when there is one (sometimes two) cross reference
and no text describing the link. Often used in settings pages to link you to
accompanying theory or extra detail.
Tip This is general information that can be of use but is not required knowledge.
This indicates that the information relates to the add-on Diffusion Module
Diffusion Module (DICTRA) (DICTRA).
Precipitation Module (TC- This indicates that the information relates to the add-on Precipitation
PRISMA) Module (TC-PRISMA).
Convention Definition
Process Metallurgy This indicates that the information relates to the add-on Process Metallurgy
Module Module.
The so-called classic syntax is used in the examples below. It can be used in
Console Mode or when using the APIs, e.g. TC-Python. Graphical Mode in
Thermo-Calc has readable names for all of these.
Viscosity Model
Viscosity of the Metallic Liquids Model
To use this model, the database parameter VISC is needed. It can be used for liquids.
Thermal Conduction
Electrical Resistivity and Thermal Conductivity Models
To use the thermal conduction parameters, the database parameter THCD is needed. The
other two related properties are derived from THCD. These properties can be obtained for a
phase or for the whole system.
Electric Properties
Electrical Resistivity and Thermal Conductivity Models
To use the electric properties parameters, the database parameter ELRS is needed. ELCD is
derived from that. These properties can be obtained for a phase or for the whole system.
Surface Tension
Surface Tension of Metallic Liquid Alloys Model
Surface tension for liquids can be calculated if the database contains the two database
parameters SIGM and XI. From these, the surface energy is calculated:
[Eq. 1]
is described with the modified Bloch-Grüneisen equation [1928, Bloch; 1933, Grüneisen]
and corrections can be made in cases where other types of scatterings play considerable
roles.
[Eq. 2]
[Eq. 3]
[Eq. 4]
The characteristic temperature plays a similar role and is also approximated as the
Debye temperature ( ), which can be readily obtained from low-temperature heat capacity
and elastic constants data as well as theoretical computations. The approximation of as
indicates that transverse phonons play a role in electron scattering. is the electron
wave number at the Fermi surface. is the phonon Debye wave number. is the Planck
constant. is a constant representing the strength of the e-p interaction and cannot be
easily estimated. is the electron effective mass. is the number of unit cells per unit
volume. is the electron velocity at the Fermi surface.
To describe the drastic change of the magnetic resistivity ( ) around the Curie (or Neel)
temperature, , of a magnetic alloy, an empirical model is proposed using the
dimensionless temperature and a parameter that stands for the resistivity due to
spin disordering. According to this model, Eq. 5, approaches , when the temperature
is well above , and is 0 when the temperature is far below . depends only on
composition and is described with the Redlich-Kister (R-K) expression. Apparently, has a
positive value for magnetic elements, and compounds as well as endmembers, and is 0 for
non-magnetic ones.
In a typical binary system made of a magnetic element A and a non-magnetic element B,
decreases usually from to 0 at a certain composition ( ). Such a behavior is also
seen in magnetic moment and Curie temperature. is expected to be zero in the
composition range from to element B, and will be forced to zero when the R-K expansion
leads inevitably to negative values over this composition range. is available from the
thermodynamic description in the database.
[Eq. 5]
The semi-empirical model (as given in Eq. 1 to Eq. 5) is first fitted to experimental data. The
description is then extrapolated to a wider temperature range if necessary, either to
extreme temperatures where the structure is no longer stable or to where experimental
data are missing. Polynomials are then derived with the experimental data, together with
the extrapolated values, and stored in the database. The model as given in Eq. 5 is
implemented in Thermo-Calc, so the magnetic contribution can be excluded from the
polynomials and separately modeled, and it will be automatically included during the
calculations.
[Eq. 6]
is known as the Sommerfeld value of the Lorenz number,
[Eq. 7]
[Eq. 8]
The intrinsic resistivity ( ) is based on Eq. 2 for the e-p processes, but corrections are
provided, as given in Eq. 8: the first term corresponds to large-angle scattering that satisfies
the original Wiedemann-Franz Law; the second one is due to inelastic small-angle (vertical
processes) and has no counterpart in the electrical resistivity; the third term is a correction
that accounts for situations where large-angle scattering can reverse the electron direction
without actually assisting to restore the distribution back to equilibrium.
can be predicted with the Slack model in a temperature range where only anharmonic
Umklapp phonon-phonon interactions are important. In other words, normal processes are
neglected as a first approximation [2002, Morelli; 1979, Slack]. The most reasonable version
among several ones is given below [1965, Julian].
[Eq. 9]
[Eq. 10]
The Debye temperature, can be obtained from low-temperature heat capacity or elastic
constant data. is the average atomic mass, the volume per atom, the number of
atoms in a unit cell, and the Grüneisen coefficient. A typical value for is evaluated to be
using as the Grüneisen coefficient, and can be used in the absence of
experimental information. It can also be obtained from e.g. DFT calculations of elastic
properties.
Model Parameters
The extended TDB format accepts parameters describing electrical resistivity and thermal
conductivity, together with spin disordering resistivity. Examples for unary and binary
systems are given below:
ELRS(FCC_A1,AL:VA;0)
ELRS(FCC_A1,AL,CO:VA;0)
THCD(FCC_A1,AL:VA;0)
THCD(FCC_A1,AL,CO:VA;0)
ESPD(FCC_A1,CO:VA;0)
ESPD(FCC_A1,AL,CO:VA;0)
All the above quantities can be calculated, retrieved, shown and plot in Thermo-Calc via the
variables in the Console Mode or via the quantity names in the Graphic Mode (see sections
below).
Console Mode
The quantities corresponding to the variables of ELRS, ELCD, THCD, THRS and THDF can be
calculated in Console Mode for a phase, e.g. ELRS(FCC_A1), or for a system, i.e. ELRS. The
results can be shown in the POLY module with the command SHOW_VALUE or illustrated as a
plot in the POST module with the command PLOT_DIAGRAM.
Graphical Mode
On the Plot Renderer in Graphical Mode, electrical resistivity, electrical conductivity,
thermal conductivity, thermal resistivity, and thermal diffusivity can be selected from the
axes lists, tabulated and plotted using the quantity names, with options for a specific phase,
all phases or for a system.
TC-Python
The quantities of ELRS, ELCD, THCD, THRS and THDF can be retrieved, for a phase, e.g. ELRS
(FCC_A1), or for a system, i.e. ELRS, via get_value_of() or get_values_of(), from most
phase equilibrium calculations in TC-Python, for instance,
l with_single_equilibrium_calculation(),
l with_property_digram_calculation() or
l with_batch_equilibrium_calculation().
Model Description
The chosen model for the surface tension of metallic liquid alloys is the modified
Guggenheim model [2019, Vermot des Roche]:
where
l being the Avogadro number and the molar volume of the system or the
species .
l is the composition of in surface, which is a function of bulk composition and
and defined as follows:
l and are called damping factors and these parameters are fitted for species 1
and 2 of binary systems.
Reference
[2019, Vermot des Roche] M. Vermot des Roches, A. E. Gheribi, P. Chartrand, "A versatile
multicomponent database for the surface tension of liquid metals," Calphad. 65, 326–339
(2019).
Corresponding Variables
The corresponding variable for surface energy of pure elements is SIGM. For instance, the
surface tension of pure A is written as SIGM(LIQUID,A;0). The corresponding X1 and X2
parameters for A-B binary system are respectively written as following:
PARAMETER XI(LIQUID,A,B:0)
PARAMETER XI(LIQUID,A,B:1)
Plot Variables
Console Mode
The surface energy can be calculated through step calculations in Console Mode. The plot
variable is SURF(LIQUID).
Graphical Mode
The surface energy is calculated using the One-axis calculation type in Graphical Mode. The
corresponding plot variable is Surface tension.
TC-Python
In TC-Python, it can be plotted using property-diagram_calculation() or with_batch_
equilibrium_calculation(). The plot variable is SURF(LIQUID).
Model Description
The viscosity of metallic liquid alloys is modeled as follows:
where
The SI unit of viscosity is pascal.second (Pa.s). The viscosity parameters are expanded via
Redlich-Kister polynomials.
For example, viscosity of a liquid A-B alloy is:
The two first terms are the contributions for the end-members, A and B elements and the
last term accounts for the excess viscosity. Basically, the activation energies are optimized.
and etc. are the parameters that are optimized to fit the viscosity data.
The kinematic viscosity, , is the ratio of the dynamic viscosity to the density, , of the alloy:
Corresponding Variables
In Console Mode, the viscosity can be plotted via a step calculation vs. temperature or
composition. The calculated property in Thermo-Calc is VISC of the liquid phase. The
calculated VISC property is not the viscosity ( ) but is related to via , thus in order
In Graphical Mode, the viscosity ( ) is directly plotted when using the One-axis calculations
available with various calculators.
The excess parameters are expanded via R-K. An example of viscosity of A-B liquid oxide:
Model Description
The model used to describe the molar volume at ambient pressures is:
The model described above is implemented in Thermo-Calc software with two parameters,
V0 and VA, and α is the linear thermal expansivity at 1 bar and 3α is the volumetric thermal
expansivity.
Database Files
In this section:
If you develop your own databases on a regular basis, also see About the TDB
Editor.
About Cached Database Files and Editing the Database Initialization File or
Unencrypted Database File
In Console Mode, users can decide to add their own user-defined database to the database
initiation file, which then makes it available in the Console window.
Database Checker
To globally set the default from GES6 back to GES5, go to the Tools → Options
→ General tab and click Version 5 for the Preferred Gibbs Energy System
setting. The SET_GES_VERSION Console Mode command is used to change GES
versions for a single Thermo-Calc session.
Also see Global Settings General where you can set the default database
directory path. There is also an option to clear the database cache, which may
be helpful if you are having issues.
The first time you open a database in Graphical Mode it can take a little while for it to load,
especially if it is one of the large databases such as TCFE or TCNI. However, the next time
the database opens quickly because the databases are now cached, or stored, in Graphical
Mode.
Thermo-Calc caches the database files, both encrypted and unencrypted types, at two
points—when you first open a database, sometimes called an in-memory cache, and then as
a disk-based cache. The disk-based cache is what speeds up database loading and it is at this
point that Thermo-Calc refers to the database initialization file for information. The disk-
based cache uses a lookup key to find the abbreviated database name (e.g. TCFE or TCNI)
contained in this initialization file.
The following recommendations are also applicable if you edit an unencrypted database file,
which includes user databases and free databases such as PURE5 or PG35.
If you edit the database initialization file (tc.initd.tdb in Windows or initd.tdb in Mac
and Linux), then:
l If a user database is added to the file, it is subject to the same caching as the
encrypted databases. This means that further changes (to the user database) are not
detected when you are working with databases in the System Definer in Graphical
Mode.
l If you make changes to a user database, you then need to clear the cache.
l It is recommended that you create a separate directory to store unencrypted
database files.
If you edit an unencrypted database file included with the installation (such as the PURE5
and PG35 files):
l Do not edit the file in the installation folder. Instead make a local copy and load it
into the application as a user database.
Database Checker
The Thermo-Calc software package includes a program to check that the syntax of
unencrypted database files is correct. The program applies the syntax rules set out in the
Database Manager User Guide and reports errors and issues warnings. This program is
intended for advanced users who develop and manage databases.
For example, a warning is reported if an abbreviated phase name is found and phase name
abbreviations are accepted by Thermo-Calc and its Add-on Modules. However, reported
errors must be corrected in the TDB file before the database can be loaded by the
application.
With respect to using this tool, the executable DatabaseChecker file is found in the Thermo-
Calc home directory. The program can also be launched by selecting Tools→ Database
Checker from the main menu.
General 61
Graphical Mode - Default Units 65
Graphical Mode: Activities 67
Global Settings: System Definer 68
Global Settings: Equilibrium Calculator 70
Global Settings: Diffusion Calculator 71
Global Settings: Precipitation Calculator 72
Global Settings: Process Metallurgy 73
Global Settings: Scheil Calculator 74
Global Settings: Tables 75
Global Settings: Graphical and Console Mode Plotting 76
Global Settings: Console Mode Default Appearance 87
General
These settings are for both Graphical Mode and Console Mode. To open this window, from
the main menu select Tools → Options.
Tooltips enabled
Select whether to turn on tooltips information. By default the Tooltips enabled check box is
selected. This displays a small text box when you hover the cursor above some buttons or
other items.
Localization
To change the GUI language from the Localization list choose English (the default),
Swedish, Spanish, German, Russian, Chinese, Japanese or French.
Log level
Select the level and type of information to display in the Event Log window using the Log
level slide bar. Choose from a Debug, Info, Warning or Error level of detail.
Database directory
In the Database directory field, specify the path to the directory that contains the data
directory. This is where the Thermo-Calc database directory called data is located. Do not
specify the path to where the database files are found (that is, in the data directory).
When you open a database for the first time, it is stored in a cache (an intermediate storage
area), that is maintained even if you close the program. This improves the speed of loading
the next time you open that database. The cache is used for all databases that are listed in
the database initialization file, typically all the standard databases that are included with
Thermo-Calc.
If you modify your own user-defined database, or if you choose to edit an unencrypted
database, it is recommended that you create a separate directory to store these database
files. This way the most recent version of the user-defined or edited databases are loaded
into the program when the System Definer is performed.
Model directory
This is where the predefined and custom Property Models (used with the Property Model
Calculator or TC-Python) are saved and stored by default. Click Modify to open the default
folder or to create a custom folder for your own models.
See Property Model Calculator for information about using the predefined
models. Also see the TC-Python help on the website for details about creating
custom models.
Use this setting to globally set the default GES version to be either GES6 (the default) or
GES5.
This setting is useful if you are using the POURBAIX module (aqueous solutions) or if you
have a custom database that is not compatible with GES6. The SET_GES_VERSION Console
Mode command can also be used to change GES versions for a single Thermo-Calc session.
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
To open this window, from the main menu select Tools → Options and click the Default
Units tab.
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
Setting Options
Composition Mass percent (the default), Mole percent, Mass fraction or Mole fraction
Energy Joule (the default), Calorie , Electron volt, Gigajoule, Watt hour or Kilowatt hour
Volume Cubic meter (the default), Cubic decimeter, Cubic centimeter or Normal cubic meter
Density Kilogram per cubic meter (the default) or Gram per cubic meter
Entropy Joule per Kelvin (the default), Calorie per Kelvin or Electron volt per Kelvin
Kinematic viscosity Square meter per second (the default), Stokes or Centistokes
Setting Options
To open this window, from the main menu select Tools → Options and click the Activities
tab.
There are System definition, Calculation, Precipitation, Diffusion, Scheil, Process
Metallurgy, Plotting and Tabulation settings windows.
For Plotting, the default settings are shared with the Graphical and Console
Modes. Any changes you make also apply to the default settings on the Console
Mode → Plotting tab in the Options window (and vice versa).
System Definer
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
User Databases
Under User Databases, define the Database name after adding a custom database.
Click Add to navigate to a custom database on your computer. After you have added the
user database it is available from the list to choose as the default.
Once a user database is added to the Database name list, you can also click the Remove
button to delete it from your project.
Database Packages
Based on the installed databases, there are also default Database Packages available. Use
this section to organize your own sets of databases that you use together often.
Create and remove Database Packages by clicking the Add a database package button or
Remove this database package button.
The addition or removal of a database package does not take effect until a new
System Definer node is defined.
Click Show details to display the list of databases included with the package. Click Hide
details to only display the name of the package.
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
Configuration Settings
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
The default settings are shared with both modes. Any changes you make also
apply to the default settings on the Console Mode → Plotting tab in the
Options window (and vice versa).
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
l Click the Graphical Mode → Activities tabs and then click the Plotting node in the
tree, or
l Click the Console Mode → Plotting tabs.
When you create a new Plot Renderer, its initial settings are taken from these
default settings. The settings can then be configured individually. Once created,
the settings of a Plot Renderer are not affected by changes to the default global
settings.
To configure the settings of an individual Plot Renderer rather than the default settings,
right-click a plot in the Results window and select Properties from the menu.
The following global settings are available for both Console Mode and Graphical Mode.
Most of the settings are found on the General tab. Additional settings below for the X-axis,
Y-axis or Image Quality tabs are indicated.
For LaTeX formatted text you can use the LaTeX math text to enter text. See
ADD_LABEL_TEXT and Plot Labels for more details.
Show legend
Select the Show legend check box to include a legend on the plot. By default no legend is
displayed.
Retain labels
Graphical Mode only.
By default the Retain labels check box is selected. Plot labels are kept (retained) when plots
are updated. It can be applied globally or locally to individual plots.
Show header
Console Mode only.
Click to select the Show header check box to display the basic details about the plot along
the top. This includes the date and time the plot is generated, the database used and the
properties.
Show grid
Click to select the Show grid check box to include a grid on the plot. By default no grid is
displayed.
Border width
Choose a plot Border width between 1 (thin, the default) and 10 (thick).
Line width
For the plot line width, choose a Line width from the list. These options are also available
for specific plot lines. To change an individual plot line width double-click it in the Results
window.
Line type
This option is only available for individual plot lines. To change an individual plot line type
double-click it in the Results window and choose a Line type from the list.
Show anchor
Click to select the Show anchor check box. By default, an anchor between the label and the
plot point is displayed.
Number of decimals
Choose the Number of decimals to display in the plot. The default is 2.
Numeric format
Choose the Numeric format to display in the plot Auto, Decimal or Scientific.
Click Define the plot area size to enter a Plot area height and Plot area width (not
applicable to triangular plots. The units are pixels and the size is kept as the size on the
screen (96 dpi).
Image Quality
Click the Image Quality tab to access the settings below.
Choose a Default file format: Portable Network Graphics .png (the default),Graphical
Interchange Format .gif, Enhanced Windows Metafile .emf, Portable Document Format
.pdf, PostScript .ps, Scalable Vector Graphics .svg, or Joint Photographic Experts Group
.jpg.
The following settings are only available for .png and .jpg file formats.
To change the resolution of a *.png or *.jpg image, click to clear the Use default
resolution check box. Then enter a numerical value in the Dots per inch (DPI) field.
For .*jpg files, you can also use the slider to choose a number between 0 and 1 for the JPG
quality. The default is 0.9. The lower the number, the smaller the file.
Reset to original settings: In the lower corner of the window, click the Reset to
original settings button to restore the original settings. You may have to scroll
or expand the window to see the button.
Console name
The default is Console or enter another name to display.
Buffer size
The default buffer size is 40,000.
In Console Mode, sometimes the output overflows the window text buffer. This is how to
increase the buffer size.
1. Right-click the Console tab header in the Console window (if this is the first Console tab,
it is labeled Console 1).
2. Click Properties, and increase the Buffer size in the Console Properties window.
Background color
Click Modify to open the Select Color window to choose a background color for the Console
Mode window where you enter commands.
Default directory
Set the default directory file path to where the various file types are saved.
1. Project: Create, manipulate and navigate between the activities that make up a
project. Click the My Project node to access the Quick Start wizard and a variety of
templates.
2. Configuration: Shows the settings that can be configured for the currently selected
activity.
3. Results: Shows the results of a calculation, either plotted as a diagram or displayed
in table format. In this example, there is a Plot Renderer tab in the Results window.
4. Scheduler: Displays information about jobs, such as calculations, that are being
performed or are scheduled to be performed. You can cancel scheduled jobs and if a
job has failed, then you can view information about the error.
5. Event Log: By default this window is closed but it displays during calculation
processes. You can always open it to view progress of calculations and to
troubleshoot.
In this example, the Results window also has a Plot Renderer tab. You can also have
a Table Renderer tab.
The File menu and toolbar are reserved for Graphical Mode but in Console Mode the Tools,
Window and Help menus have the same options.
In Console Mode you use commands to access the other options, for example
see Main Menu Commands.
Switch to
Click the button to exit Console
Graphical Launch Graphical Mode to work with the GUI version.
Mode and open Graphical Mode.
Mode
Change the global defaults for a variety of settings. See Changing Global
Options Select Tools → Options
Settings.
Open the online help system where you can browse or search all the
Thermo-Calc documentation.
Press <F1>
Help
This does not require an Internet connection. The Select Help → Online Help
content is stored locally.
Video Open a link to the Thermo-Calc website where a variety of video tutorials
Select Help → Video Tutorials
Tutorials are available.
Examples Open the examples folder based on whether you are in Console Mode or Select File → or Help →
Files Graphical Mode. Examples Files
Manuals Open the folder on your computer that has the PDF documentation and
Select Help → Manuals Folder
Folder guides.
Show
Select Help → Show License
License Also see Displaying Thermo-Calc License Information
Info
Info
and the Thermo-Calc Installation Guide
Request Open a link to the Support on the Thermo-Calc website. There are
Select Help → Request Support
Support instructions about how to submit your question.
Auto-Hiding a Window
When a window is fixed it can also be set to auto-hide. Auto-hiding means that the window is
minimized when you select another window. The minimized window is then shown either
along the bottom or side of Thermo-Calc. A free-floating window is shown on top of the
other windows and can be moved outside the frame of Thermo-Calc.
Button(s) Description
Click to close the window. You can open the window again from the Window
main menu.
In a project, a set of linked activities is called a tree. A result calculated within a tree is fed
as input into the next activity in the tree. Consequently, if you have an Equilibrium Calculator
with another Equilibrium Calculator as its successor, the successor takes the calculation
results of the predecessor as the starting values for its calculation. When working with
activities in the Project window these are also referred to as nodes (or activity nodes) in the
tree structure.
The example below shows a My Project node with two trees. In each tree, settings and
calculation results are propagated downward until the calculation and the visualization of
the results are completed in the Plot Renderer nodes.
The system definitions, settings and calculation results of the two trees are independent of
each other.
For example, to calculate and display a phase diagram, create a branch with three linked
activities: A System Definer activity linked to an Equilibrium Calculator activity, which in
turn is connected to a Plot Renderer activity.
You can determine the available successors by right-clicking a node in the Project window
and choosing Options from the menus. The example below shows that Binary Calculator 1
is a predecessor to the successors, Plot Renderer 2 and Table Render 1.
System Definer Define a certain thermodynamic system and read it from file into memory.
Choose one or more General models and Steel models to predict and optimize
material properties. You can evaluate models simultaneously over a range of
Property Model Calculator
compositions and cross plot the results. You can then conduct an uncertainty analysis
and plot the results as either a histogram or as a probability plot.
Set thermodynamic conditions and define axis variables when a series of equilibrium
Equilibrium Calculator
calculations are to be performed in one or more dimensions.
Set the conditions for, and perform, a precipitation calculation using the Precipitation
Precipitation Calculator Module (TC-PRISMA). You can also use this in DEMO mode with up to three
components.
Using the Diffusion Module (DICTRA), this activity is where you set the geometry, add
Diffusion Calculator one or more regions, enter grids and phases in the regions, and then enter compositions
of phases. You can also use this in DEMO mode with up to three components.
This calculator allows for efficient setup of advanced calculations involving slag, metal
Process Metallurgy Calculator and gas. Define the composition of a steel and slag system using material groups: one
each for steel, slag and gas.
Use it for some calculations involving two components only. It is like a combination of
System Definer and Equilibrium Calculator activities with adaptations to simplify the
configuration of calculations on binary systems.
Binary Calculator
To perform this activity, you need a database designed for the Binary
Calculator, such as the TCBIN database.
Read experimental data files (*.EXP). This type of file contains information specifying a
Experimental File Reader
plotted diagram, written in the DATAPLOT graphical language.
You can also use the templates to add all the necessary activity nodes based on
your simulation needs. See Creating a Project from a Template.
1. Define a System: Add a System Definer activity (in the Project window) where you
select a database and the elements to have as system components (in the
Configuration window).
l To the My Project node, you can alternatively add and define a Binary
Calculator, Ternary Calculator, or Experimental File Reader or Process
Metallurgy Calculator activity node.
2. Set up and run a calculation: Add an Equilibrium Calculator activity (a successor to
the System Definer), where calculation conditions are set (temperature, pressure,
etc.). This is where axis variables are set to create a property or phase diagram.
These settings are also made in the Configuration window. You can also add a
Property Model Calculator, Precipitation Calculator, Diffusion Calculator or Scheil
Calculator to the System Definer.
l In the Project window, right-click an activity and choose Create New Activity (My
Project node only) or Create New Successor (all other nodes).
l Select the activity you want to create from the submenu.
l At the bottom of the Configuration window, click Create New Activity or Create
New Successor and select the activity to create.
l Use the Templates or the Quick Start Wizard (click the My Project node and select
templates from the Configuration window) to quickly add a set of activity nodes to
the tree.
Process Metallurgy
My Project Plot Renderer, Table Renderer
Calculator
l The new Equilibrium Calculator has the same settings for conditions, functions and
options as its Equilibrium Calculator 1 clone.
l If the Equilibrium Calculator is already performed, then the calculation results are
cloned.
l If the activity is a Plot Renderer or a Table Renderer, then the plot or table is cloned.
l If you want to clone all the successor activities that follow a selected activity, then
right-click and select Clone Tree instead.
The Equilibrium Calculator successor is different from a clone in that it does not
inherit any calculated results and it is a successor to the Equilibrium Calculator
instead of a successor to its predecessor.
The calculated result from an Equilibrium Calculator that is the predecessor to another
Equilibrium Calculator is the starting value for the latter’s calculation. The clone of an
Equilibrium Calculator on the other hand, does not receive any data as input from the
Equilibrium Calculator that it is cloned from.
The Project window with the grid turned on and activity nodes moved from the default
location. These nodes are snapped to the grid.
Status
Window Description
marker
No status marker means the activity is ready to be performed (it has not been performed).
A yellow triangle means the activity cannot be run. The necessary configurations for the activity
may not be set or other prerequisites are not met.
Project
window
A green disc means the activity is performed.
A red circle with a dial (a clock face) means the activity is currently being performed.
No status marker means the activity (the job) is scheduled to be performed (the job has not
started).
A yellow triangle means there an error happened during the activity job.
Scheduler
window
A green disc means the activity (the job) performed successfully.
A green right-facing arrow means the activity (the job) is being performed.
Menus
MY PROJECT NODE
Choose from the available templates to use The templates are also
Create New Activity → Use Template available on the
the Wizard or add predefined nodes.
Configuration window,
which you can access by
clicking the My Project
node, or from the Window
menu.
Creating a
Project with
the Quick Start
Wizard or
Creating a
Project from a
Template
Creating
Activities and
Successors
Snap to Grid Snap a node to align it with the grid. Right-click any node.
Moving Nodes
in the Tree and
Using the Grid
Show Grid Turn the grid on or off in the Project window. Right-click any node.
Certain simulation results are also more likely to have large file sizes, particularly when
working with the Add-on Diffusion (DICTRA), Precipitation (TC-PRISMA), and/or Process
Metallurgy Modules.
Click More information to learn about the particular results that are saved for
each simulation.
Appending a Project
You can only have one project file open at a time in any one instance of Thermo-Calc.
However, you can attach (append) the trees from additional project files to the topmost My
Project node. To append an additional project file in this way, from the main menu select
File → Append Project and open a project file.
Saving and Printing the Output (Graphical Mode) and Saving Tabulated Data for the
Table Renderer
In Thermo-Calc
l From the main menu select File → Open Project.
l On the toolbar, click the Open button or press <Ctrl+O> (Windows) or < ⌘O>
(Mac) on the keyboard. Then navigate to the file on your computer and click Open.
On Your Computer
l Navigate to the project file and double-click to open it. This launches a new instance
of Thermo-Calc.
Some Add-on Module examples require additional licenses to run for more than
three elements.
To open an example project file for Thermo-Calc and the Add-on Diffusion (DICTRA),
Precipitation (TC-PRISMA), and/or Process Metallurgy Modules:
1. Open Thermo-Calc.
2. Confirm you are in Graphical Mode. If not, click the Switch to Graphical Mode
button.
3. From the main menu, select File → or Help → Examples Files.
4. The examples are divided into folders. Navigate to the folder and project file you
want and double-click to open.
5. The Graphical Mode examples are stored without calculated results so you will want
to run the example calculation and generate a plot or table. To do this, click the first
node in the tree at the top of the Project window. Then right-click and select
Perform now.
Binary Calculator
The following calculation types are available for a Binary Calculator activity node:
Diffusion Calculator
The following calculation types are available for a Diffusion Calculator activity node:
Detailed simulation of diffusion controlled reactions in multi-component systems. Diffusion
calculations are done with the Diffusion Calculator. There are no calculation types you need
to choose when setting up your simulation.
Equilibrium Calculator
The following calculation types are available for an Equilibrium Calculator activity node:
l Single equilibrium (no axes): To calculate a single point. The results from this
calculation are displayed in the Event Log.
l One axis: To vary a quantity on the X-axis.
l Grid: Computes the equilibrium of each grid point in a two-dimensional grid.
l Phase diagram: To calculate in a defined multicomponent heterogeneous system,
from one or more initial equilibria. A phase diagram is usually mapped within a
specific space that is constructed by two (or more) defined independent mapping
axis-variables.
Precipitation Calculator
The following calculation types are available for a Precipitation Calculator activity node:
l Single: To calculate a single point. The results from this calculation can be displayed
in the Results window using a Table Renderer.
l One axis: To vary a quantity on the X-axis.
l Grid: Evaluates two axis variables of the selected quantities in the specified range
and number of steps.
l Uncertainty: Evaluates calculations where the values of the quantities are sampled
from Gaussian distributions.
l Single: To calculate a single point. The results from this calculation are displayed in
the Event Log or if a Table Renderer is used, in the Results window.
l One axis: To vary a quantity on the X-axis.
l Grid: Evaluates two axis variables of the selected quantities in the specified range
and number of steps.
l Min/Max: Evaluates the Property Model(s) for all variations of the selected
quantities at the given limits.
l Uncertainty: Evaluates the Property Model(s) where the values of the quantities are
sampled from Gaussian distributions.
Scheil Calculator
The following calculation types are available for a Scheil Calculator activity node:
Ternary Calculator
The following calculation types are available for a Ternary Calculator activity node:
l Isothermal section: To calculate the ternary system for the whole composition range.
l Monovariant lines: To calculate the variation of the liquid compositions with
temperature.
l Liquidus projection: The projection liquid surface and the monovariant lines are
calculated over the given temperature range.
Templates
A variety of templates are available. You can add these from the Configuration window or
by right-clicking the My Project node and selecting one from the Create New Activity →
Use Template list:
1. In the Configuration window click Quick Start. If you cannot see the Quick Start
button, first click My Project in the Project window.
2. In the Select Project Type window click to select the type of calculation to perform.
Single point equilibrium, One axis equilibrium, Phase diagram or Scheil
solidification simulation. Click Next.
For a One axis equilibrium or Phase diagram, specify the Axis Definitions of the
stepping or mapping operation. Choose minimum and maximum values for the
variable(s) (select Linear – min no. of steps, Linear – max step size or Logarithmic
–scale factors) and whether it is Normal or Separate phases. For a Scheil
solidification simulation, and where applicable, select Fast diffuser to account for
back diffusion of any fast-diffusing elements.
6. Click Finish. Click to expand the Event Log window to see information about the
progress of the calculation.
The diagram is plotted in a Plot Renderer tab in the Results window. If you have
calculated a single-point equilibrium, then a Table Renderer tab shows information
about the equilibrium.
7. To save the project, click Save on the main toolbar. To save a diagram or table,
right-click the diagram or table and select Save As.
When you click a template, an activity tree is added to the Project window. You can then
configure and perform the activities or the project.
For example, if you click One axis equilibrium, a tree is added to the My Project node with
System Definer, Equilibrium Calculator and Plot Renderer nodes.
You can also add templates by right-clicking the My Project node and choosing an option
from the Create New Activity → Use Template menu.
A Process Metallurgy Calculator and a Plot Renderer are added to the Project
window.
You can also add templates by right-clicking the My Project node and choosing an option
from the Create New Activity → Use Template menu.
The use of this Steel Model Library template requires a valid maintenance
license plus licenses for both the TCFE (version 9 and higher) and MOBFE
(version 4 and higher) databases.
Use a Steel Library TTT template to add all the activities for a One axis Time-Temperature-
Transformation (TTT) diagram calculation.
This template has several preconfigured settings to make it easy to set up and calculate the
TTT diagram using any of these Property Models—Martensite Temperatures, Pearlite, or
Bainite.
A System Definer, Property Model Calculator (renamed to Steel Models) and a Plot
Renderer (renamed to TTT) are added to the Project window. Also see See Property
Model Calculator and Plot Settings: TTT Mode.
You can also add templates by right-clicking the My Project node and choosing an option
from the Create New Activity → Use Template menu.
In this section:
System Definer 42
Equilibrium Calculator 57
Binary Calculator 69
Ternary Calculator 73
Scheil Calculator 76
Property Model Calculator 85
Diffusion Calculator 99
Precipitation Calculator 123
Plot Renderer 146
Table Renderer 164
Experimental File Reader 171
System Definer
In a System Definer activity, you select the database to use to retrieve thermodynamic data
and define which elements the system has as components. You can also select the species to
include as well as change the reference temperature and pressure for your components.
You can add the System Definer directly (right-click My Project and select it from the
Create New Activity menu) or use a variety of the available templates to automatically add
the node.
Almost all of the Graphical Mode Examples use the System Definer. For details
about the templates, seeThe Quick Start Wizard and Templates and Creating a
Project from a Template.
Once you have added a System Definer, the Configuration window has these settings tabs:
l Elements
l Species
l Phases and Phase Constitution
l Components
l Data Sources
l Description
1. Right-click My Project and from the menu select Create New Activity→ System
Definer . You can also add any template and a System Definer is added to the Project
tree.
2. In the Project window, click the System Definer activity node.
3. In the Configuration window, choose Databases from the list or a database Package.
OPTIONS:
l From the Databases list, select <User database> to define your own.
l You can choose to add one or more databases by clicking the Add a database
button.
l From the Package list, choose a predefined database package to add multiple
databases at a time. Depending on your license, there are predefined database
packages available to select.
4. Select the Elements tab to choose the elements in the Periodic Table or use the
Alphabetic List to choose elements for the system.
5. As required click the tabs to make edits: Species, Phases and Phase Constitution,
and Components. The Data Sources and Description tabs provide information based
on the database.
At the top of the Configuration window you can choose to add one or more Databases by
clicking the Add a database button. You can also choose a predefined or custom database
Package from the list. Depending on your license, there are predefined database packages
available to select. After adding a database, click Remove this database button as
required for your simulation.
If you have chosen a database package and then remove or change a database,
a message displays Selected databases and selected package may differ. This
means that the original package you selected, which added preset databases,
does not match the databases you are using for the project. For information
about how to clear the message, see Global Settings: System Definer.
There are several settings tabs available for the System Definer activity.
The following example uses the FEDEMO and MFEDEMO databases and Graphical Mode
example PM_G_03, which you can open from the Help → Examples Files menu.
Elements
On the Elements tab, and based on the databases or database package selected, you can
select and review elements using a Periodic Table or Alphabetic List format. Unavailable
elements, which are based on the selected database, are greyed out.
Periodic Table
In this example, using the demonstration databases FEDEMO and MFEDEMO, there are only
a select number of elements to choose from.
Alphabetic List
Select the elements next to the check boxes for the selected database(s).
Material Composition
After selecting the elements and in the Periodic Table view, under Material, you can enter a
Material name and define the material composition Amount in Mass percent, Mole
percent, Mass fraction or Mole fraction.
At the bottom of the window, click Load material to open a material file. The default folder
opens to the Materials folder included with your installation.
About the Material Files and Examples, Manuals and Materials Folders
You can also click Save material as to save the material you defined, for example Ferritic.
If you load a material file and then change the composition, a message displays
The composition has changed. This means that the original values/composition
do not match the values you are using for the project. The message is cleared by
either reloading the material file or editing the composition field to the original
value.
Species
On the Species tab for each database you can select and edit the Species and view the
Stoichometry for the selected database species.
At the bottom of the window, click Add new species and enter a New species name in the
field.
At the top of the Phases and Phase Constitution tab for each database you can review and
edit the Status (Entered or Dormant) for the selectedPhases. Select the Check/uncheck all
check box to toggle between the options.
To review the Phase constitution for a specific phase, click it in the Phase list (for example
BCC_A2) and its details are displayed at the bottom of the window for the database selected.
Click Edit then click an element to select or reject a constituent. The last remaining
constituent on a sublattice cannot be rejected.
Components
The Components tab is where you can review and edit the Component, Reference phase,
Reference temperature, and Reference pressure. Click to toggle the SER (Stable Element
Reference) check box on and off. Then choose a Reference phase from the list and edit
accordingly. Choose a unit for the Reference temperature (Kelvin, Celsius or Farenheit)
and Reference pressure (Pascal, Atmospheres or Bar).
Data Sources
Data source references are shown after performing the activity. Click Perform or Perform
Tree at the bottom of the window when your system is set up.
Description
The Description tab displays a description of the selected database(s). In this example,
MFEDEMO.
When you are working with the System Definer in Graphical Mode you can open the default
Materials folder included with your installation. The files are in .xml format and the data
contained are from some common alloys. You can also save and create your own materials
files from the System Definer, or copy the xml files to the Materials folder.
Aluminum Alloys
l UNS_A95005
l UNS_A96053
Nickel Alloys
l UNS_N06600
l UNS_N6600
l UNS_N06625
l UNS_N06690
l UNS_N07001
l UNS_N07718
l UNS_N08800
l UNS_N08825
Solder Alloys
l ASTM_25A
l ASTM_96TS
l UNS_L50134
l UNS_L54321
Steel Alloys
Austenitic Stainless Steel
l ASTM_304_(UNS_S30400)
l ASTM_304L_(UNS_S30403)
l ASTM_304LN_(UNS_S30453)
l ASTM_316_(UNS_S31600)
l ASTM_316L_(UNS_S31603)
l ASTM_316LN_(UNS_S31653)
l ASTM_317L_(UNS_S31703)
l UNS_J92710
l UNS_S30908
l UNS_S31803_A
l UNS_S32750_A
l UNS_S32750_B
l ASTM_M10_A5
l UNS_S31008
HSLA Steel
l UNS_K12000
l UNS_H61180
Maraging Steel
l UNS_K92810
l ASTM_420
l UNS_J82090
l UNS_J91639
l UNS_S44004
Tool Steel
l UNS_T30106
l UNS_T30109
l UNS_T51620
Training Steel
l Ferritic
l M7_Steel
Titanium Alloys
l UNS_R54520
l UNS_R56260
My Materials
This is where you can add your own material files to be able to load it to the System Definer.
When you are in the System Definer Configuration window, you define your material then
click Save material as. You can save the profile to this folder or create a folder with a new
name.
7. Click OK . The software needs to relaunch for the Database Package to be available
to choose as the default for new System Definer activities.
The package is available for new System Definer nodes defined after
adding the package.
l Change the newly added database back to the one that matches the database package,
or
l Choose another package from the Package list, then select the package you want.
For example, from the Package list you select Demo: Steels and Fe-alloys.
If you add or remove Databases, in this example MFEDEMO is removed, then this does not
match the Package and the message displays:
To clear the message, click the Add a database button and from the Choose database
list, select the database that belongs with the package, in this example, MFEDEMO. The
message is cleared.
You can also choose another package from the list, which changes the databases, and then
re-select the original package to reset the message.
Equilibrium Calculator
An Equilibrium Calculator allows you to set the conditions for, and perform, a calculation.
You can add the calculator to the System Definer directly (right-click and select it from the
Create New Successor menu) or use a variety of the available templates.
Once you have added an Equilibrium Calculator, the Configuration window has these
settings tabs. An Equilibrium Calculator that is the successor of another Equilibrium
Calculator inherits all the settings of the predecessor.
l Conditions: Set the conditions for your calculation that define the stepping or
mapping axis variables. This tab can be viewed in a simplified mode and in an
advanced mode.
l Functions: Define your own quantities and functions, which you then can calculate
and plot.
l Options: Modify numerical settings that determine how equilibria are calculated, as
well as how stepping and mapping calculations are performed.
The Options tab is where you can locally define specific Equilibrium Calculator
settings. These settings can also be applied globally. To open the Options
window: From the main menu select Tools → Options and click the Activities
tab. Then click Calculation.
For an example of how serially coupled Equilibrium Calculators can be used, see
example T_06. For details about the templates, seeThe Quick Start Wizard and
Templates and Creating a Project from a Template.
The following outlines what you can set on the Conditions tab in simplified mode.
Composition unit
Choose from Mass percent, Mole percent, Mass fraction or Mole fraction.
Condition Definitions
Specify the values (and units) of the state variables: Temperature, Pressure, and System
size or any other available lists under Condition Definitions.
Calculation Type
Select a Calculation Type: Single equilibrium (no axes), One axis, Grid or Phase diagram.
l Click Single equilibrium to only calculate the equilibrium. No additional settings are
required. Add a Table Renderer to perform the calculation and view the details in
the Results window.
l Click One axis to vary a quantity on the X-axis.
l Click Grid to compute the equilibrium of each grid point in a two-dimensional grid.
l Click Phase diagram to calculate in a defined multicomponent heterogeneous
system, from one or more initial equilibria. A phase diagram is usually mapped
within a specific space that is constructed by two (or more) defined independent
mapping axis-variables.
When you use the Equilibrium Property Model Settings with the
Property Model Calculator, it is the same calculation result as when
you are using an Equilibrium Calculator with the Single equilibrium
calculation type.
Axis Definitions
l One axis: Define the axis variable using these fields and menus: Quantity, Min, Max,
Step division, Type and Step Method.
l Grid: Define the two axis variables using these fields and menus: Quantity, Min,
Max and Number of steps.
l Phase diagram: Define the two axis variables using these fields and menus:
Quantity, Min, Max, Step division and Type.
If the Equilibrium Calculator already has a Plot Renderer as a successor and you
change the stepping/mapping quantities, then the quantities represented on the
X- and Y-axis are automatically updated in the Plot Renderer.
For a One axis calculation, on the Plot Renderer, you can choose to plot a Heat
map, Contour or 3D diagram.
l For Linear - min no. of steps, the Step division value specifies a minimum number
of steps that is calculated between the minimum and maximum value during the
stepping/mapping operation.
l For Linear - max step size, the Step division sets the maximum size of each step. For
Logarithmic - scale factor, Step division specifies the scale factor of a logarithmic
function that distributes the steps from the initial equilibrium to the minimum and
maximum values defined.
For an example of how you can use functions that you define, see T_07: User-
Defined Functions.
1. Add an Equilibrium Calculator node and click it in the Project window.
2. In the Configuration window click the Functions tab.
3. Under Quantity Definitions, define Q1. Click the add button to Add a new
quantity. Then from the lists, choose the variable for each quantity to define. The
quantities are called Q1, Q2, Q3 and so on. In this example, the quantity Q1 is
defined as the Amount of phase, with No normalization, LIQUID in Mole units.
4. Under Function Definitions, click the add button to add a new function. In the left
field edit the default name of each function and enter the function itself in the right
field after the equal sign. In this example, the quantity defined as Q1 is renamed to
fraction_solid, which gives as its output the fraction of solid phase (1-Q1).
You can also use Console Mode syntax when entering the function. For
example, the function above can be entered as 1-NP(LIQUID). See
Parameters, Functions and Variables for details related to Console Mode
and that are also applicable here.
5. To plot the defined function, right-click Equilibrium Calculator and choose Create
new successor→Plot Renderer.
6. Click the Plot Renderer node. In the tab for the Equilibrium Calculator that contains
the function, set an Axis variable to Function, then from the menu select the defined
function. In this example the Y-axis is set to plot the value of the function fraction_
solid.
When run, the Plot Renderer plots the value of the function.
You can change these settings locally for a specific Equilibrium Calculator or
globally in the Options settings. To open the Options window: From the main
menu select Tools → Options. Click the Graphical Mode tab then click
Calculation.
Global minimization
The Global minimization check box is selected by default to ensure that the most stable
minimum under the specified conditions is computed.
ADVANCED_OPTIONS
Control stepsize
The Control stepsize check box is selected by default and this setting determines how to
reach the minimum of an equilibrium state.
ADVANCED_OPTIONS
Max no of iterations
Enter or choose a value for the Max no. of iterations. By default, the program tries 500
iterations before it gives up. As some models give computation times of more than 1 CPU
second/iteration, this number is also used to check the CPU time and the calculation stops if
500 CPU seconds/iterations are used.
Required accuracy
The default Required accuracy is 1.0E-6. This is a relative accuracy, and the program
requires that the relative difference in each variable must be lower than this value before it
has converged. A larger value normally means fewer iterations but less accurate solutions.
The value should be at least one order of magnitude larger than the machine precision.
Smallest fraction
The default Smallest fraction is 1.0E-12. This is the value assigned to constituents that are
unstable. It is normally only in the gas phase you can find such low fractions.
The default value for the smallest site-fractions is 1E-12 for all phases except for IDEAL
phase with one sublattice site (such as the GAS mixture phase in many databases) for which
the default value is always as 1E-30.
In Console Mode, the default of 1E-30 for IDEAL phases is true unless you are
using the command SET_NUMERICAL_LIMITS to reset an even-lower value (e.g.
1E-45, that is naturally enforced to all the phases in the system.
One Axis
Under One axis, there are these Calculation Type setting options.
Global minimization
The Global minimization check box is selected by default to ensure that the most stable
minimum under the specified conditions is computed.
ADVANCED_OPTIONS
Phase Diagram
Under Phase diagram, there are these Calculation Type setting options.
Global minimization
The Global minimization check box is selected by default to ensure that the most stable
minimum under the specified conditions is computed.
7. To remove a condition, either click the Remove button, or click to clear the check-
box. For example, if you want to know at what temperature your material starts to
melt, then you cannot have a fixed temperature, in which case the temperature
condition is not selected:
The Number of missing conditions is field displays 0. When you have set all your
conditions, you can perform the Equilibrium Calculator (now or later).
Binary Calculator
A Binary Calculator can be used for some calculations involving two components. You can
think of this activity as a combination of a System Definer and an Equilibrium Calculator, but
designed to simplify setting up and performing calculations on binary systems. There is also
a Binary Calculation template you can use to quickly set up a simulation.
The Binary Calculator relies on some specifications that are not supported by all databases.
You need a specially designed database for the Binary Calculator such as the TCBIN
database.
For an example of how a Binary Calculator can be used in a project, see T_03:
Fe-C Phase Diagrams. For information about the templates see Creating a
Project from a Template.
The various versions of the TCFE (Thermo-Calc Steels and Fe-Alloys) databases
are not compatible with the Binary Calculator.
Elements
On the Elements tab, and based on the database selected, select and review elements from
the periodic table. Unavailable elements, which are based on the selected database, are
greyed out.
Data Sources
Data sources are not available until the activity has been performed. Click Perform Tree to
display available data sources.
Description
The Description tab displays a description of the selected database.
Calculation Type
Choose a Calculation Type.
Phase diagram
Click Phase diagram to calculate in a defined multicomponent heterogeneous system, from
one or more initial equilibria. A phase diagram is usually mapped within a specific space
that is constructed by two (or more) defined independent mapping axis-variables.
Activity curves
Click Activity curves to calculate at a constant temperature over the whole composition
range. From the Temperature list select a unit (Kelvin, Celsius or Farenheit) and enter a
value in the field.
Phase fractions
Click Phase fractions to calculate as a function of temperature at a constant composition.
From the Mole fraction list select a component and enter a value in the field.
Ternary Calculator
A Ternary Calculator is used for some calculations involving three components. You can
think of this activity as a combination of a System Definer and an Equilibrium Calculator, but
designed to simplify setting up and performing calculations on ternary systems. There is also
a Ternary Calculation template you can use to quickly set up a simulation.
For an example of how a Ternary Calculator is used in a project, see T_04: Fe-
Cr-C Ternary Phase Diagram at 1000 K. For information about the templates see
Creating a Project from a Template.
Databases
Select a database that contains specifications dedicated to the Ternary Calculator.
Elements
On the Elements tab, and based on the database selected, select and review elements from
the periodic table. Unavailable elements, which are based on the selected database, are
greyed out.
Data Sources
Data sources are not available until the activity has been performed. Click Perform Tree at
the bottom of the window to display available data sources.
Description
The Description tab displays a description of the selected database.
Calculation Type
Choose a Calculation Type.
Isothermal section
Click Isothermal section to calculate the ternary system for the whole composition range.
From the Temperature list select a unit (Kelvin, Celsius or Farenheit) and enter a value in
the field.
Monovariant lines
Click Monovarient lines to calculate the variation of the liquid compositions with
temperature.
Liquidus projection
Click Liquidus projection so that the projection liquid surface and the monovariant lines are
calculated over the given temperature range. Then select the Temperature unit and in the
fields enter a range (Min and Max) and an Interval.
Scheil Calculator
Thermo-Calc is often used to perform equilibrium calculations, but some non-equilibrium
transformations or partial-equilibrium transformations can also be simulated.
A well known example of a non-equilibrium calculation is the Scheil-Gulliver solidification
simulation.
l Diffusion in the liquid phase is assumed to be very fast, that is, infinitely fast.
l Diffusion in the solid phases is so slow that it can be ignored, that is, diffusion is
assumed to be zero.
l The liquid/solid interface is in thermodynamic equilibrium.
In this Scheil simulation the temperature is decreased step-by-step. When the temperature
drops below the liquidus temperature the equilibrium amount and composition of solid and
liquid phase is calculated. The solid phase is removed from the system and only the amount
and composition of the liquid phase is used for the next calculation step at a lower
temperature. Again, the equilibrium amount and composition of solid and liquid phase is
calculated and again the solid phase is removed from the system for the next step. This
procedure is repeated until the last liquid disappears.
This calculation procedure is equivalent to assuming that there is no diffusion in the solid
phase and infinitely fast diffusion of all elements in the liquid phase. It has been shown to be
a good approximation of the solidification of most alloys such as Ni-superalloys, Cu alloys, Al
alloys, Mg alloys, and others. However, for steels it fails badly. The reason is that carbon is
one of the most important alloying elements in steels and it dissolves interstitially. Carbon
therefore has very fast diffusion rates. The assumption of no diffusion in the solid phase
during solidification is thus not correct for carbon at most industrial or lab-scale
solidification rates.
For this reason a variant of the Scheil simulation was developed and implemented in
Thermo-Calc, where one or more elements can be defined as fast diffusers.
Fast diffuser does not quite define this since diffusion is not actually simulated.
It is simply assumed that the “fast diffusers” distribute throughout the solid and
liquid phase according to thermodynamic equilibrium. This corresponds to
infinitely fast diffusion.
For the Scheil simulation with fast diffuser the following assumptions are made.
The classic Scheil simulation and Scheil simulation with fast diffuser models can be
considered thermodynamic models. There are clear limitations as a certain amount of back
diffusion always takes place in the solid phase at real solidification. For this reason, a more
sophisticated kinetic model, the Scheil simulation with back diffusion is also available.
The secondary arm spacing also depends on the cooling rate. For this reason a
simple empirical relation between cooling rate and secondary arm spacing is
predefined in Thermo-Calc.
For the Scheil simulation with back diffusion the following assumptions are made.
Summary
The variants of the Scheil-Gulliver solidification simulation (classic Scheil simulation, Scheil
with a fast diffuser element, and Scheil with back diffusion) are set up in either the SCHEIL
module in Console Mode or the Scheil Calculator in Graphical Mode.
The Scheil with back diffusion feature is only available for systems with diffusion
data, i.e. it requires the use of a mobility database.
By default, a Plot Renderer successor to a Scheil Calculator has the default plot axes Mole
fraction of solid (X-axis) and Temperature Celsius (Y-axis). When these default axes are
used in the Plot Renderer, the results of normal equilibria calculations are automatically
plotted in the same diagram as the Scheil calculations.
You can use either the Quick Start Wizard (for only Scheil-Gulliver) or the Scheil
Solidification Simulation template to quickly set up a simulation.
For information about the templates see Creating a Project with the Quick Start
Wizard and Creating a Project from a Template.
For examples using the Scheil Calculator see T_08: Scheil and Equilibrium
Solidification and T_10: Scheil Solidification with Back Diffusion.
Start temperature
Enter a Start temperature that is higher than the liquidus temperature of the alloy, in other
words, the temperature at which the alloy is completely melted.
Temperature step
Enter a Temperature step. Decreasing the temperature step increases the accuracy, but the
default value is usually adequate.
Temperature unit
Select the Temperature unit: Kelvin, Celsius or Fahrenheit.
Composition unit
Select the Composition unit: Mass percent, Mole percent, Mass fraction or Mole fraction.
The Scheil with back diffusion feature is only available for systems with diffusion
data, i.e. it requires the use of a mobility database.
The Back diffusion in primary phase check box is available to select after adding a mobility
database and once components are defined on the System Definer. Click to select this check
box to enable back diffusion in the solid primary phase.
See Scheil Calculator for an overview of the different Scheil simulation models
available and more information about this model.
The Secondary dendrite arm spacing is the distance in meters between two secondary
dendrite arms. It can be either a Constant or Calculated from the cooling rate as c*(cooling
rate)-n where c and n are entered in these fields.
Select Calculated or Constant.
Composition
The Composition settings display after you add components to the System Definer.
Fast diffuser
The Fast diffuser check box is available after you add components to the System Definer.
Click the check box to allow redistribution of this component in both the solid and liquid
parts of the alloy.
Advanced Settings
Click Show advanced options to access more settings.
Global minimization
By default the Global minimization check box is not selected. Click to select it to perform a
global minimization test when an equilibrium is reached. This costs more computer time but
the calculations are more robust.
Liquid phase
The default in the list is the Liquid phase already defined in the database.
Terminate on
From the Terminate on list, choose Fraction of liquid phase or Temperatureand enter a
value in the field.
Required accuracy
The default Required accuracy is 1.0E-6. This is a relative accuracy, and the program
requires that the relative difference in each variable must be lower than this value before it
has converged. A larger value normally means fewer iterations but less accurate solutions.
The value should be at least one order of magnitude larger than the machine precision.
Smallest fraction
The default Smallest fraction is 1.0E-12. This is the value assigned to constituents that are
unstable. It is normally only in the gas phase you can find such low fractions.
The default value for the smallest site-fractions is 1E-12 for all phases except for IDEAL
phase with one sublattice site (such as the GAS mixture phase in many databases) for which
the default value is always as 1E-30.
In Console Mode, the default of 1E-30 for IDEAL phases is true unless you are
using the command SET_NUMERICAL_LIMITS to reset an even-lower value (e.g.
1E-45, that is naturally enforced to all the phases in the system.
The Configuration window for a Property Model Calculator using the Phase
transition model is shown and described in Configuration Window Settings.
There are General Models and Steel Models available. For more information, see
About the Property Models.
You can also create custom Property Models. Search the TC-Python help on the
website for details about creating custom models. In general go to the Property
Model Framework → Best Practices section.
The Quick Start Wizard and Templates and Creating a Project from a Template
The General Models are available to all users. To run calculations with the
Steel Models (as part of the Steel Model Library) requires a valid maintenance
license plus licenses for both the TCFE (version 9 and higher) and MOBFE
(version 4 and higher) databases. See Properties that Can Be Calculated on our
website for more information.
General Models
The following general Property Models are available with the Property Model Calculator.
Coarsening
The Coarsening Property Model calculates the coarsening rate coefficient K (m3/s) of a
spherical precipitate phase in a matrix phase. See About the Coarsening Property Model and
Coarsening Property Model Settings for background theory and input parameter details.
Driving Force
The Driving Force Property Model calculates the thermodynamic driving force for a phase.
See Driving Force Property Model Settings for input parameter details.
Equilibrium
The Equilibrium Property Model calculates the equilibrium for the given conditions.
Optionally define additional function definitions. See Equilibrium Property Model Settings for
input parameter details.
Interfacial Energy
The Interfacial Energy Property Model estimates the interfacial energy between a matrix
phase and a precipitate phase using thermodynamic data from a CALPHAD database. See
About the Interfacial Energy Property Model and Interfacial Energy Property Model Settings
for background information and input parameter details.
Phase Transition
The Phase Transition Property Model calculates the point when a new phase may form by
varying set conditions. The Model is useful to determine melting temperature, boiling
temperature or solubility limits. It returns the phase transformation temperature, or
composition, depending on the varied condition. See Phase Transition Property Model
Settings for input parameter details.
Spinodal
The Spinodal Property Model calculates the spinodal line. See About the Spinodal Property
Model and Spinodal Property Model Settings for background information and input
parameter details.
T-Zero Temperature
The T-Zero Temperature Property Model calculates the so-called T0 line. See About the T0
Temperature Property Model and T0 Temperature Property Model Settings for background
information and input parameter details.
Yield Strength
The Yield Strength Property Model calculates yield stress. It returns the calculated yield
strength at room temperature for the specified material using the equilibrium values
calculated at a particular temperature and by further defining the following contributions to
the total yield stress: precipitation strengthening, solid solution, grain boundary
strengthening, and constant addition of strength. See About the Yield Strength Property
Model and Yield Strength Property Model Settings for background information and input
parameter details.
Calculation Types
About the Uncertainty Calculations and Heat Map, Contour and 3D Plots
Website
For videos about the Property Model Calculator, go to our website.
YouTube
You can also go to YouTube channel to review the available training videos.
Subscribe to the channel to be updated when new videos are added. Also see the
video introduction to the Property Model Calculator.
The General Models are available to all users. To run calculations with the
Steel Models (as part of the Steel Model Library) requires a valid maintenance
license plus licenses for both the TCFE (version 9 and higher) and MOBFE
(version 4 and higher) databases. See Properties that Can Be Calculated on our
website for more information.
These Steel Models are available with the Property Model Calculator. The following are
available with the Steel Model Library.
Bainite
The Bainite Property Model describes the thermodynamics and isothermal kinetics of
bainite transformation from austenite. In this Model, bainite is modeled as ferrite or a
ferrite-cementite mixture.
See About the Bainite Property Model and Bainite Property Model Settings for background
theory and input parameter details. Also see Steel Library TTT Diagram Template and Plot
Settings: TTT Mode.
Martensite Fractions
The Martensite Fractions Property Model calculates the fraction of athermal martensite
based on available driving force.
See About the Martensite Fractions Property Model and Martensite Fractions Property
Model Settings for background theory and input parameter details.
Martensite Temperatures
The Martensite Temperatures Property Model calculates the martensite start (Ms)
temperature based on modeling of the transformation barrier. Martensite half and finish
temperatures are also given according to the Martensite Fractions Property Model.
See About the Martensite Temperatures Property Model and Martensite Temperatures
Property Model Settings for background theory and input parameter details. Also see Steel
Library TTT Diagram Template and Plot Settings: TTT Mode.
Pearlite
The Pearlite Property Model calculates the thermodynamics and kinetics of pearlite
formation from austenite during isothermal heat treatment.
See About the Pearlite Property Model and Pearlite Property Model Settings for background
theory and input parameter details. Also see Steel Library TTT Diagram Template and Plot
Settings: TTT Mode.
Steel Models are only available if you have a license for the Steel Model
Library. If you are interested in learning more about the available models,
go to our website.
A tab with the same name as the Property Model opens in the right side of the
window under Condition Definitions. When you select more than one Model, a
matching tab is added in the same order that the check box is selected.
3. Enter the settings described in Configuration Window Settings and for each
Calculation Type (Single, Grid, Min/Max, and Uncertainty).
4. For each Model on the Configuration tab, select or enter settings as required.
When working in the Configuration window, click the Description tab for
more information about the Model. When the Property Model is not
encrypted, or it is a user-defined Property Model, there is also a Python
5. Once you have finished defining the Property Model Calculator, you also choose
settings on the Plot Renderer.
An example of the Configuration window settings when using a Phase Transition Model and an
Uncertainty calculation type.
Composition unit
Choose a unit: Mass percent, Mole percent, Mass fraction or Mole fraction.
Condition Definitions
Choose a unit (Kelvin, Celsius or Fahrenheit) and then enter a value for the Temperature
and Composition for each component.
The values entered in Condition Definitions are used as the start values for the different
calculation types.
For links to each Model with the settings details, see About the Property Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Calculation Type
Choose a calculation type: Single (no axes), One axis, Grid, Min/Max or Uncertainty.
l Select Single to calculate a single point. Any model can use this calculation type and
no additional settings are required. The results from this calculation are displayed in
the Event Log or if a Table Renderer is used, in the Results window.
l The Min/Max calculation evaluates the Property Model(s) for all variations of the
selected quantities at the given limits. The Mean field is as defined under Condition
Definitions for the respective quantity. The total minimum and maximum of the
model(s) results are shown in the Event log.
l The Uncertainty calculation evaluates the Property Model(s) where the values of the
quantities are sampled from Gaussian distributions. The Mean field is as defined
under Condition Definitions for the respective quantity. The result is visualized as a
histogram or normal probability plot by adding a Plot Render activity.
Axis Definition
For One axis, select a Quantity to vary along the X-axis, for example, Temperature then
enter a Min, Max and Number of steps.
Grid Definitions
For the Grid calculation type, define the two axes variables using the fields and menus:
Quantity, Min, Max and Number of steps. The number of steps along with the minimum
and maximum values for the axes define a grid. For each grid point the selected models are
evaluated.
For a Grid, on the Plot Renderer, you can choose to plot a Heat map, Contour or
3D diagram.
Min/Max Definitions
For the Min/Max calculation type, click to select the applicable check boxes under Quantity
to enable or disable an axis. The Mean field is as defined under Condition Definitions for
the respective quantity.
Enter numerical values in the ΔMin/Max fields to evaluate the change to the quantity. The
highest and lowest value of each selected model results are shown in the Event Log.
Sampling Parameters
For the Uncertainty calculation type, choose a number of Standard deviations where you
want to Truncate the distribution. Choose the Total number of samples.
Diffusion Calculator
The Diffusion Calculator is available with three elements if you do not have the
additional Diffusion Module (DICTRA) license. With the Add-on Module you can
use all available elements as per the licensed database selected. See Available
Graphical Mode Features for details.
A Diffusion Calculator allows you to set the conditions for, and perform, a diffusion
calculation. You can add the calculator to the System Definer directly (right-click and select
it from the Create New Successor menu) or use the Diffusion Simulation template.
Once you have added a Diffusion Calculator, the Configuration window has these settings
tabs:
l Conditions: Set the conditions for your calculation that define the geometry, regions,
phases, grids, composition profiles and the thermal profile.
l Options: Modify the simulation conditions such as the choosing the default solver
(automatic or homogenization) and the time integration method. Also define the
time step controls and if you choose homogenization as the solver, define further
settings such as the interpolation scheme and whether to use global minimization or
not.
If you are using the Diffusion Module in Demo Mode, see Demonstration
(Demo) Mode for what is available to you. Even if you have a license, you may
find yourself in Demo Mode if you have a network license and all the licenses
are checked out.
When you first open Thermo-Calc in Graphical Mode, on the My Project window, click the
Diffusion Simulation button to add a System Definer, Diffusion Calculator and Plot Renderer
to the Project tree.
Click the Diffusion Simulation icon in the Templates window to add THESE NODES to the
Project.
Diffusion Calculator
A Diffusion Calculator allows you to set the conditions for your calculation that define the
geometry, regions, phases, grids, composition profiles and the thermal profile, plus
additional options. Many of the settings are automatically set as you define your system.
Details about this activity are described in Diffusion Calculator.
Demonstration (Demo) Mode
The Diffusion Module and some examples are available to all Thermo-Calc users but only for
simulations with three elements. If you do not have a license for then you are in Demo Mode
when using the Diffusion Calculator or Diffusion Simulation template.
When you are in DEMO mode, in the Templates area this is indicated by the text under the
logo.
DIFFUSION CALCULATOR
If you are experimenting with the Diffusion Calculator in Demo Mode, you may have access
to a variety of databases based on your license. However, you can only define three
elements for a demo simulation.
If you define more than three elements on the System Definer, when you go to the Diffusion
Calculator, the Perform button is unavailable and the tooltip explains why.
Even if you have more than three elements, the Plot Renderer Perform button is
still available. However, if you click the button and try to run the simulation the
Event Log displays an error message.
Working with diffusion simulations is an advanced topic. It is recommended you review the
Diffusion Module (DICTRA) documentation and videos available or search for a specific
topic.
1. Add a Diffusion Calculator node to the System Definer. If you used the Diffusion
Simulation template, click the node to display the Configuration settings window.
2. In the Diffusion Calculator Configuration window, enter the settings described in
Conditions Tab Settings and Options Tab Settings.
3. Once you have finished defining the Diffusion Calculator, you also choose settings on
the Plot Renderer. Some additional settings are specific to the Diffusion Calculator
Plot Renderer.
These are the settings available from the Conditions tab. To edit the defaults for some
settings, go to Tools → Options → Graphical Mode → Diffusion.
General
Composition Unit
Choose from Mass percent, Mole percent, Mass fraction or Mole fraction.
Length Unit
Choose m, μm or nm.
Geometry
Choose Planar, Spherical or Cylindrical. For Cylindrical, also enter a value for the First
interface position .
With a cylindrical or spherical geometry, the system’s zero coordinate (left boundary) is at
the centre of the cylinder or sphere. The highest coordinate (right boundary) is defined by
the cylinder or sphere radius.
Region Settings
Name
Enter a Name for the region in the field. For example, enter Austenite. This name is
automatically updated on the tab and above the grid points graphic. You can also double-
click the tab to enter the name.
Width
Enter a numerical value in the Width field. The unit is the one selected for the Length unit.
Points
Enter a numerical value in the points field. The default is 50.
Phase
Choose a Phase from the list. The available options are defined in the System Definer. At
least one phase that dissolves all system elements must be selected.
Click the Add quantity or Remove quantity buttons as required.
Composition Profile
Click Edit to open the Initial Composition window.
Select a Dependent component for which the composition does not need to be given. The
available options depend on the phase description.
For each Component choose one of these options:
You can use the standard Jython math library but you must prefix these
functions with the text "math" For example: 10 + math.sin(x*2). The
Jython math library is available here:
http://www.jython.org/docs/library/math.html.
l The error function erf(X) is also available in the Jython math library and can
be called with math.erf(x).
l Another useful function is the Heaviside step-function hs(X). For example,
3+2hs(x-1e-4) provides a concentration of 3 at the left side and 5 at the
right side with a sharp step in the concentration profile at 1e-4m=100mm.
Boundary Conditions
Boundary conditions are conditions that define how matter behaves at the boundaries of
your system. By default, matter is not allowed to cross the system boundaries.
You can change the setting for both the lower boundary (left side/centre) and the upper
boundary (right side/surface) of the system.
The boundary condition settings are done on the Diffusion Calculator. The following
describes the options available for the Left boundary and Right boundary conditions.
Closed system
By default it is a Closed system. Choose Mixed zero flux and activity or Composition if the
system is not closed. Corresponds to a fix flux value, which is set to zero at all times. This is
the default boundary condition.
Composition
Allows the user to set a fix composition at the boundary.
Thermal Profile
Isothermal
Use an Isothermal calculation type to do a diffusion simulation at constant temperature.
Choose a unit of measurement and enter a numerical value for the Temperature and
Simulation time.
Non-isothermal
Use a Non-isothermal calculation type to do a diffusion simulation with a user-defined
temperature profile. Select a Temperature unit and Time unit from the lists. Enter a
numerical value for the Simulation time.
Click Edit thermal profile to enter thermal profile Temperature and Time coordinates into
a table. A minimum of two points is required. You can also Import to add your own Thermal
profile from a text file in *.xls, *.xlsx, or *.csv formats.
EDIT THERMAL PROFILE WINDOW
This image is from example D_04: Diffusion Fe-C Moving Boundary Austenite to Ferrite.
You can edit the defaults for some of these settings by going to Tools →
Options → Graphical Mode → Diffusion. Also see Global Settings: Diffusion
Calculator.
Simulation Conditions
DEFAULT SOLVER
Automatic or Homogenization.
The homogenization solver (called the homogenization model in Console Mode) is useful
when you want to simulate long-range diffusion through a multiphase mixture, under the
assumption that local equilibrium holds at each node point.
Suffixes
Timestep Control
Timestep
Enter values in the fields.
l Initial. What is used as the initial time step. The default is 1.0E-7.
l Smallest allowed. The smallest time step allowed during the simulation. This is
required when using the automatic procedure to determine the time step. The
default is 1.0E-7.
l Max % of simulation time. The default is 10.
Factor specifying the maximum increase in the time step taken from one
time step to another
For example, if 2 is entered the maximum time step is twice as long as the previous time
step taken.
Enter a value in the field. The default is 2.
Activity or Potential
Use the [activity or potential] of a component in order to find the correct tieline at the
phase interface.
Determines whether the program should use the potential or the activity of a component in
order to find the correct tie-line at the phase interface. The potential or the activity is varied
by the program and is set in order to reduce the degrees of freedom at the local
equilibrium.
Homogenization Function
Several functions are available. The default is Rule of mixtures (upper Wiener bound). See
About the Homogenization Functions.
Interpolation scheme
When the homogenization model is used, simulations are run using an implicit finite volume
method to increase numerical stability. Because of this, and other factors, homogenization
model simulations generally run slower than other comparable simulations. You can reduce
simulation time with the Use Interpolation scheme check box. The check box is selected by
default.
Discretization
[Logarithmic or Linear] discretization with [number of] steps in each dimension.
l For the linear discretization the scheme is not used at node points where the content
of one or more solutes fall below a certain critical value. For such cases, where
composition span many orders of magnitude, the logarithmic discretization can be
tried.
l Enter the number of steps in composition space. In the limit where an infinite
number of steps are used, exactly the same solution is obtained as without the
interpolation scheme. However, excellent results can be obtained with a reasonable
discretization. The default is 10000 steps.
Memory to use
This is the fraction of free physical memory to be used by the interpolation scheme.
Select Megabyte or Fraction of free and then enter a value in the field.
The geometrical interpretation of the Wiener bounds are continuous layers of each phase
either parallel with (upper bound) or orthogonal to (lower bound) the direction of diffusion.
The labyrinth factor functions implies that all diffusion takes place in a single continuous
matrix phase. The impeding effect on diffusion by phases dispersed in the matrix phase is
taken into account by multiplying the flux with either the volume fraction (Labyrinth factor f
with prescribed matrix phase), or the volume fraction squared (Labyrinth factor f**2 with
prescribed matrix phase), of the matrix phase.
The varieties with excluded phases are useful in several respects. First, if a phase is
modelled as having zero solubility for a component, the mobility of that component in that
phase is undefined, which causes a (non-terminal) error. Setting a phase as excluded causes
the mobility of all components in that phase to be set to zero. Second, often there are some
major matrix solid solution phases and some minor precipitate phases. If the mobilities in
the minor precipitate phases are zero the lower Hashin-Shtrikman bound is useless as it
produces a kinetic coefficient of zero. However, using General lower Hashin-Shtrikman
bound with excluded phase(s) the excluded phases are not considered when evaluating what
phase has the most sluggish kinetics.
Graphical Mode
In Graphical Mode, you pause and resume when you are on the Diffusion Calculator
Configuration window. When pausing a Diffusion Calculator calculation, you can make
changes to the left and right boundary conditions and to the simulation time. This is useful,
for example, when simulating carburization, where it is common to first have a step with
high carbon activity in the furnace for the actual carburization, and then lower it and allow
the carbon in the specimen to diffuse without further increased carbon content.
This is also available for the Precipitation Calculator (but not any other
calculators). See Pause, Resume and Cancel Precipitation Calculations.
1. Run the job (i.e. click Perform Tree). In the Scheduler, you can see the job listed and
in the Event Log you can follow the progress of the calculation.
4. As required, make changes to the Left Boundary Condition and Right Boundary
Condition settings and/or to the Simulation time. The rest of the Configuration
window settings are grayed out and no other editing can be done while paused.
5. When ready, click Continue to resume your calculations from the last time step or
click Discard to discard the calculation (then click Yes or No on the window that
opens).
l In the Scheduler window, right-click the job you want to cancel and select Cancel
Job.
Console Mode
In response to a command or a lengthy calculation, Thermo-Calc may display a lot of text in
the Console window. Use these keyboard shortcuts to pause, resume or stop a process.
Precipitation Calculator
The Precipitation Calculator is available with three elements if you do not have
the additional Precipitation Module (TC-PRISMA) license. With the Add-on
Module you can use all available elements. See Precipitation Module: Available
Graphical Mode Features for more information.
A Precipitation Calculator allows you to set the conditions for, and perform, a precipitation
calculation. You can add the calculator to the System Definer directly (right-click and select
it from the Create New Successor menu) or use the Precipitation Simulation template.
Once you have added a Precipitation Calculator, the Configuration window has these
settings tabs where there are many available conditions to set:
l Conditions: Set the conditions for your calculation that define the Matrix phase and
Precipitate phase. Choose the Calculation Type.
l Options: Modify Numerical Parameters that determine how the conditions are
calculated.
There are also unique settings available for this calculator once you add a
Precipitation Calculator Plot Renderer.
Demonstration (Demo) Mode
When you first open Thermo-Calc in Graphical Mode, on the My Project window, click the
Precipitation Simulation button to add a System Definer, Precipitation Calculator and Plot
Renderer to the Project tree.
Click the Precipitation Simulation button in the templates section to add these nodes to the
Project.
Precipitation Calculator
A Precipitation Calculator allows you to set the conditions for, and perform, a precipitation
calculation.
If you are using the Precipitation Module in Demo Mode, see Demonstration
(Demo) Mode to learn more.
Demonstration (Demo) Mode
The Precipitation Module, and some examples, are available to all Thermo-Calc users but
only for simulations of alloys with up to three elements. If you do not have a license for the
Precipitation Module then you are in Demonstration Mode when using the Precipitation
Calculator or Precipitation Simulation template.
When you are in DEMO mode, in the Templates area this is indicated by the text under the
logo.
PRECIPITATION CALCULATOR
If you are experimenting with the Precipitation Calculator in Demo Mode, you may have
access to a variety of databases based on your license. However, you can only define up to
three elements for a demo simulation.
If you define more than three elements on the System Definer, when you go to the
Precipitation Calculator, the Perform button is unavailable and the tooltip explains why. In
this case one of the chosen elements needs to be removed and then the Perform button is
made available.
Even if you have more than three elements, the Plot Renderer or Table
Renderer Perform button is still available. However, if you click the button and
try to run the simulation the Event Log displays an error message.
1. Add a Precipitation Calculator node to the System Definer. If you used the
Precipitation Simulation template, click the node to display the Configuration
settings window.
2. In the Precipitation Calculator Configuration window, enter the settings described in
Conditions Tab Settings. Additional advanced options settings are also available and
described Option Tab Settings.
3. Once you have finished defining the Precipitation Calculator, you also choose settings
on the Plot Renderer. Some additional settings are specific to the Precipitation
Calculator Plot Renderer.
You can change these settings locally for a specific Precipitation Calculator or
globally for some defaults in the Options settings. To open the Options window:
From the main menu select Tools → Options. Click the Graphical Mode tab
then click Precipitation.
COMPOSITION UNIT
Choose from Mass percent, Mole percent, Mass fraction or Mole fraction.
MATRIX PHASE
Phase
Only phases with kinetic data can be selected as the matrix phase. If the list is
empty, go to the System Definer to confirm that both thermodynamic and
kinetic databases are selected and defined.
Choose a Phase from the list. The list is based on the settings for the System Definer. When
setting up a system, choose a matrix phase with kinetic data available in the database.
Elastic properties
Choose Disregard to ignore the elastic properties.
Default elastic constants for Isotropic or Cubic are based on the major element of the alloy
system. The elastic properties can affect nucleation rate, nuclei size, and particle shape.
l For Isotropic, enter values for Shear modulus (in GPa) and Poisson's ratio as
required.
l For Cubic, enter values for c11, c12 and c44 as required. are the elastic
constants.
Molar volume
Use the Database value (if the molar volume for the phase is defined in the thermodynamic
database) or select User-defined to enter another value.
Grain size
Grain size is the "diameter" of a grain. The Grain size value changes the available nucleation
sites when Grain boundaries, Grain edges, or Grain corners is selected along with
Calculate from matrix settings in the Precipitate Phase. Enter a numerical value and choose
a unit from the list. The default is 1.0E-4 m.
boundaries, Grain edges, or Grain corners is selected along with Calculate from matrix
settings in the Precipitate Phase. Enter a numerical value. The default is 1.0.
Dislocation density
The Dislocation density value changes the available nucleation sites when Dislocations is
selected along with Calculate from matrix settings in the Precipitate Phase. Enter a
numerical value. The default is 5.0E12 m-3.
PRECIPITATE PHASE
Phase
The phases available to choose have both thermodynamic and kinetic data. If
the list is empty, go to the System Definer to confirm that both types of
databases are selected and defined.
Choose a Phase from the list. The list is based on the System Definer settings.
Nucleation sites
The number of different nucleation sites is dependent on the shape and size of grains in the
matrix. Grain size is the "diameter" of a grain. Choose one of the following from the list.
Click to select the Calculate from matrix settings check box if you want to calculate the
number density of sites from the matrix grain size or dislocation density.
To enter a specific value for the number of Nucleation sites, deselect the check box.
Interfacial energy
Choose Calculated to use the estimated value. To adjust the estimate, enter a different
prefactor or choose User-defined to enter a value in J/m2. For the User-defined option, you
can also enter it as a function of radius (r) and temperature (T).
Morphology
Choose the particle shape: Sphere (default), Cuboid, Plate or Needle. Options are based on
the Elastic properties selected for the Matrix phase:
For Plate or Needle, select the Calculate aspect ratio from elastic energy check box or
enter a numerical value in the Aspect ratio field to provide a constant aspect ratio.
Figure 2: The cuboid shape is described by a supersphere. Cuboids have six faces, which form a
convex polyhedron.
Figure 3: The plate is described as oblate spheroid. Oblate spheroids have rotational symmetry
around an axis from pole to pole.
Figure 4: The needle shape is described as prolate spheroid. A prolate spheroid is a surface of
revolution obtained by rotating an ellipse about its major axis.
Transformation strain
Choose Disregard to ignore the transformation strain. When Isotropic or Cubic is chosen in
Elastic properties in Matrix Phase, you can also choose Calculated from molar volume to
obtain a purely dilatational strain. If Plate or Needle is selected as the Morphology, you
can alternatively choose User-defined and enter the properties for ε11, ε12, ε13, ε22, ε23,
and ε33.
Molar volume
Use the Database value (if the phase molar volume is defined in the thermodynamic
database) or select User-defined to enter another value.
Press F1 and search for "Particle Size Distribution (PSD)" for detailed instructions.
CALCULATION TYPE
Isothermal
Use an Isothermal calculation type to do a precipitation simulation at constant temperature.
Choose a unit of measurement and enter a numerical value for the Temperature and
Simulation time.
Non-isothermal
Use a Non-isothermal calculation type to do a precipitation simulation with a user-defined
temperature profile. Select a Temperature unit and Time unit from the lists. Enter a
numerical value for the Simulation time.
Click Edit thermal profile to enter thermal profile Temperature and Time coordinates into
a table. A minimum of two points is required. You can also Import to add your own Thermal
profile from a text file in *.xls, *.xlsx, or *.csv formats.
TTT diagram
Use a TTT-diagram to calculate the time-temperature-transformation (TTT) curve for the
formation of the precipitate phase.
l Temperature: Enter Min, Max, and Step numerical values and choose a
temperature Unit.
l Max annealing time: Enter a numerical value and choose a time Unit.
CCT diagram
Use a CCT-diagram to calculate the continuous-cooling-transformation (CCT) curve for
precipitation.
l Temperature: Enter Min and Max numerical values and choose a temperature Unit.
l Cooling rate(s): Enter a range of values in the field, e.g. .01 .1 1 10 100. These
values are equal to K/s, °C/s or °F/s per second based on the temperature Unit
selected.
l Stop criteria: Enter a numerical value for the Volume fraction of phase. For each
temperature, the simulation stops when the stop criteria is fulfilled.
1. To the right of the Precipitate Phase settings fields, click Show details.
3. Click Edit particle size distribution to open the window as shown for example P_10.
1. Under Compositions, choose a Dependent component from the list and enter the
composition for the other component.
2. Under Size Distribution define the following:
a. Choose a Length unit: m, μm, or nm.
b. Choose a Distribution: LSW (Lifshitz-Slyozov-Wagner), Normal, Log normal
or From file. You can also manually enter numbers into the table instead of
importing a file.
You can change these settings locally for a specific Precipitation Calculator or
globally in the Options settings. To open the Options window: From the main
menu select Tools → Options. Click the Graphical Mode tab then click
Precipitation.
NUMERICAL PARAMETERS
Configuration window.
1. Run the job (i.e. click Perform Tree). In the Scheduler, you can see the job listed and
in the Event Log you can follow the progress of the calculation.
3. In the Configuration window at the bottom, click Pause. If there are intermediate
results available these will be listed in the Event Log.
4. When ready, click Continue to resume your calculations from the last time step or
click Discard to discard the calculation (then click Yes or No on the window that
opens).
To Cancel a Job
l In the Scheduler window, right-click the job you want to cancel and select Cancel
Job.
Plot Renderer
The Plot Renderer is where you define the settings and output results in a diagram that
displays in the Results window. The available Plot Renderer settings are based on the System
Definer and/or calculator activity node predecessors such as the Equilibrium, Scheil, Binary,
Ternary, and Property Model Calculators. Setting availability is also determined by the
calculation type as well as if you have the add-on Diffusion, Precipitation, or Process
Metallurgy Modules. If you used any of the templates, the Plot Renderer is automatically
added to the Project tree.
Configuration Settings
There are additional details for more advanced settings and the Add-on Modules:
Plot Toolbar
Setting/Button Description
Save Diagram Save the plot diagram. From the Save window, choose the file type–png (the default), jpg, ps, pdf, gif,
svg, or emf. For PNG and JPG files you can also change the image quality.
Show
Triangular
Display the diagram in triangular form, with the X-axis along the base and the Y-axis along the left side.
Such a diagram is often useful if you want to plot the fractions of two components in a ternary diagram.
Show Grid
Overlay a grid on the diagram.
Switch Axes
Show the plotting X axis variable on the diagram’s Y-axis, and the Y axis variable on the diagram’s X-axis.
Retain Labels Toggle the default to keep labels displaying on the plot. By default labels are retained.
Setting/Button Description
Configuration Settings
Working with Plots and Tables
The following is an example of the Configuration window for a Plot Renderer that is the
successor to a Property Model Calculator. For some specialized calculators there is
additional functionality available and described with the individual topics.
Also see Working with the Process Metallurgy Module for additional detail for the
Process Metallurgy Calculator.
Grid
If you choose a Grid Calculation Type, select a Plot type and whether to Interpolate the
data or not. With these calculation types you can choose to plot a Heat map, Contour or 3D
diagram. See Heat Map, Contour and 3D Plots.
For a Grid the X- and Y-axes always represent the quantities that define the calculation axes,
but you need to set a variable for the Z-axis (the axis perpendicular to the plane defined by
the X- and Y-axes).
Uncertainty
For an Uncertainty Calculation Type, you choose an Axis type: Frequency, Histogram or
Normal probability.
There are different axis types available such as Linear, Logarithmic, Logarithmic 10, and
Inverse.
Settings
The options along the top of the window are available for many of the calculation types (e.g.
Phase diagram, One-axis, Min/Max, Uncertainty and so forth).
Tie-lines
Select how many tie-lines to be plotted in the diagram. Every nth number of tie-line is
plotted, where n is the number set here. Consequently, the higher the number, the fewer the
number of plotted tie-lines in the diagram.
Legend option
Select whether the diagram’s legend displays the Stable phases, the Axis quantity, or
choose Off for no legend.
Legend style
You can select a Legend style for the Stable phases or Axis quantity selected for Legend
option. Choose None, All, Constitution description, or Ordering description.
l Use Grouped mode to add and configure groups of axis quantities at the same time
and of the same type. For example, change units or settings in groups with similar
settings like temperature units or axis types.
l Use Flexible mode to individually add and configure axes quantities and change the
units or other associated settings one at a time.
l On a Heat map diagram, each Z-axis variable value in the grid is represented by a
colour-coded area, where dark red represents the highest Z-axis variable value and
dark blue represents the lowest Z-axis variable value.
l On a Contour diagram, Z-axis variable values are traced with curves in the same
way that height values are traced with curves on a topographical map. The colors
used originate from the different data series.
l On a 3D diagram, the 3D surface is created by Delaunay tesselation of the calculated
data. The surface uses a cold to warm color map where red represents the highest Z-
axis variable value and blue represents the lowest Z-axis variable value. The color
map color legend can be turned on or off with the legend option.
Interpolate (Grid)
From the Interpolate list, choose to interpolate data Never (the default), Once, Twice or 3
times. This means points are put in between calculated points in the grid and interpolated
instead of calculated in the calculation engine.
Choose how many points of data to interpolate to improve curve smoothness – Never,
20x20, 50x50, or 100x100. Try different settings for your own set of data.
Axis variable
Set the state variable you want plotted along the X-axis and the Y-axis.
Axis type
Select the type of axis scale: Linear, Logarithmic, Logarithmic 10 or Inverse.
Automatic scaling
The Automatic scaling check box is selected by default to allow the program to set the
limits.
Limits
This setting is available when the Automatic scaling check box is cleared (the scaling is
turned off).
Enter the lower and upper Limits of the variables to display on the axis. You can also
determine the step size between the tick marks along each axis.
If the Automatic scaling is turned off (i.e. the check box is not selected) then it
is important to enter a large enough number in the step field for the numerical
values to display correctly on the axis. That is, if the step size is too small, the
program ignores this setting and the axis labels will not be as expected.
For logarithmic axes, the step size is related to the exponent. For example, if the
step entered is 1.0, then the exponent increases by one each time (10-9, 10-8,
10-7 and so forth).
Contour values and Use custom contour values (Z-axis, contour plots).
The Use custom contour values check box is available when Contour is selected as the Plot
type. Select this check box to enter one or a series of numbers in the Contour values field.
Numbers can only be separated by a space.
Plotting Options
References and equations for these properties are described in Process Metallurgy
Slag Properties.
This mode is available with the Steel Model Library, which requires specific
maintenance and database licenses. See About the Steel Model Library Property
Models.
Use TTT mode to define the Temperature on the y-axis and Time on the x-axis for all
selected quantities.
The TTT mode is available for a Plot Renderer when it is a successor to a Property Model
Calculator and the following requirements are met:
l You are using at least one of these Steel Model Library Property Models—
Martensite Temperatures, Pearlite, or Bainite.
l A One axis Calculation Type is selected on the Property Model Calculator with
Temperature as the axis quantity used for the Plot Renderer.
An example of when to use TTT mode is to configure the Temperature Unit and Axis type at
the same time for both the Ms and Start/Half/Finish time quantities. This mode is available
when both time and temperature quantities are selected and set up to plot a Time-
Temperature-Transformation (TTT) diagram.
When you add the Steel Library - TTT Template this mode is set by default on the Plot
Renderer (renamed TTT in the template). It is also available if a user-defined Property
Model has both Time and Temperature quantities defined, for example if you create your
own Property Model with TC-Python. That is, if you select or create any model where the
resulting combination of stepping-quantity and result-quantities has both time and
temperature definitions.
The following is information about the settings available in both Simplified and Advanced
mode for a Plot Renderer when it is a successor to a Diffusion Calculator.
Simplified Mode
When you open the Diffusion Calculator Plot Renderer, it defaults to Simplified mode. Use
this mode to define the most common axis variables. The software automatically sets the
correct Plot condition and Independent variable. Use the Advanced mode to have more
flexibility.
When you click the Switch to advanced mode button, this expands the variable
options available from both the X-axis and Y-axis lists. Otherwise the axis
variables default to the most logical combination.
x-axis Variable
Select the variable for the x-axis: Distance or Time.
l For Distance also choose a unit (m, μm, or nm) and what region to include. The list
contains the regions defined on the Diffusion Calculator or you can choose All
regions.
l For Time choose a unit (Seconds, Minutes, Hours, or Days).
y-axis Variable
Select the variable to plot on the y-axis. The available options are based on choices such as
whether Distance or Time is chosen for the x-axis, whether isothermal or non-isothermal is
selected, whether there is a homogenization solver, or if there is one or more regions.
Axis Type
Select the type of axis scale: Linear, Logarithmic, Logarithmic 10 or Inverse.
Limits
Specify the range along the axis to show in the plot. In the fields, enter the minimum and
maximum values of the axis variable. You can also determine the step size between the tick
marks along each axis.
Select the Automatic scaling check box to allow the program to set the limits.
Time
When the x-axis variable is Distance, choose a Time unit (Seconds, Minutes, Hours, or
Days). Enter a numerical value.
Advanced Mode
Choose Advanced mode to access settings that enable you to manually select any
combination of axis variables, Plot condition and Independent variable. Examples of
advanced plot options are activity of a component at an interface, diffusivities, and diffusion
paths. Also user-defined functions can be used as plot variable where Console Mode syntax
is used to define functions. In some cases, sensible default values are selected, but they can
be changed according to your needs.
Integral You can also choose a Global or LocalDistance. A Global distance is counted from
the rightmost interface of the system. A Local distance is counted from the lower
interface of the Region selected.
The following is information about the settings available for a Plot Renderer when it is a
successor to a Precipitation Calculator.
There are also specific settings related to non-isothermal simulations that are detailed in
this topic.
Plot Settings
Legend option
Select whether the diagram’s legend displays On or Off.
Axis variable
Set the state variable you want plotted along the X-axis and the Y-axis. The available
variables in the list are based on how your system is set up.
Below are additional details related to the Axis variable chosen.
Yield Strength
If you choose Yield strength, you can further define the model. From the Total yield
strength drop down list, select any or all the check boxes to plot the respective contributing
elements to the yield strength. You can click Configuration panel to fine tune the model.
These options are described for the Yield Strength Property Model Settings. The greyed out
sections (e.g. the Matrix and Precipitate phases) are defined on the Precipitation Calculator
and cannot be changed.
Axis type
Select the type of axis scale: Linear, Logarithmic, Logarithmic 10 or Inverse.
Limits
Specify the range along the axis to show in the plot. In the fields, enter the minimum and
maximum values of the axis variable. You can also determine the step size between the tick
marks along each axis.
Select the Automatic scaling check box to allow the program to set the limits.
Axis Variables
l Mean radius: Spherical radius of average volume of all particles for a specific phase
and nucleation type, regardless of their actual shapes.
l Critical radius: Spherical radius of critical nuclei for a specific phase and nucleation
type.
l Yield strength: To use the Yield Strength Property Model to calculate yield stress. For
more information see About the Yield Strength Property Model.
l Matrix composition: Instantaneous compositions of the matrix phase.
l Precipitate composition: To track the instantaneous composition of precipitate
particles. In particular, it is useful to distinguish different composition sets of the
same phase (for example, FCC_A1#2 and FCC_A1#3). Further choose Solutes or All.
l Number density: Instantaneous number of particles per unit volume for a specific
phase and nucleation type.
l Size distribution: Number of particles varying with their sizes per unit volume per
unit length, for a specific phase and nucleation type, at a specific time.
l Number density distribution: Retrieve the number density (number of particles per
unit volume) of precipitates distributed in different particle sizes.
l Volume fraction: Instantaneous volume fraction for a specific phase and nucleation
type.
l Nucleation rate: Instantaneous number of nuclei per unit volume per unit time for a
specific phase and nucleation type.
l Normalized driving force: Instantaneous nucleation driving force per unit mole of
elements for a specific phase and nucleation type. It is normalized with RT and
therefore, dimensionless.
l Mean cubic factor: Average cubic factor of cuboid particles. Available only when
cuboid is selected as the Morphology.
The following settings area available as indicated when Needle, Plate or Cuboid are
selected as the Morphology in the Precipitate Phase section on the Precipitation Calculator.
l Cubic factor distribution: Variation of cubic factor with particle size at a specific
time. Available with a cuboid morphology.
l Mean aspect ratio: Average aspect ratio of non-spherical particles. Available with a
needle or plate morphology. Note that this is always larger than 1, where 1 = a
sphere.
l Mean particle length: Diameter of non-spherical particles along the longer axis.
Available with a needle or plate morphology.
l Aspect ratio distribution: Variation of aspect ratio with particle size at a specific
time. Available with a needle or plate morphology.
Non-Isothermal Simulations
When doing non-isothermal simulations it is common that particles grow in different
generations. This results in multi-modal size distributions. To correctly estimate the
properties of these different generations of particles you need to separate the peaks of
multi-modal distributions.
l Mean radius
l Size distribution
l Number density
l Volume fraction
Points
This field is available when Mean radius, Number density or Volume fraction is selected as
the Axis variable. Since the evaluation of multi-modality at each time step is costly, you can
specify how many evaluation Points to use. The points are geometrically distributed over
the time scale where nucleated particles are found. The default is 40 points.
Time
This field is available when Size distributionor Number density distribution is selected as
the Axis variable. Enter one or a series of numbers in the field, separated by a space.
For example, if you enter 100.0, 1000.0 and 1.0E7 in the field:
Excess Kurtosis
The Excess kurtosis number specifies the sensitivity when the program evaluates whether a
curve is bimodal or not. The evaluation process calculates the excess kurtosis of the given
size distribution and compares it with the input value. If the value is lower than the given
value, the distribution is split. The excess kurtosis is a statistical measure that measures how
peaked and how heavy tail a distribution has. For the definition used see
http://en.wikipedia.org/wiki/Kurtosis. The default is 25.0.
Minimum Peak
Any separated peak below the entered Minimum peak value is removed. The default is
100000.0.
Table Renderer
A Table Renderer visualizes calculation results in a table. Several Table Renderer activities
(as well as Plot Renderer activities) can be shown in the Results window as different tabs.
You can add the Table Renderer directly (right-click a calculator node and select it from the
Create New Succesor menu) or use a variety of the available templates to automatically
add the node. For example, the Single Point Equilibrium and Quick Start templates.
For details about the templates, seeThe Quick Start Wizard and Templates and
Creating a Project from a Template.
You can only successfully tabulate the results of a single equilibrium calculation or a
stepping operation. The tabulated data from an equilibrium calculation is different from the
tabulated data from a stepping calculation. Examples are given below.
For each stable phase listed, from the Composition and constitution menu you can select
the information to view. In this example, the maximum amount of information is shown and
includes details about both composition and constitution for BCC_A2#1.
The default for the Phase description detail can be changed globally. To open
the Options window:From the main menu select Tools → Options and click the
Activities tab. Then click Tabulation.
For the activities in the table, you can hover over the Component and the syntax of the
activity displays.
An example of the variable results when yield strength is chosen as the Axis variable for a Table
Renderer that is a successor to the Property Model Calculator (top) or Precipitation Calculator
(bottom).
Configuration Settings
The Table Renderer settings are done on the Configuration window. Depending on what
calculator node the table is a successor to, you can have different settings available. For
most tables, this is where you set the level of detail for the columns as shown in the figure.
To copy the data from a single cell of a table to the clipboard, right-click the cell and select
Copy. To copy the whole table to the clipboard, select Copy all.
The data saved is what is shown in the Table Renderer tab on the Results
window. If data is calculated but not displayed it is not saved.
The defaults for these settings can be changed globally. From the main menu
select Tools → Options and click the Activities tab. Then click Tabulation.
Select the Slag properties check box and choose the associated quantity from the next drop-
down list: All, B2, B3, B4, Bas2, Bells ratio, Ls , or Log10 (Sulphur capacity).
Also choose In liquid slag only, In solid slag only or In all slag.
Select the Activity check box then from the first list choose a component (or keep the
default All). Then from the second drop-down list select Reference solid oxide or Reference
liquid slag.
The activity is always given relative to a phase. The liquid slag is always the IONIQ_LIQ
phase. The composition set of ION_LIQ depends on the calculation and the slag always
contains a high amount of oxygen. The reference phase for the solid oxides depends on the
components and it is always listed in the table.
Creating Activities and Successors and Plotting Experimental Data Files in the
DATPLOT User Guide included with this documentation set.
5. In the Configuration window click Perform or right-click the Plot Renderer node
and select Perform.
In this section:
In the coarsening regime where the driving force is capillarity, the change of mean particle
radius evolves according to the equation:
Following Morral and Purdy [1994, Morral], the rate constant of precipitating β phase in a
multicomponent α phase is
The mobility matrix M is not the same as the mobilites that can be obtained directly from
the Diffusion Module (DICTRA). The M matrix instead corresponds to the L’’ matrix as
defined by Andersson and Ågren [1992, Andersson].
Using the u-fractions that is defined as
where the summation only is performed over the substitutional elements give the final
equation for the coarsening rate coefficient.
The interfacial energy σ is calculated using the extended Becker’s model (that also is
available as a separate Property Model Calculator model).
References
[1992, Andersson] J.-O. Andersson, J. Ågren, Models for numerical treatment of
multicomponent diffusion in simple phases. J. Appl. Phys. 72, 1350–1355 (1992).
Coarsening is a Property Model available when using the Property Model Calculator in
Thermo-Calc and it calculates the coarsening rate coefficient K (m3/s) of a spherical
precipitate phase in a matrix phase.
The output using this Model is the coarsening rate coefficient [m3/s] for the precipitate
phase and the interfacial energy [J/m2] between matrix and the precipitate phase.
This Model requires that the thermodynamic and kinetic databases used include
descriptions of molar volume of the matrix and precipitates as well as mobilities
for the matrix phase.
Configuration Settings
The settings are found on the Property Model Calculator when Coarsening is selected under
General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Matrix phase
Choose a Matrix phase.
Precipitate phase
Choose a Precipitate phase to calculate its coarsening rate. Click the Add phase button to
add another Precipitate phase. Click the Remove phase button to remove a phase.
The original model assumptions are from Clyne and Davis [1981 Clyne]. Later,
the experimental hot cracking susceptibility was collected from several sources
by Yan and Lin [2006 Yan] and given as a probability 0-100%. The CSC
calculated with the current model cannot be compared by absolute values with
the experimental number; instead it is best to compare the trends, to see if it is
increasing or decreasing. The experimental values are therefore given with
relative coordinates and do not map directly to the calculated plot axes.
The input parameters are entered on the Configuration window for the Property
Model Calculator and described in Crack Susceptibility Coefficient Property Model
Settings.
The Crack Susceptibility Coefficient (CSC) was originally proposed by Clyne and Davies
[1981, Clyne] to describe the effects of alloy composition on hot tearing. In Thermo-Calc, the
CSC is calculated using Scheil and uses assumptions of cooling rates under the thermal
conditions that the heat flow is proportional to .
l is the time during solidification where the casting is vulnerable to cracking, and
The values for and are given by the thermal condition, the Scheil results, and the input
parameters for the liquid fraction (defined on the Configuration window):
l Start of relaxation
l Transition to vulnerability
l Smallest for vulnerability
These liquid fraction parameters are elaborated on next using the results from a simulation
using the latest version of the TCS Al-based Alloy Database (TCAL7) and the alloy Al-0.9Cu-
10Mg-0.9Ni-12.2Si mass%.
Figure 5: The results of the thermal condition in Mode 3, fraction of liquid, including the addition of
lines and arrows to the plot for clarity. See the text for more detail.
Figure 6: A Scheil simulation result of the mole fraction solid phases vs temperature (°C). See the
text for more detail.
Following Clyne and Davies’ approach, the cooling rates were then estimated under three
different thermal conditions:
The crack index can then be obtained from the Scheil simulation results: fraction liquid vs T
curve and the thermal condition.
Figure 7 can be thought of as the 'master curve' for the connection between fraction of
liquid and fraction of time. The limits of the amount of liquid 0.01, 0.1, and 0.6 and the
corresponding fraction time are shown for each thermal condition. In Figure 5 , which is a
less cluttered plot, the time spent in the relaxation and in the vulnerable regions are marked
with lines and arrows for a single thermal mode.
Figure 7: The results of the thermal condition in Modes 1-3, the fraction of time vs the fraction of
liquid. See the text for more detail.
References
[1981 Clyne] T. W. Clyne and G. J. Davies, “The Influence of Composition on Solidification
Cracking Susceptibility in Binary Alloy Systems,” Br. Foundrym., vol. 74, pp. 65–73, 1981.
[2006 Yan] X. Yan and J. C. Lin, “Prediction of hot tearing tendency for multicomponent
aluminum alloys,” Metall. Mater. Trans. B, vol. 37, no. 6, pp. 913–918, Dec. 2006, doi:
10.1007/BF02735013.
The Crack Susceptibility Coefficient is a Property Model available when using the Property
Model Calculator in Thermo-Calc. The calculations use Scheil and assumptions of cooling
rates under three different thermal conditions:
Configuration Settings
These settings are found on the Property Model Calculator when Crack Susceptibility
Coefficient is selected under General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
For details about the Condition Definitions and Calculation Type settings, see
Configuration Window Settings
These parameters are the same as those used for the Scheil Calculator although
some setting names are slightly different.
Temperature Step
Click the Show advanced Scheil options check box to view this setting. Enter a
Temperature step for the Scheil simulation. Temperature step is given in the same unit as
the temperature in the Condition Definitions.
Global Minimization
Click the Show advanced Scheil options check box to view this setting. By default the
Global minimization check box is not selected. Click to select it to perform a global
minimization test when an equilibrium is reached. This costs more computer time but the
calculations are more robust.
Smallest Fraction
Click the Show advanced Scheil options check box to view this setting. The default
Smallest fraction is 1.0E-12. This is the value assigned to constituents that are unstable.
This default setting is used as a start value in the Scheil Calculator. During simulation, and if
there are convergence issues, the value can be decreased.
Liquid Phase
Click the Show advanced Scheil options check box to view this setting. The default in the
list is the LIQUID phase already defined in the chosen database.
See About the Crack Susceptibility Coefficient Property Model for more
background information about these parameters.
Thermal Mode
Select a Thermal mode for the solidification simulation:
Configuration Settings
The settings are found on the Property Model Calculator when Driving force is selected
under General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Matrix phase
Choose a Matrix phase, the single phase region to start in. Select 'Any phase' to use the
phases that take part of the initial equilibrium or choose a specific phase.
Precipitate phase
Choose a Precipitate phase to calculate its driving force.
This Property Model uses thermophysical properties that are included with
some Thermo-Calc databases such as the TCS Al-based Alloy Database (TCAL),
which is used in the two examples included with your installation. For more
information about the availability and the theory, see About Thermophysical
Properties Data Parameters and Electrical Resistivity and Thermal Conductivity
Models.
Configuration Settings
The settings are found on the Property Model Calculator when the Equilibrium with Freeze-
in Temperature Model is selected under General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Freeze-in Temperature
Enter a Freeze-in Temperature value in the field. The units match those selected under
Condition Definitions. This is the temperature where the equilibrium is calculated. The
default is 623.15 K (350 °C).
l For Global test preferred the minimization starts with a global test and if that fails it
runs full global minimization.
l For Local minimization preferred the minimization starts with a local minimization,
in case of failure it tries a global test and finally a full global minimization.
If you choose Local minimization only or Global minimization only, the program just tries
the one setting and gives up if it fails.
For general information about global minimization, see the topic related to the
Console Mode command, GLOBAL_MINIMIZATION.
Select the Account for GB scattering check box to evaluate as follows. The electrical
resistivity due to grain boundary (GB) phase scattering is evaluated as the scattering
constant times the total volume fraction of the grain boundary phases. The default value for
the constant has been found to be 4.83e-8 Ωm for aluminum alloys. The contribution to
thermal conductivity is assumed to be related to that of electrical resistivity, following the
Wiedemann-Franz law.
Matrix Phase
This setting is available when the Manual settings GB scattering check box is selected.
Choose a Matrix phase to use for estimating the amount of grain boundary (GB) phases. The
phases that are not matrix phase are assumed to be GB phases that contribute to the GB
phase scattering.
When you use this Model with the Property Model Calculator, it is the same
calculation result as when you are using an Equilibrium Calculator with the
Single equilibrium calculation type.
Configuration Settings
The settings are found on the Property Model Calculator when Equilibrium is selected under
General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Define additional Quantity Definitions and Function Definitions. All quantities that
normally can be obtained from an equilibrium calculation can also be obtained when
plotting the results, as well as the defined functions.
where is the coherent interfacial energy, is the number of atoms per unit area at the
interface, is the number of cross bonds per atomat the interface, is the coordination
number of an atom within the bulk crystal lattice, and is the energy of solution in a
multicomponent system involving the two phases being considered [1938, Becker].
Reference
[1938, Becker] R. Becker, Die Keimbildung bei der Ausscheidung in metallischen
Mischkristallen. Ann. Phys. 424, 128–140 (1938).
Interfacial Energy is a Property Model available when using the Property Model Calculator
in Thermo-Calc and is used to estimate the interfacial energy between a matrix phase and a
precipitate phase using thermodynamic data from a CALPHAD database. The approximation
model is based on Becker's bond energy approach and is also available in Precipitation
Module (TC-PRISMA).
In the actual calculation, the coefficients taken distinguish between only bcc and
fcc structure for the (110) and (111) lattice plane, respectively.
For other planes and/or other phases, the estimate is approximate. In most situations, it is
recommended to perform calibrations against some experimental data because the
interfacial energy is dependent on so many factors that are ignored in the estimation, for
example entropy, incoherency, orientation, and curvature, etc. Uncertainty factors must also
be considered as thermodynamic data in CALPHAD databases are not always accurate.
Configuration Settings
The settings are found on the Property Model Calculator when Interfacial energy is selected
under General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Matrix phase
Choose a Matrix phase to calculate the interfacial energy [J/m2].
Precipitate phase
Choose a Precipitate phase to calculate the interfacial energy [J/m2].
Configuration Settings
The settings are found on the Property Model Calculator when Liquidus and solidus
temperature is selected under General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Liquid phase
Choose the Liquid phase of the system. This is a fallback choice. Normally this should be
handled automatically, even if multiple liquid phases are present.
Global minimization
Global minimization for liquidus and Global minimization for solidus: Select one or both
of these check boxes to find all phases present in the equilibria. However, note it
significantly increases the calculation time.
Gas phase
Choose a Gas phase from the list.
Configuration Settings
The settings are found on the Property Model Calculator when Phase transition is selected
under General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Matrix Phase
Select the Matrix phase, the single phase region to start in. Select Any phase to use the
phases that take part of the initial equilibrium or choose a specific phase.
Phase to Form
For the new Phase to form, select Any phase or choose a specific phase.
Condition to Vary
Choose a composition or temperature Condition to vary when calculating the phase
transition.
Search Direction
For the composition or temperature condition being varied, choose the Search direction to
be in a Positive, Negative, or Positive and Negative direction.
The start value (given in Condition Definitions) and phase transition point need
to be within these limits, otherwise the model returns Not a Number as result.
For example, a start temperature is 1100 K then the limits need to be outside
these, e.g. 500-1500.
The input parameters are entered on the Configuration window for the Property
Model Calculator and described in T0 Temperature Property Model Settings.
T-Zero Temperature is a Property Model available when using the Property Model
Calculator in Thermo-Calc and it calculates the so-called T0 line. In other words, it finds the
root(s) where the two selected phases have equal Gibbs energy.
All other phases are suspended and up to two roots can be found.
Configuration Settings
These settings are found on the Property Model Calculator when T-Zero Temperature is
selected under General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
For details about the Condition Definitions and Calculation Type settings, see
Configuration Window Settings
First Phase
From the First phase list select the applicable phase you want to search for the evaluation of
Gibbs energy.
Second Phase
From the Second phase list select the applicable phase you want to search for the
evaluation of Gibbs energy.
Condition to Vary
From the Condition to vary list select an option to vary when searching for the root. Up to
two roots can be found. These options are Temperature or those based on the Composition
(e.g. Fe, Cr, and so forth) and Composition unit (i.e. Mass percent, Mole percent, Mass
fraction, or Mole fraction).
The input parameters are entered on the Configuration window for the Property
Model Calculator and described in Spinodal Property Model Settings.
Spinodal is a Property Model available when using the Property Model Calculator in
Thermo-Calc and it calculates the spinodal line.
Configuration Settings
These settings are found on the Property Model Calculator when Spinodal is selected under
General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
For details about the Condition Definitions and Calculation Type settings, see
Configuration Window Settings
Spinodal Phase
From the Spinodal phase list select the applicable phase you want to search for the
spinodal.
Condition to Vary
From the Condition to vary list select an option to vary when searching for the spinodal. Up
to two spinodals can be found. These options are Temperature or those based on the
Composition (e.g. Fe, Cr, and so forth) and Composition unit (i.e. Mass percent, Mole
percent, Mass fraction, or Mole fraction).
Select the check box to enter user-defined search limits in the fields. Enter the Lower
condition limit and Upper condition limit. Then enter the number of steps when
estimating the position(s) of the spinodal(s)in the Steps when estimating spinodal field.
In this section:
The Bainite Property Model, available when using the Property Model Calculator in
Thermo-Calc, describes the thermodynamics and isothermal kinetics of bainite
transformation from austenite. In this Model, bainite is modeled as ferrite or a ferrite-
cementite mixture.
For a given austenite composition, the bainite start temperature, WBs, is calculated
following Leach et al. [2018] (see Eqs. 8 and 9 and Table 1 in the paper). At WBs, the driving
force for ferrite to precipitate out of austenite under the “para” condition (i.e. no
partitioning of substitutional elements, carbon in equilibrium) is balanced by a barrier,
which is modeled as a function of composition.
At a temperature below WBs, there is a net driving force (over the barrier) for the growth of
bainitic ferrite. The steady-state lengthening rate of ferrite plate is calculated based on the
method from Leach et al. [2019] with modifications. In the Bainite Model, unlike in [2019
Leach], local equilibrium of carbon at the ferrite/austenite is sought, and a finite interfacial
friction term is added to the dissipation terms. Otherwise the two methods are both based
on a driving-force–dissipation balance and the Zener-Hillert equation, with a unique
lengthening rate determined by maximizing it with respect to radius of curvature at the
plate tip.
The Bainite Model also considers the case where cementite (under the “para” condition) can
precipitate on the ferrite/austenite interface and grow into ferrite, forming a ferrite-
cementite mixture. The formation of para-cementite usually accelerates lengthening, by
enlarging the driving force of transformation while reducing carbon partitioning from
bainite to austenite. Carbon partitioning to austenite vanishes if para-cementite forms in
bainite to its maximum fraction allowed by mass balance.
Thickening of bainitic plates is usually much slower than lengthening. In the Bainite Model, it
is assumed that whenever there is a positive driving force of precipitating para-cementite on
the ferrite/austenite interface, the final state of the bainite transformation should be a
mixture of ferrite and cementite, with austenite being completely transformed. Otherwise,
the final state is a ferrite-austenite mixture with no cementite but a finite fraction of
retained austenite (incomplete transformation).
The input parameters are entered on the Configuration window for the Property
Model Calculator. There are also additional axis variables available on the Plot
Renderer. See Bainite Property Model Settings for details.
References
[1956 Cahn] J. W. Cahn, “The kinetics of grain boundary nucleated reactions”, Acta
Metallurgica 4, 449–459 (1956).
[2018 Leach] L. Leach, P. Kolmskog, L. Höglund, M. Hillert, and A. Borgenstam, “Critical
driving forces for formation of bainite”, Metallurgical and Materials Transactions A 49,
4509–4520 (2018).
[2019 Leach] L. Leach, J. Ågren, L. Höglund, and A. Borgenstam, “Diffusion-controlled
lengthening rates of bainitic ferrite a part of the Steel Genome”, Metallurgical and
Materials Transactions A 50, 2613–2618 (2019)
Considered elements: Fe, C, Mn, Si, Cr, Ni, Mo. Other elements in the system
are neglected for bainite by mass percent.
Configuration Settings
These settings are found on the Property Model Calculator when Bainite is selected under
Steel Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
For details about the Condition Definitions and Calculation Type settings, see
Configuration Window Settings
Austentizing Temperature
This setting is available when Equilibrium composition at austenitizing temperature is
selected from the Austenite composition from list.
Enter an Austentizing temperature in the field. The unit is the same as that selected under
Condition Definitions.
Grain Size
Enter the Grain size of the austenite in micrometers (μm). The default is 100 μm.
When setting up your calculation on the Plot Renderer, the following axis variables are
available for the conditions defined on the Property Model Calculator.
This Property Model can output the transformation temperatures for the following:
The input parameters are entered on the Configuration window for the Property Model
Calculator and described in Critical Transformation Temperatures Property Model Settings.
Configuration Settings
These settings are found on the Property Model Calculator when Critical Transformation
Temperatures is selected under Steel Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
For details about the Condition Definitions and Calculation Type settings, see
Configuration Window Settings
Calculate Ax Temperatures
Select the Calculate Ax temperatures check box to calculate A0, A1, A3, Acem, and Agraph
temperatures. Typically, only one temperature of A3, Acem, and Agraph exists. See below
for additional details about these temperatures.
Suspend Graphite
By default the Suspend graphite check box is selected and suspends the graphite phase.
Click to clear the check box as needed to enable the graphite.
Suspend Gas
By default the Suspend gas check box is selected and suspends the gas phase. Click to clear
the check box as needed.
The Martensite Fractions Property Model is a Property Model available when using the
Property Model Calculator in Thermo-Calc. It calculates fraction of athermal martensite
based on an analytical equation derived in Huyan et al. [2016, Huyan]. It is assumed that the
first forming martensite morphology is the only forming one. The first morphology is
determined based on the Ms-temperatures of all morphologies.
The input parameters are entered on the Configuration window for the Property
Model Calculator and described in Martensite Fractions Property Model Settings.
Reference
[2016, Huyan] F. Huyan, P. Hedström, L. Höglund, A. Borgenstam, A Thermodynamic-Based
Model to Predict the Fraction of Martensite in Steels. Metall. Mater. Trans. A. 47, 4404–
4410 (2016).
Configuration Settings
The settings are found on the Property Model Calculator when Martensite Fractions is
selected under Steel Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Intercritical Annealing
From the Intercritical annealing list select No if the specified composition is used directly or
select Yes to assume intercritical annealing. For Yes, an equilibrium calculation is performed
at the specified temperature and the composition of the austenite phase is used for the
martensite temperature calculation.
Annealing Temperature
This setting is available when Yes is selected from the Intercritical annealing list.
Enter an Annealing temperature in the field. The unit is the same as that selected under
Condition Definitions.
When setting up your calculation on the Plot Renderer, the following axis variables are
available for the conditions defined on the Property Model Calculator.
The Martensite Temperatures is a Property Model available when using the Property
Model Calculator in Thermo-Calc. The Model calculates the martensite start temperature
(Ms) based on modeling the transformation barrier with fitted analytical equations. It is
based on Stormvinter et al. [2012, Stormvinter] with subsequent update and extension by
Gulapura Hanumantharaju [2017, Gulapura] and Thermo-Calc internal assessment. The
partitionless equilibrium temperature T0 is calculated using the thermodynamic database.
The Model also gives temperatures corresponding to 50%, 90%, and 99% transformations.
Martensite fractions are calculated with the same algorithm as in the Martensite Fractions
Property Model.
The input parameters are entered on the Configuration window for the Property
Model Calculator and described in Martensite Temperatures Property Model
Settings.
References
[2012, Stormvinter] A. Stormvinter, A. Borgenstam, J. Ågren, Thermodynamically Based
Prediction of the Martensite Start Temperature for Commercial Steels. Metall. Mater.
Trans. A. 43, 3870–3879 (2012).
[2017, Gulapura] A. K. Gulapura Hanumantharaju, Master's thesis, KTH Royal Institute of
Technology (2017).
Configuration Settings
The settings are found on the Property Model Calculator when Martensite Temperatures is
selected under Steel Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Intercritical Annealing
From the Intercritical annealing list select No if the specified composition is used directly or
select Yes to assume intercritical annealing. For Yes, an equilibrium calculation is performed
at the specified temperature and the composition of the austenite phase is used for the
martensite temperature calculation.
Annealing Temperature
This setting is available when Yes is selected from the Intercritical annealing list.
Enter an Annealing temperature in the field. The unit is the same as that selected under
Condition Definitions.
When setting up your calculation on the Plot Renderer, the following axis variables are
available for the conditions defined on the Property Model Calculator.
The Pearlite Property Model [2020, Yan] is available when using the Property Model
Calculator in Thermo-Calc and is part of the Steel Model Library. It calculates the
thermodynamics and kinetics of pearlite formation from austenite during isothermal heat
treatment.
The Pearlite Model describes the thermodynamics and kinetics of pearlite formation from
austenite. It is assumed that the overall composition of pearlite is the same as the austenite
composition, and growth rate is constant over time. Growth rate and lamellar spacing of
pearlite are determined by a criterion where either growth rate or Gibbs energy dissipation
rate is maximized. The Model considers Gibbs energy dissipation due to formation of ferrite-
cementite interface in pearlite, finite austenite-pearlite interfacial mobility, solute drag, and
diffusion of elements within austenite and along austenite-pearlite interface.
Divergent pearlite, of which growth rate and lamellar spacing change with time,
is not considered. This Model only considers the transformation from FCC_A1
phase to pearlite consisting of BCC_A2 and CEMENTITE_D011 (for TCFE9 this is
CEMENTITE). Pearlite with other phases is not implemented.
Model parameters have been determined from published data of maximal growth rate,
minimal lamellar spacing, partition coefficients, and isothermal transformation kinetics in
ternary and multicomponent systems.
The input parameters are entered on the Configuration window for the Property
Model Calculator and described in Pearlite Property Model Settings.
References
[1956, Cahn] J. W. Cahn, The kinetics of grain boundary nucleated reactions. Acta Metall. 4,
449–459 (1956).
[2020, Yan] J.-Y. Yan, J. Ågren, J. Jeppsson, Pearlite in Multicomponent Steels:
Phenomenological Steady-State Modeling. Metall. Mater. Trans. A. 51, 1978–2001
(2020).
Configuration Settings
The settings are found on the Property Model Calculator when Pearlite is selected under
Steel Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Austentizing Temperature
This setting is available when Equilibrium composition at austenitizing temperature is
selected from the Austenite composition from list.
Enter an Austentizing temperature in the field. The unit is the same as that selected under
Condition Definitions.
Pearlite Criterion
Select an option from the Pearlite criterion list to determine the pearlite growth condition.
For Maximize growth rate, pearlite growth rate is maximized with respect to lamellar
spacing (and for optimal pearlite, partition coefficients of substitutional alloying elements
between ferrite and cementite). The calculation gives maximal growth rate and minimal
lamellar spacing. This is the default criterion.
For Maximize Gibbs energy dissipation rate, Gibbs energy dissipation rate is maximized
with respect to lamellar spacing (and for optimal pearlite, partition coefficients of
substitutional alloying elements between ferrite and cementite). The calculation gives a
smaller growth rate than the maximal, and a larger lamellar spacing than the minimal,
which may better represent the average growth rate and lamellar spacing of all pearlite
colonies in the material.
Pearlite Mode
This setting is to determine how substitutional alloying elements partition between ferrite
and cementite in pearlite. Select an option from the Pearlite mode list.
For Optimal pearlite, the partitioning of substitutional alloying elements between ferrite
and cementite is optimized according to the Criterion while keeping carbon equilibrium
between the two phases. This is the default mode. This mode realizes a smooth transition
between ortho-pearlite and para-pearlite.
For Para-pearlite, ferrite and cementite are in para-equilibrium where substitutional
alloying elements do not partition and carbon reaches equilibrium.
For Ortho-pearlite, ferrite and cementite are in ortho-equilibrium.
When setting up your calculation on the Plot Renderer, the following axis variables are
available for the conditions defined on the Property Model Calculator.
l Growth rate
l Lamellar spacing
l Cementite molar fraction in pearlite
l Driving force of pearlite formation
l Start time (2% pearlite)
l Half time (50% pearlite)
l Finish time (98% pearlite)
The settings for these contributions are found on the Property Model Calculator
when the Yield Strength Property Model Settings is selected under General
Models.
Yield strength is also available as a variable when working with Plots and Tables
that are successors to the Precipitation Calculator.
The Yield Strength Model is a general model to estimate the yield stress of a material that
considers these contributions to the overall yield stress of the material:
The temperature ( ) is used to evaluate the equilibrium state of the system, and the
resulting compositions and phase fractions are subsequently used in the evaluation of
mechanical properties. Below follows a short summary for each of the contributions.
Intrinsic Strength
Intrinsic strength, , is the base strength as evaluated from linear combination of the pure
elements' strength. If data is missing for one or more elements a message displays in the
software to indicate this.
The parameters you enter are the Hall-Petch constant, in MPa μm1/2, and the average
grain diameter in μm.
The solution strengthening, , is the contribution to total strength due to the elastic
strains in the crystal lattice caused by alloying elements of a lattice parameter differing
from the main constituent. For the solid solution strengthening the option of evaluating the
strength at any temperature is available. The result is normalized with respect to the sum of
all mole fractions for FCC, BCC and HCP. This option uses the phase fractions and
compositions calculated at the overall equilibrium temperature. The model by Walbrühl et
al. [2017, Walbruhl] is implemented.
Figure 8: Yield strength vs Ta-content for the binary high entropy Mo-Ta alloy.
Precipitation Strengthening
The precipitation strengthening, , is the contribution to total strength due to
precipitation of a secondary phase, e.g. gamma prime in Ni-base alloys or Al3Sc precipitates
in Al-base alloys. This model is available for any number of precipitating phases. The total
particle strength is calculated by the square mean of the individual particle strength
contributions:
The Simplified model (general), Seidman model (Al-base) and Reppich model (Ni-based) are
available to estimate the precipitation strengthening contribution.
The simplified model is based on the work by Zander et al. [2008, Zander] and considers the
general mechanisms of cutting and looping without regard to any detailed dislocation
mechanisms. The default parameters are, however, optimized against experimental data for
the Al-0.3wt%Sc alloy described by Seidman et al. [2002, Seidman].
Figure 9: Yield strength Property Model plot example using the 'Simplified model' as described in the
text.
The Seidman model (Al-base) by Seidman et al. [4] considers several contributions to the
overall precipitation strengthening - ordering, coherency stresses, shear modulus mismatch,
and Orowan looping. The Seidman model is suitable for Al-base alloys with a low volume
fraction of spherical precipitates. In example PM_G_04_Yield_Strength, the simplified and
Seidman models are compared to experimental data on the increase in yield strength due to
precipitation hardening. Although the experimental set up was designed to eliminate grain
boundary and solid solution strengthening, these are also included by optimizing of model
parameters.
Figure 10: Yield Strength Property Model plot example using the 'Seidman model' as described in
the text [2002, Seidman].
The Reppich model (Ni-base) by Reppich et al. [1982a, Reppich] considers both weak and
strong coupling of dislocation as they propagate through an ordered secondary phase and is
thus suitable for Ni-base alloys with relatively high volume fractions of gamma prime or
gamma double prime.
The Reppich model is not valid for very small values of volume fraction
precipitate and precipitate radius.
Figure 11: Reppich model plotted with results and experimental data for PE16 [1982b, Reppich] , all
data is normalized with the square root of the volume fraction of precipitate.
Figure 12: Reppich model yield strength vs mean precipitate radius for Ni-10Cr-10Al.
References
[1982a, Reppich] Reppich, B. "Some new aspects concerning particle hardening mechanisms
in γ’ precipitating Ni-base alloys—I. Theoretical concept," Acta Metall. 30, 87–94 (1982).
[1982b, Reppich] Reppich, B., Schepp, P. & Wehner, G. "Some new aspects concerning
particle hardening mechanisms in γ’ precipitating nickel-base alloys—II. Experiments,"
Acta Metall. 30, 95–104 (1982).
[2002, Seidman] Seidman, D. N., Marquis, E. A. & Dunand, D. C. "Precipitation strengthening
at ambient and elevated temperatures of heat-treatable Al(Sc) alloys," Acta Mater. 50,
4021–4035 (2002).
[2004, Hansen] Hansen, N. "Hall–Petch relation and boundary strengthening," Scr. Mater.
51, 801–806 (2004).
[2008, Zander] Zander, J. & Sandström, R. "One parameter model for strength properties of
hardenable aluminium alloys," Mater. Des. 29, 1540–1548 (2008).
[2017, Walbruhl] Walbruhl, M., Linder, D., Ågren, J. & Borgenstam, A. "Modelling of solid
solution strengthening in multicomponent alloys," Mater. Sci. Eng. A 700, 301–311
(2017).
The Yield Strength Model is available with the Property Model Calculator and calculates
yield stress.
Yield strength is also available as a variable when working with Plots and Tables
that are successors to the Precipitation Calculator.
The Yield Strength Model returns the yield strength at room temperature for the specified
material using the equilibrium values calculated at temperature T. The Model is defined by
further setting these contributions:
For examples using the Property Model Calculator, see PM_G_04: Yield
Strength, PM_G_05: Yield Strength NiAlCr, and PM_G_06: Yield Strength HEA.
Configuration Settings
The settings for these contributions are found on the Property Model Calculator when the
Yield Strength Model is selected under General Models.
When working in the Configuration window, click the Description tab for more
information about the Model. When the Property Model is not encrypted, or it
is a user-defined Property Model, there is also a Python code tab that displays
the related code.
Composition unit
Choose a unit: Mass percent, Mole percent, Mass fraction or Mole fraction.
Condition Definitions
Choose a unit (Kelvin, Celsius or Fahrenheit) and then enter a value for the Temperature
and Composition for each component.
The values entered in Condition Definitions are used as the start values for the different
calculation types.
Matrix
Matrix: Choose a Matrix phase.
Precipitation strengthening
Click to select the Precipitation strengthening check box to include calculated precipitation
strengthening ( ). Then enter the following settings.
Select a Precipitate from the list. Use the Add and Remove buttons to add and remove
additional precipitate phases.
The Reppich model is not valid for very small values of volume fraction
precipitate and precipitate radius.
For the Simplified model (general), enter values in the fields for the following. The default
values of kp and are optimized against experiments for Al-Sc.
l Mean radius Simplified model: The precipitate mean radius. The unit is meter (m).
l kp: The prefactor for the simplified model, which adjusts the overall height of the
yield strength curve.
l Critical radius , which determines the mean precipitate radius where transition
between cutting and looping occurs. The unit is meter (m).
For the Seidman model (Al-base), enter values in the fields for the following. The default
parameters are optimized against experiments.
l Mean radius Seidman model: The precipitate mean radius. The unit is meter (m).
l Anti-phase boundary energy: , which is the average anti-phase boundary
energy for the precipitate phase. The unit is Jm-2.
l m: A Seidman exponent, it is a constant in the expression for strengthening by
modulus mismatch.
l alpha: A Seidman prefactor. It is a fitting constant in the expression for coherency
strengthening.
For the Reppich model (Ni-base), enter values in the fields for the following. The default
parameters are optimized against experiments.
l Mean radius Reppich model: The precipitate mean radius. The unit is meter (m).
l Anti-phase boundary energy: , which is the average anti-phase boundary
energy for the precipitate phase. The unit is Jm-2.
l w: A parameter that accounts for elastic repulsion between strongly coupled
dislocations.
l A: Numerical factor reflecting particle morphology (0.72 for spherical).
l For Global test preferred the minimization starts with a global test and if that fails it
runs full global minimization.
l For Local minimization preferred the minimization starts with a local minimization,
in case of failure it tries a global test and finally a full global minimization.
If you choose Local minimization only or Global minimization only, the program just tries
the one setting and gives up if it fails.
For general information about global minimization, see the topic related to the
Console Mode command, GLOBAL_MINIMIZATION.
Calculation Type
Choose a calculation type: Single (no axes), One axis, Grid, Min/Max or Uncertainty.
l Select Single to calculate a single point. Any model can use this calculation type and
no additional settings are required. The results from this calculation are displayed in
the Event Log or if a Table Renderer is used, in the Results window.
Axis Definition
For One axis, select a Quantity to vary along the X-axis, for example, Temperature then
enter a Min, Max and Number of steps.
Grid Definitions
For the Grid calculation type, define the two axes variables using the fields and menus:
Quantity, Min, Max and Number of steps. The number of steps along with the minimum
and maximum values for the axes define a grid. For each grid point the selected models are
evaluated.
For a Grid, on the Plot Renderer, you can choose to plot a Heat map, Contour or
3D diagram.
Min/Max Definitions
For the Min/Max calculation type, click to select the applicable check boxes under Quantity
to enable or disable an axis. The Mean field is as defined under Condition Definitions for
the respective quantity.
Enter numerical values in the ΔMin/Max fields to evaluate the change to the quantity. The
highest and lowest value of each selected model results are shown in the Event Log.
Sampling Parameters
For the Uncertainty calculation type, choose a number of Standard deviations where you
want to Truncate the distribution. Choose the Total number of samples.
In this section:
All users can test the Process Metallurgy Module with the included OXDEMO
database, which is limited to these elements: Al, C, Ca, Fe, O, S, and Si. For
more information about this and other products visit our website.
The Process Metallurgy Module requires both a valid Maintenance and Support
Subscription (M&SS) and a license for the TCS Metal Oxide Solutions Database
(TCOX8 or newer).
model assumes that only a fraction of the steel zone reacts with a fraction of the slag zone
per time step. This reacting fraction of the whole system is termed the reaction zone (in
literature it has become known as Effective Equilibrium Reaction Zone or EERZ).
You can use the Process Metallurgy Module to calculate the following:
Examples of using the Process Metallurgy Calculator for Basic Oxygen Furnace
(BOF) (with and without kinetics), a Ladle Furnace (LF) simulation, an Argon
Oxygen Decarbarization (AOD), and a Vacuum Oxygen Decarborization
(VOD) simulation are included with your installation. See the Process Metallurgy
Module Examples Collection for links.
The three branches of simulations available for the Process Metallurgy Calculator (1) an isothermal
equilibrium calculation, (2) an adiabatic equilibrium calculation, and (3) a process simulation.
Equilibrium Simulations
Two Equilibrium simulation types are available: Isothermal and Adiabatic. In general for
the equilibrium simulation, the three most common material groups—Steel, Slag, and Gas
are automatically included with the default composition input types that are relevant to
each material group. You can add materials and save your material compositions directly
from the Process Metallurgy Calculator and quickly access these for other simulations. For
example, you might want to predefine compositions of steels, ferro-alloys, slags, and slag
additions. The overall composition of the steel and slag is then obtained by adding amounts
of these predefined materials.
Each group of materials is automatically added to the similar group where it is defined. You
can manage these groups using the Material Manager (see Working with the Material
Manager).
For adiabatic calculations, the selection of material type (steel, slag, gas) has an
influence on the calculation. For isothermal calculations, the results are
identical.
The reason the selection of materials for adiabatic calculations has an influence is because
there are different strategies to calculate the enthalpy of the materials at the temperature
at which these are added. Therefore, defining FeO as a steel containing 50at% Fe and 50at%
O or as a slag with 50at% Fe and 50at% O or as slag with 100% FeO, all result in different
enthalpies assigned to the component FeO, which in turn results in different equilibrium
temperatures.
Process Simulations
When you choose to do a Process simulation it includes the reaction kinetics. Using the
EERZ (Effective Equilibrium Reaction Zone) model, you can first define your materials as you
do with an Equilibrium simulation. You also need to define the Process model where you
define the kinetic parameters of the simulation by setting up reaction zones, reaction rates,
heat transfer coefficients, and so forth. You also need to define the Process schedule where
the sequence and amounts of added materials are defined.
Calculation Types
The calculations available for an Equilibrium simulation, for both isothermic and adiabatic
calculations, are Single equilibrium, One axis, Grid, and Uncertainty. After adding a Plot
Renderer or Table Renderer, you can choose a variety of quantities, including slag
properties such as Bells ratio and B2, to output results that provide useful visual
representations of the steelmaking systems being analyzed.
You can find several learning resources on the Process Metallurgy page of our
website (or in Thermo-Calc, go to Help → Thermo-Calc website). You can also
subscribe to the Thermo-Calc newsletter to be kept up-to-date about upcoming
releases, training, examples, videos and much more.
Database Dependency
It is not possible to use custom user databases with the Process Metallurgy
Module. This is because several internal calculations, such as determining the
component compositions of ionic phases, are dependent on the database.
Therefore, only TCS Metal Oxide Solutions Database (TCOX) versions 8 and
newer, and to a limited extent, OXDEMO, can be used with this Module.
Material Manager
For information about saving and deleting materials used with the Process Metallurgy
Calculator, see Working with the Material Manager. Also see the next section.
For information about saving and deleting materials, see Working with the
Material Manager.
There are three groups to define: Steel (or another user-defined Metal group), Slag, and
Gas.
Open the example project file from Thermo-Calc Help → Example Files →
Process Metallurgy → PMET_01_Basic_Oxygen_Furnace.tcu.
In the image below, the red-highlighted area is where the Steel material group is defined.
The drop-down menu that displays Steel_BOF shows a user-defined material. This can be
defined and then saved to the material library.
The three material group areas on the Process Metallurgy Calculator where you can define
components and save materials. You can create your own material groups using the Material
Manager.
When you click Show composition next to any material group, additional fields display to
give composition and input type where you can further define each material group. You can
remove materials and add and remove material groups using the Material Manager
(available on the Configuration window → Options tab).
In the example, click Show composition next to the Slag and Gas groups to see how the
Slag_BOF and Oxygen materials are defined.
From this composition area you can click the Save material button to add the new material
to the group's list. The newly named material composition is then available for use with that
material group. In this example, the Steel_BOF material was defined first and then named at
the end. It is now available in the lists wherever you select the Steel material or need to
choose quantities to plot.
After defining and saving a material composition, the named material is available for selection in a
variety of places such as when choosing quantities on the calculator and defining axis variables on
the Plot Renderer.
To add one or more material groups click the green add button. Click the red
minus button to remove a material group. The new material inherits the
default settings of that group.
The Amount of X in Y quantities you can choose from the various drop-down lists
(such as under Grid Definitions) are defined as Min-Max variation of the
component X in Y. If a dependent element is present that is adapted as usual.
When you use Major component, as you add other components or adjust the composition,
the major one is adjusted to be the rest of the composition.
When you use Normalize to total of 100%, the sum is adapted to 100%. This is useful if you
need to work with a given composition that does not sum up to 100%.
Sometimes its preferable to use input of amount of each component Amount by weight
(Tonne, Kilogram, Gram, or Pound), it can useful to choose Absolute amount as the Input
type. In this case, the total amount of material automatically adjusts the total.
For the Gas component, if you choose Normal cubic meter as the Amount, then beside
regular mass units, the amount of gas can also be provided in Nm3.
Phase Groups
The phases that are plotted after you run a simulation are grouped together on the plot to
make the interpretation of the results easier.
Phases of similar type are bundled together in the groups liquid metal, solid metal, solid
oxides, liquid oxides, and gas. Except for the gas phase, all the groups can have more than
one phase. This grouping is particularly useful for liquid metal and liquid oxide because they
are both described by the same phase, IONIQ_LIQUID, and because there is typically two or
more compositions sets of IONIQ_LIQUID. This is also useful for solid oxides, because a large
number of phases can be stable, making the interpretation of results difficult without this
grouping.
The term oxides in the Process Metallurgy Module can also mean carbides,
sulfides, and fluorides.
Example of the plot labels with the phases grouped together. As you zoom in, only the phases that
you can see are listed in the label, making it easier to examine the results.
Adiabatic Calculations
When setting up the Process Metallurgy Calculator under the Equilibrium Kinetics branch,
you choose the thermal control to be either Isothermal or Adiabatic. Adiabatic calculations
assume no heat and mass exchange with the environment during the equilibrium reaction.
The adiabatic process is implemented by an isenthalpic process with constant pressure (i.e.
H=const), which is equivalent.
There are slightly deviating definitions present in the industry, which need to be
converted for precise results. For most applications of the Process Metallurgy
Module this difference has a minor influence.
In the formula, p describes the total system pressure and AC the activity of oxygen in the gas
phase.
Process Schedule
When you are working with the Process simulation branch you set up a process schedule.
There are some useful details about this described in Working with the Process Schedule.
Pressure-Dependent Calculations
It is possible to apply variable pressure during process metallurgical calculations, which is
relevant in various processes such as Vacuum Oxygen Decarburization (VOD) or Ruhrstahl-
Heraeus (RH). See About Pressure-Dependent Calculations.
Materials and heat can be added at any time in any amount. They can be either added to a:
These types of materials are used in the process schedule set up:
A material addition is typically used to model some event like emptying a bucket into the
melt. A continuous material addition is instead used to model a continuous material feeding
into the melt, such as wire feeding. Finally, heat can be added or removed during a time
step and this is defined as power.
Generally the addition of materials and heat is modeled in the process simulations for any
time point tn as follows:
l Material additions happen immediately after the previous time point tn-1, i.e. at the
beginning of the time step.
l Continuous material and heat additions (power) are conceptually happening during
the complete time step between tn-1 and tn.
The data presented in the results is always referring to the time point, i.e. to the end of the
time step. This means that reactions and heat transfer have happened between adding
materials and heat at the beginning of the time step and the end of the time step. If for
example a strongly cooling material is added, a possibly quite large heating of the zone
might have happened until the end of the time step.
The first two time points are different:
l The first time point t0 at t=0 does not represent a time step, instead only a mixing
and equilibrium reaction of the material additions in each bulk zone is taking place.
There are no reaction zones existing at this time point.
l The second time point t1 represents the first time step in the simulation where the
different bulk zones react between each other via the reaction zones. Nevertheless it
is conceptually identical to any other time point.
Options Tab
The nature of a process simulation requires a dynamic choice of the time step lengths. On
the one hand the simulation needs to capture very fast changes of temperature and
composition, for example after addition of cold material. On the other hand it should
calculate processes that take several hours in reality within an appropriate calculation time.
The time step control algorithm is primarily controlling the change of the temperature in
each zone (including the reaction zones) such that it stays below a specified limit but is
always as large as possible.
The dynamic time stepping can be switched off by choosing a very large maximum allowed
temperature change per step (such as 1.0e6 K). In this case the maximum time step is
always used, however this is only recommended in special situations.
If a temperature change is too large, the algorithm reverts the time step and returns to the
previous time point in order to try a smaller time step. Therefore you can see in the Event
Log output that the time points can jump back. Except for larger additions this is a rare
event.
The parameters of the time-step control algorithm are:
The initial time step as well as the largest allowed time step are defined in percent of the
total duration of the process while the smallest allowed time step is given in seconds. This
allows that these parameters normally need no change even if switching between processes
with very short and very long duration.
Making the largest allowed time step bigger can reduce the number of steps and
consequently the calculation time, but only if the time step is not limited by the maximum
temperature change per time step. This means that both parameters need to be considered
together.
Taking a too large smallest allowed time step can cause numerical difficulties, especially if
large cold material additions are part of the process schedule.
The initial time step is usually of limited relevance for the overall calculation time, but
should usually not be larger than the default value of 1.0%.
As different processes show very different temperature changes, it is probably most
common to adapt the maximum temperature change per time step in order to have a good
balance between accuracy of the results and calculation time. Usually it should be possible
to change this parameter without adapting the other algorithm parameters.
The effects of the dynamic time step algorithm can be inspected by activating the data
points in the plots.
l the set pressure at a time-step is valid for all bulk and reaction zones of the system
l the exhaust gas zone has always atmospheric pressure
l the added material (only relevant for gas) has initially always atmospheric pressure
l the material transferred to and from the zones (i.e. the added material and the
exhaust gas from the zones) is undergoing an adiabatic expansion / compression
because it is moved between different pressures
Generally there is no effect of pressure change on anything else than gas (due to physics and
the implementation of the database).
PMET_07_Vacuum_Oxygen_Decarburization_Kinetics
The Material Manager is only available for the Process Metallurgy Calculator.
Use the Material Manager to create and delete groups of materials and delete materials
you have saved directly from the Process Metallurgy Calculator. It is useful for frequently
used materials.
Saving a Material
This is done directly from the Process Metallurgy Calculator → Configuration window.
1. Add the Process Metallurgy Calculator to My Project directly (right-click and select it
from the Create New Activity menu) or use the available Process Metallurgy
template.
2. On the Configuration window, next to the Material group you want to define, for
example Steel (or another user-defined metal group), Slag or Gas. Click Show
composition.
3. Enter the composition and the Major component of the material you want to save
for future use. You can alternatively select Normalize to total of 100% and enter the
percentages for each element.
4. Click Save material.
5. In the window that opens, enter a Material name. Click OK.
When you go to the Material Manager, you can select this saved material from the
applicable list if you need to delete it.
Deleting a Material
This is done with the Material Manager, located on the Configuration window, Options tab.
References
Basicity and MgO Saturation: For definitions of the basicity and MgO saturation properties
B2, B3, B4 and Bells ratio see Keskitalo (2015). Also see the Slag Atlas (Verein Deutscher
Eisenhuttenleute, 1995).
Sulfur Distribution and Capacity: For definitions of the sulfur distribution properties Ls see
Andersson et al (1999). For the sulfur capacity, see Slag Atlas (Verein Deutscher
Eisenhuttenleute, 1995).
Andersson, Margareta A. T., Par G. Jönsson, and Mselly M. Nzotta. 1999. “Application Ladle
Slags of the Used Sulphide Capacity Concept on High-Basicity in Bearing-Steel
Production.” ISIJ International 39 (11): 1140–49.
Keskitalo, Björn. 2015. “Model Studies on the Effects of Composition Differences of Direct
Reduction Pellets and an Adaptive Addition of Slag Formers for the EAF Process.”
Master's thesis, KTH Royal Institute of Technology,
http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-168296.
Verein Deutscher Eisenhuttenleute (VDEh), ed. 1995. Slag Atlas 2nd Edition. Dusseldorf,
Germany: Verlag Stahleisen GmbH.
Metal
Frozen-in global equilibrium calculation at T=700 °C, taking the resulting enthalpy at the
actual initial material temperature. This corresponds to a frozen-in microstructure. At initial
material temperatures above 700 °C the equilibrium is instead calculated directly.
Gas
Mechanical mixture between the enthalpy of the gas components. This is no limitation,
because all gas components in the databases are assumed to be ideal gas.
Slag
l Mechanical mixture: If the temperature is below T=1000 °C and every single
material component (such as MgO, CaO, …) is fully solid at the requested material
temperature, mechanical mixture is assumed. This means that the enthalpy of every
component is calculated separately and summed up (weighted by mass fraction).
This corresponds to the assumption that different separate components have been
added to the slag (such as burnt lime and magnesite). If any component forms gas or
liquid at the initial material temperature, this mode is not used. Note that
mechanical mixture is also applied if pure elements are added to the slag material,
i.e. it is not the same in respect to the material enthalpy to define CaO and Ca + O.
l Equilibrium: If no mechanical mixture of the material components is possible or if
the temperature is above T=1000 °C. This corresponds to the assumption of a fully
homogenized slag material.
Use a Process Metallurgy Calculator to set up calculations for steel and slag used in
steelmaking. Define the composition of a steel (or other metal) and slag system using
material groups: one each for steel, slag, and gas. You can save your material compositions
directly from the calculator and quickly access and manage the materials and groups—it
collects groups of saved materials according to type, thus making it easy to retrieve them.
You can add the calculator to My Project directly (right-click and select it from the Create
New Activity menu) or use the Process Metallurgy Template.
Examples of using the Process Metallurgy Calculator for Basic Oxygen Furnace
(BOF) (with and without kinetics), a Ladle Furnace (LF) simulation, an Argon
Oxygen Decarbarization (AOD), and a Vacuum Oxygen Decarborization
(VOD) simulation are included with your installation. See the Process Metallurgy
Module Examples Collection for links.
You can find several learning resources on the Process Metallurgy page of our
website (or in Thermo-Calc, go to Help → Thermo-Calc website). You can also
subscribe to the Thermo-Calc newsletter to be kept up-to-date about upcoming
releases, training, examples, videos and much more.
Conditions Tab
Equilibrium
For information about the individual settings on this tab, see Equilibrium
Simulation: Conditions Tab.
Set the conditions for your calculation that define the slag, metal, and gas. The topic,
Defining the Equilibrium Simulation, has instructions that walk you through the steps that
represent a simplified steelmaking process.
Process Simulation
For information about the individual settings on this tab, see Process Simulation:
Conditions Tab.
Set the conditions for your calculation that best describes the process you want to simulate.
The topic, Defining the Process Simulation, has instructions that walk you through the steps.
Also the description of the kinetics examples are useful to help you better understand the
settings.
Options Tab
For information about the individual settings, see Options Tab.
Use the Material Manager to create and delete groups of materials and delete materials
you have saved directly from the Process Metallurgy Calculator. It is useful for frequently
used materials. Also see Working with the Material Manager.
The settings in Process Material Equilibrium and Grid define certain numerical settings
used by the Thermo-Calc calculation engine for equilibrium calculations such as whether
tests for global minimization should always be performed (this significantly slows down the
calculations) or never be performed (this speeds up calculations but miscibility gaps might
not be found), and so forth.
Calculations of oxide systems are numerically challenging, and they can often
fail. The default values are chosen to give the best general performance and
reliability and should only be changed by an expert user. Also, a large amount
of logic is implemented in the Process Metallurgy Module to improve the
convergence and calculation speed of equilibrium calculations. The timestep
control is related to how finely the times defined in the Process schedule are
resolved. See About Dynamic Time Stepping for more information.
To open the Options window: From the main menu select Tools → Options →
Graphical Mode and click the Activities tab. Then click Process Metallurgy.
See Global Settings: Process Metallurgy.
This is a general overview of the setup based on the PMET_01: Basic Oxygen Furnace (BOF)
example, which walks you through the steps that represent a simplified steelmaking process.
All users can test the Process Metallurgy Module with the included
OXDEMO database, which is limited to these elements: Al, C, Ca, Fe, O,
S, and Si. For more information about this and other products visit our
website.
3: Define the Conditions for the Steel, Slag and Gas Material Groups
Next define each material group—Steel (or any user-defined Metal group), Slag, and Gas.
See Equilibrium Simulation: Conditions Tab for an overview of the layout of this
section. There is also an overview of these material groups in Working with the
Process Metallurgy Module.
1. Choose a Material to set up first, Steel (or any user-defined metal), Slag, or Gas.
2. Select an Amount from the list—Tonne, Kilogram, Gram, or Pound. Enter a
numerical value in the field.
3. If this is the first time you are defining a material, or at any time when User-defined
is selected, click Show composition to set the composition for the material (steel,
slag, or gas or another user-defined metal).
4. To the right of the Material list (e.g. for the Steel group), choose the material
composition you want to use for this simulation. Predefined Example Steel and
Example Slag compositions are included with the installation.
To add one or more material groups click the green add button. Click the red
minus button to remove a material group. The new material inherits the
default settings of that group.
9. After you have added and defined the element, component, or gas component it is
recommended you save and name the material. This makes it easier to work with
because the name of the material is automatically updated in the lists (and available
as part of your library) instead of being named User-defined everywhere.
The material is automatically saved in the relevant material group, so only steel
materials are shown in the steel menu, only slag materials are shown in the slag
menu, and only gas in the gas menu. You can also create additional material groups
if there are groups you use regularly, such as scrap compositions, ferro-alloys or slag
additions. See Working with the Material Manager for more details about creating
and deleting material groups and deleting materials.
10. Continue adding and defining the material groups (e.g. Steel, Slag, and Gas). You
could, for example, add another Steel group if you wanted to define a composition of
a steel scrap to add to a basic oxygen furnace (BOF).
1. Under Calculation Type, click to choose Single (no axes), One axis, Grid, or
Uncertainty.
2. Based on the calculation type, define either the Grid Definitions (for One axis or Grid
calculations) or the Sampling of Data from Gaussian Distributions (for Uncertainty
calculations). The Quantity displays all the stepping options set up with the material
groups for Steel, Slag, and Gas. The example shows the steel group quantities.
The Amount of X in Y quantities you can choose from the various drop-
down lists (such as under Grid Definitions) are defined as Min-Max
variation of the component X in Y. If a dependent element is present that
is adapted as usual.
The settings are generally described for the individual nodes. See Plot Renderer
and Table Renderer.
Some useful information about the plots is also described in Working with the
Process Metallurgy Module.
Also see Defining the Equilibrium Simulation for instructions that walk you
through the steps that represent a simplified steelmaking process. A more
complex process is described in Defining the Process Simulation.
An example of the different settings areas for a default Configuration window for a Process
Metallurgy Calculator when an Equilibrium simulation type is selected. There are many settings
available depending on the parameters.
Database
The most recent available version of TCS Metal Oxide Solutions Database (TCOX) is selected
by default.
The Process Metallurgy Module requires both a valid Maintenance and Support
Subscription (M&SS) and a license for the TCS Metal Oxide Solutions Database
(TCOX8 or newer).
It is not possible to use custom user databases with the Process Metallurgy
Module. This is because several internal calculations, such as determining the
component compositions of ionic phases, are dependent on the database.
Therefore, only TCS Metal Oxide Solutions Database (TCOX) versions 8 and
newer, and to a limited extent, OXDEMO, can be used with this Module.
All users can test the Process Metallurgy Module with the included OXDEMO
database, which is limited to these elements: Al, C, Ca, Fe, O, S, and Si. For
more information about this and other products visit our website.
Thermal Control
Choose Isothermal or Adiabatic. When Adiabatic is selected, no global temperature is
defined (as this changes during the process). Instead the initial temperature has to be
defined separately for each material. Adiabatic calculations assume no heat and mass
exchange with the environment during the equilibrium reaction. Certain types of processes
run at almost constant temperatures. For such processes isothermal conditions are
acceptable. But in most metallurgical processes the temperature will change sometimes
dramatically in function of time due to heating or cooling of the system and due to
exothermal or endothermal reactions taking place. For such processes adiabatic conditions
are a better choice.
Temperature
Choose a Temperature unit (Kelvin, Celsius, or Fahrenheit) and then enter a numerical
value in the field.
Pressure
Choose a Pressureunit (Pascal, Atmospheres, or Bar) and then enter a numerical value in
the field.
There are three groups to define: Steel (or another user-defined Metal group), Slag, and
Gas.
In the image below, the red-highlighted area is where the Steel material group is defined.
The drop-down menu that displays Steel_BOF is a user-defined material. This can be defined
and then saved to the material library.
The three material group areas on the Process Metallurgy Calculator where you can define
components and save materials.
When you click Show composition next to any material group, additional fields display (e.g.
Input type, Major components, and so forth) where you can further define each material
group. You can add and remove materials using the Material Manager (available via the
Configuration window → Options tab).
You can open the example project PMET_01: Basic Oxygen Furnace (BOF) from
Thermo-Calc (Help → Example Files → Process Metallurgy → PMET_01_
Basic_Oxygen_Furnace.tcu). Then click Show composition next to the Slag
and Gas groups to see how the Slag_BOF and Oxygen materials are defined.
From this composition area you can click the Save material button to add the new material
to the group's list. The newly named material composition is then available for use with that
material group. In this example, the Steel_BOF material was defined first and then named at
the end. It is now automatically available wherever you select the Steel material or need to
choose quantities to plot.
The Amount of X in Y quantities you can choose from the various drop-down lists
(such as under Grid Definitions) are defined as Min-Max variation of the
component X in Y. If a dependent element is present that is adapted as usual.
To add one or more material groups click the green add button. Click the red
minus button to remove a material group. The new material inherits the
default settings of that group.
After defining and saving a material composition, the named material is available for selection in a
variety of places such as when choosing quantities on the calculator and defining axis variables on
the Plot Renderer.
Calculation Type
Single (no axes), One axis, Grid, or Uncertainty.
For a Grid, on the Plot Renderer, you can choose to plot a Heat map, Contour, or
3D diagram.
After adding a Process Metallurgy Calculator to your project, you can choose to conduct an
Equilibrium simulation, where you define the steel, slag and gas groups of materials, or a
Process simulation, where you set up a process using the EERZ (Effective Equilibrium
Reaction Zone) model.
2. Under Kinetics, choose the simulation type, Equilibrium or Process simulation. For
the following steps, choose Process simulation.
1. In the Configuration window, for the Database selection, the program automatically
defaults to the highest available version of the TCOX database.
All users can test the Process Metallurgy Module with the included
OXDEMO database, which is limited to these elements: Al, C, Ca, Fe, O,
S, and Si. For more information about this and other products visit our
website.
values result in fast kinetics, small numbers in slower kinetics. These values
strongly depend on the type of material (mass transfer in slags is slower than
in liquid steel due to its higher viscosity) and type of process (the violent
reactions in a basic oxygen furnace have higher mass transfer coefficients
compared to the gentle stirring performed in a ladle furnace. These
parameters are basically fitting parameters that need to be determined
based on comparison with experimental data. Typical values can also be
found in the literature. Choose to allow degassing or not.
d. Transfer of phase group. This defines how fast “foreign” phases are moved
from one zone to the other. Foreign phases could be solid or liquid oxide
inclusions in the liquid steel, or metallic droplets in the slag phase. A typical
application is the simulation of the flotation of oxide inclusions out of the
liquid steel into the slag phase during refining in a ladle furnace.
e. The Heat entering or leaving the system and being transferred between
the zones. Constant cooling defines how much heat is lost from the system by
radiation and convection. Separate values can be given to each zone if
needed. Heat is used when the system is actively heated by an external heat
source such as an electric arc or induction heater. Here only the heating
efficiency is given, which is the percentage of for example electrical power
that is transferred to the system as heat. The times and power are defined in
the Process schedule. Different amounts of heat and material are added to
the zones resulting in the zones having different temperatures. Heat transfer
defines how heat flows from one zone to the other. A high value results in a
quick equalization of temperature, a small value results in the zones keeping
their different temperatures.
The materials can be defined, saved and retrieved in the same way as for an equilibrium
simulation. For a process simulation, it must be defined to which zone the material is added.
Typically, oxide materials are added to the slag zone and metallic materials are added to
the steel zone. Gas or other injected materials (such as carbon or lime powder) are typically
added to the reaction zone. But this choice depends on the process to be simulated and must
be carefully chosen. By defining the same material twice or even three times, it can be split,
so that part of the material is added to one zone and part of it to another zone.
On the Process schedule tab, the sequence and amounts of additions during the duration of
the process are defined. All the materials defined in the Materials tab automatically are
included in the table. If a heat addition is defined in the Process Model this is also included
in the table. If the units Tonne, Kilogram, or Pound are selected, then the additions are
defined as one-time additions at a certain time. If a rate is chosen as unit of the addition
(such as Kilogram per minute or Kilogram per second, for gas also Normal cubic meter
per minute or per second can be given) then the rate of addition is entered into the table.
The additions are visualized in a plot for clarity.
See Defining the Equilibrium Simulation for instructions that walk you through
the steps that represent a simplified steelmaking process. A more complex
process is described in Defining the Process Simulation and where the settings in
the following topics are described.
Examples of using the Process Metallurgy Calculator for Basic Oxygen Furnace
(BOF) (with and without kinetics), a Ladle Furnace (LF) simulation, an Argon
Oxygen Decarbarization (AOD), and a Vacuum Oxygen Decarborization
(VOD) simulation are included with your installation. See the Process Metallurgy
Module Examples Collection for links.
The following outlines what you can set on the Configuration window Conditions tab when
working with the Process Metallurgy Calculator.
Below is based on selecting a Process simulation under Kinetics. The settings to complete
are for the Process Model, the Materials, and the Process Schedule.
An example of the different sections on the Configuration window for a Process Metallurgy
Calculator when a Process simulation type is selected. This screen shot is from the example PMET_
04. There are many settings available depending on the parameters.
Database
The most recent available version of TCS Metal Oxide Solutions Database (TCOX) is selected
by default.
The Process Metallurgy Module requires both a valid Maintenance and Support
Subscription (M&SS) and a license for the TCS Metal Oxide Solutions Database
(TCOX8 or newer).
It is not possible to use custom user databases with the Process Metallurgy
Module. This is because several internal calculations, such as determining the
component compositions of ionic phases, are dependent on the database.
Therefore, only TCS Metal Oxide Solutions Database (TCOX) versions 8 and
newer, and to a limited extent, OXDEMO, can be used with this Module.
All users can test the Process Metallurgy Module with the included OXDEMO
database, which is limited to these elements: Al, C, Ca, Fe, O, S, and Si. For
more information about this and other products visit our website.
Temperature
Select a Temperature unit (Kelvin, Celsius, or Fahrenheit).
Time
Select a Time unit (Seconds, Minutes, Hours, or Days).
The following outlines what you can set on the Configuration window under
Process and when you click Edit Process Model. The overall steps to set this up
are described in Defining the Process Simulation.
Process
Under Process, enter a Name and Duration.
For more complex processes, you could, for example, enter the process
reference as its Name as is done for the EERZ example PMET_06_Ladle_
Furnace_Kinetics.tcu.
Process Model
Choose a Process model. Click Edit Process Model to enter details as below.
You can create your own Process model and name them so these are available
to choose from the list in the future. This is done using the Edit Process Model
window.
Pressure
For Pressure, this is can be either Constant throughout the process or be changed during
the process (using Table input here and then entering values in the Process Schedule).
Choose:
l Constant to choose a unit (Pascal, Atmospheres, or Bar) and then enter a numerical
value in the field.
Only constant pressure throughout the process can be used. Also, the
pressure only influences reactions involving the gas phase.
l Table input to add or use the values entered in the Process Schedule table.
Zones
In this section define the material zone(s), which are added to a Zone or Reaction zone on
the Materials tab.
Enter a Name and density (in kg/m3) for the zones.
For example, enter Steel and Slag, which in the next section are available to define for
Zone 1 or Zone 2 in the Reaction zone.
Select the Allow degassing check box to be able to simulate vacuum degassing, for
example.
Click the Add button to define additional items and the Remove button to delete items.
Reactions
In this section you are defining either a Reaction zone and/or Transfer of phase group.
Select the Allow degassing check box to be able to simulate vacuum degassing, for
example.
Click the Add button to define additional items and the Remove button to delete items.
Reaction Zone
If you choose Reaction zone from the list then enter an area (in m2).
Next choose from each Zone 1 and Zone 2 list the Zone as defined above, for example Steel
or Slag.
For mass transfer coefficient choose:
Reaction zone area and mass transfer coefficient defines the kinetics of the reaction
between the two zones. A large area and fast mass transfer results in fast kinetics.
Heat
Choose the type of heat to apply to the process: Constant cooling, Heat transfer, and/or
Heat.
Click the Add button to define additional items and the Remove button to delete items.
Constant Cooling
If you choose Constant cooling, enter a Name, choose either Zone or Reaction Zone and
enter a numerical value in the field in MW (megawatts).
If you choose Zone, you can further choose either Zone defined above (e.g. Steel or Slag). If
you choose Reaction Zone, then heat is lost from the EERZ, the size of which is calculated at
each timestep depending on the kinetic parameters defined in Reaction Zone.
This parameter defines how much heat is lost from a zone (or the reaction zone) by
radiation or convection and results in an overall cooling of the system.
Heat Transfer
If you choose Heat transfer, select two zones between where heat should flow and enter a
heat transfer coefficient in Wm2/K.
As different amounts of material and also different amounts of heat can be added to the
different zones, these temperature are different. As the two zones are in contact heat flows
from the hotter zone to the cooler zone thus equalizing the temperature. The amount of
heat flowing from one zone to the other is defined by the Heat transfer. A high heat transfer
coefficient leads to fast temperature equalization, a small heat transfer coefficient results in
the zones keeping different temperatures.
Heat
If you choose Heat, enter a Name, then select Zone or Reaction zone, choose a Zone (e.g.
Steel or Slag) and enter a percentage of MW efficiency in the field.
Select Heat if the system is actively heated by an external heat source such as an electric
arc or induction coil. Here only the efficiency is defined, which is the percentage of power
(for example electrical power) that is transformed into heat that enters the system and
heats it up. The profile of power versus time is defined in the Process Schedule.
Click Save when the Process Model is defined and enter a Process model name. Each time
you save a process model it adds it to the list on the main Configuration window, which you
can use in future set ups.
The following outlines what you can set on the Configuration window
Materials tab. The overall steps to set this up are described in Defining the
Process Simulation.
This section is similar to how you define the materials for the Equilibrium
branch. Some information is explained in more detail for Equilibrium
Simulation: Conditions Tab and not repeated here.
Material
Materials are grouped into Steel (or another user-defined Metal group), Slag (or another
user-defined non-metallic group), and Gas.
Some of what you choose from lists in this section depend on what you have entered as the
Process Model above. For example, the Zone or Reaction zone options are based on those
entries (e.g Steel or Slag).
To add one or more material groups click the green add button. Click the red
minus button to remove a material group. The new material inherits the
default settings of that group.
After choosing the Material for the section being defined, also enter a value of the
temperature in the field. Choose what Zone or Reaction zone it is to be Added to.
The times and amounts of additions are defined in the Process schedule.
Show Composition
When you click Show composition next to any material group, additional fields display
where you can further define each material group.
From this composition area you can click the Save material button to add the new material
to the group's list. The newly named material composition is then available for use with that
material group.
From the first Input type list select Mass percent, Mass fraction, Mole percent, Mole
fraction, or Absolute amount. For Absolute amount, you can directly enter values in the
fields in the unit selected above for Amount (Tonne, Kilogram, Gram, or Pound).
For the next list, the default is based on which group you are defining. For the Steel (Metal)
group it is Element, for Slag it is Component, and for Gas it is Gas component.
Choose Major component so that as you add other components, the major one is adjusted
to be the rest of the composition. Choose Normalize to total of 100% so that the sum is
adapted to 100%. This is useful if you need to work with a given composition that does not
sum up to 100% If you select Absolute amount, Normalize to total of 100% is not
available.
The following outlines what you can set on the Configuration window Process
Schedule tab. The overall steps to set this up are described in Defining the
Process Simulation. Also see Working with the Process Schedule.
On the Process schedule tab, the sequence and amounts of additions during the duration of
the process are defined. All the materials defined in the Materials tab automatically are
included in the table. If a heat addition is defined in the Process Model this is also included in
the table.
Plot
Select the Plot check box to include or exclude the components in the process schedule plot
area, for example, to help you examine the changes in the plot window, after defining the
Steel, Scrap, Slag, or Gas rows, see what happens when you remove one or more items from
the plot.
Unit
Enter a value and choose a unit Tonne, Kilogram, Pound, Kilogram per second, or
Kilogram per minute. For Gas you can also choose Normal m3 per minute as the unit.
If a unit Tonne, Kilogram, or Pound is selected, then the additions are defined as one-time
additions at a certain time. If a rate is chosen as unit of the addition (such as Kilogram per
minute or second, for gas Normal cubic meter per minute or second) then the rate of
addition is entered into the table and it stays constant until a different value is entered.
Options Tab
These settings are for the Process Metallurgy Calculator and are located on the
Configuration window → Options tab. Only unique settings are described below.
You can change some of these settings locally for a specific Process Metallurgy
Calculator or globally in the Options settings. To open the Options window:
From the main menu select Tools → Options. Click the Graphical Mode tab
then click Process Metallurgy.
Material Manager
See Working with the Material Manager for details.
Use the Material group and Material lists to create and delete material groups, as well as
delete material compositions that are saved from the Process Metallurgy Calculator. It is
useful for frequently used materials.
l Material group: To create or delete a group, choose it from this list, e.g. Steel, Slag,
or Gas. The Steel group is simply a generic Metal group. You can create other user-
defined metal groups and then these are listed. Click Create group or Delete group
as required to manage the list.
l Material: To delete a material, choose the group type then select the material
composition to delete. For example, select the Slag material group, then choose the
Example Slag material and click Delete material to remove it from all lists.
Minimization Strategy
Under Process Material Equilibrium and Grid, the Minimization strategy setting is used to
ensure that the most stable minimum under the specified conditions is computed. The
default uses the Global test preferred option for Equilibrium simulations and the Local
minimization preferred option for Process simulations.
With either the Global or Local preferred setting, the program cycles through options before
it gives up:
l For Global test preferred the minimization starts with a global test and if that fails it
runs full global minimization.
l For Local minimization preferred the minimization starts with a local minimization,
in case of failure it tries a global test and finally a full global minimization.
If you choose Local minimization only or Global minimization only, the program just tries
the one setting and gives up if it fails.
For general information about global minimization, see the topic related to the
Console Mode command, GLOBAL_MINIMIZATION.
Max no of iterations
Under Process Material Equilibrium and Grid, the default for the Max no. of iterations is
that the program tries 2000 iterations before it gives up.
Required accuracy
The default Required accuracy is 1.0E-6. This is a relative accuracy, and the program
requires that the relative difference in each variable must be lower than this value before it
has converged. A larger value normally means fewer iterations but less accurate solutions.
The value should be at least one order of magnitude larger than the machine precision.
Smallest fraction
Under Process Material Equilibrium and Grid, the default Smallest fraction is 1.0E-16. If
this value fails, the program tries other values. This is the value assigned to constituents that
are unstable.
The default value is for all phases except for the IDEAL phase with one sublattice
site (such as the GAS mixture phase in many databases) where the default value
is always as 1E-30.
Timestep Control
This section is used with the Process simulation calculations. Read About
Dynamic Time Stepping to better understand these settings.
Timestep
Under Timestep control, enter numerical values in the fields for the Timestep:
l Initial %
l Smallest allowed in seconds (s)
l Max % of duration
l To cancel all jobs: Right-click the Scheduled Jobs label or the cogwheel icon, and
select Cancel All Jobs
l To remove (clear) all failed activities and jobs: Right-click the Scheduled Jobs label
or the cogwheel icon, and select Clear All Errors
l To cancel a specific job: Right-click the job label (for example, Job no 1) and select
Cancel Job
l To remove (clear) a specific failed job: Right-click the job label (for example, Job no
1) and select Cancel Job
l To open a window with error details: Right-click the label for the failed job (for
example, Job no 1), and select Show Error Log
l To open the Event Log window: Click the Event Log window once to expand it or
select it from the Window → Event Log menu. Double-clicking the window
maximizes it
l To specify the level of detail in the Event Log: From the main menu select Tools
→Options. In the General tab set the Log level slide bar to anything between Debug
(most detailed) and Error (least detailed)
l Perform an activity: Right-click the activity and select Perform Now, or Perform
Later and schedule a time to perform the activity
l Perform an activity and all activities below it in the tree: Right-click any node in the
tree and select Perform Tree Now. Or select Perform Tree Later and schedule a
time for all activities in the tree to be performed
l Perform a project: Right-click My Project and select Perform Now or Perform Later
and schedule a time to perform all project activities in the tree
The terms diagram and plot are interchangeable. The commands in Console
Mode generally use the term diagram and in Graphical Mode it is also called a
plot (e.g. the Plot Renderer).
In Graphical Mode the output is displayed in the Results window. The output can be in the
form of a table when you use the Table Renderer or a diagram (plot) when you use a Plot
Renderer. In both cases you can save from the Configuration or Results windows. You can
print the table or diagram from the Results window.
Saving Diagrams
You can save the output in a variety of file formats. For JPG and PNG images you can also
adjust the image quality.
In Console Mode, the diagram is output to the Console Results window after
using the PLOT_DIAGRAM command.
In the Graphical Mode Configuration window you can also click the Save
Diagram (or Save table) buttons to open the Save window.
Saving Tables
You can save the table output in different file formats.
Printing Output
In the Results window, right-click the table or diagram and choose Print. Select additional
settings as required on the Print window.
Rotating 3D Plots
Plotting Options
The Plot Renderer is a dynamic activity node with options such as being able to:
l add more than one Plot Renderer to its predecessor node (i.e. one of the calculator
activities),
l add axes to the plots, and
l merge results in one plot.
Several Plot Renderer activities (as well as Table Renderer activities) can be shown in the Results
window as different tabs. The figure is from Graphical Mode example T_04.
A contour plot showing both the driving force and interfacial energy calculation results comparing
Mass percent Cr to Mass percent Mn.
3. Select a predecessor. When added, the extra predecessor is linked to the Plot
Renderer. On the Plot Renderer’s Configuration window, the predecessors are shown
as two tabs:
4. Configure how you want each calculation plotted on the tabs in the Configuration
window, then click to Perform the Plot Renderer activity.
The calculations are plotted in the same diagram in a tab in the Results window. If
any of the axis variables of the plots differ, then the label and scale of all calculations
are shown parallel to each other. The following shows two calculations where
different axes variables are plotted.
The following uses example PM_G_03: Driving Force and Interfacial Energy to describe the
steps to overlay two plots: the driving force and interfacial energy results are combined into
one diagram. The X and Y axis is the same for both (Mass percent Cr/Mass percent Mn).
1. In the Project window right-click the calculator node (e.g. Property Model
Calculator) and add a Plot Renderer node from the Create New Successor menu.
2. Click the Plot Renderer node.
3. In the Configuration window, define the plot. Available settings are based on the
calculation type.
Example
In this example the Property Model Calculator is set to a Grid calculation type.
Choose On for the Legend option and Contour as the Plot type.
4. Click the Add an axis button. A new axes settings section is added underneath.
5. From the Z Axis section choose the Axis variable. In this example, Interfacial energy.
6. Click Perform to plot both on the same diagram.
In this case, a contour plot showing both the driving force and interfacial energy
calculation results comparing Mass percent Cr to Mass percent Mn.
1. In the Project window right-click the calculator node (e.g. an Equilibrium Calculator)
and add a Plot Renderer node from the Create New Successor menu.
2. Click the Plot Renderer node.
3. In the Configuration window, define the plot. Available settings are based on the
calculation type.
4. Click the Add an axis button. A new settings section is added underneath.
5. From the X Axis and/or Y Axis sections define another Axis variable and choose an
Axis type.
6. Click Perform to plot both variables on the selected axis, in this example, the Y-axis.
In this example Amount of phase and Volume are selected as the Y-axis variables
and Temperature as the X-axis variable. The plot is an example of the output.
Heat Map
Each Z-axis variable value in the grid is represented by a color-coded area, where dark red
represents the highest Z-axis variable value and dark blue represents the lowest Z-axis
variable value.
Using an Equilibrium Calculator
Contour
Using a Property Model Calculator
Z-axis variable values are traced with curves in the same way that height values are traced
with curves on a topographical map. The colors used originate from the different data
series.
3D
Rotating 3D Plots
If you are using other virtualization software and experience problems with the
3D plot, a similar solution might apply.
Uncertainty Calculations
Using a Property Model Calculator or Process Metallurgy Calculator (Uncertainty
calculation) you can choose to create either a histogram or probability plot.
The following use the Property Model Calculator example: PM_G_01: Phase
Transition
Histogram
Probability
As long as the number of events (the sample size) is very large, then the Gaussian
distribution function can be used to describe physical events. A Gaussian distribution is
assumed to describe how each quantity varies in an uncertainty calculation, as shown next.
The values entered in the Δ Min/Max fields are the resulting width of the distribution
corresponding to the 95% confidence interval (approximately μ ± 2σ) shown in Gaussian
distribution, the 3-sigma rule.This confidence interval means that approximately 95% of the
sampled values fall within these limits, as shown next.
You can experiment by varying the conditions and the number of samples to see the
distribution results smooth out as is to be expected based on the Central Limit Theorem, as
shown in the histogram plot. You can also plot the results as a normal probability.
Histogram Plot
This series of histogram plots shows the uncertainty calculations sampling data from
Gaussian distributions. On the Plot Renderer the variable is set to measure the
Composition of Ni. It compares the Ni composition where the total sample size is increased.
In the example, the initial sample size uses the default, 200, and then the sample size is
increased to 300, 400, 600, 800, and 1000, showing how the plot follows the Gauss
distribution.
This is a normal probability plot example of the uncertainty calculations sampling data from
Gaussian distributions. It compares the Ni composition where the total sample size is 200.
The sampled data (blue line) closely follows the ideal normal distribution (red line).
Deviations are naturally larger at the tails (≈1%Ni and ≈2%Ni) since the number of samples
are fewer there compared to the center of the distribution.
Rotating 3D Plots
Heat Map, Contour and 3D Plots
When you use a Grid calculation type you can plot the diagram in 3D.
In the Results window after you create the 3D plot:
l Rotate the diagram automatically. Double-click in the Results window and the
diagram rotates clockwise. Click once to stop the automatic rotation.
l Rotate the diagram manually. Click and hold the mouse and move it around the
Results window.
l Use the mouse wheel to zoom in and out. To reset the plot to its default view click
Perform Tree to regenerate the plot.
The defaults for these settings can be changed globally. To open the Options
window: From the main menu select Tools → Options and click the Activities
tab. Then click Tabulation.
To prevent unintended edits, hold down <Ctrl> while moving the cursor around
the plot to only display it as a crosshair.
Plot Labels
To add a label text at a certain point in a plot, right-click the point, and select Add Label. For
phase diagrams, the program suggests a label that you can keep or edit. The suggested label
specifies the names of the stable phases at the coordinate where you clicked. For all other
plot types, you enter your own text, which can either be Plain text or LaTeX formatted text.
You can enter the label as Plain text or in LaTeX-formatted text. For LaTeX-formatted text
enter or edit the text as required. For example, underscores (_) are added before the
numbers to make subscripts in the label.
By default when using LaTeX, you are in math mode and Thermo-Calc
automatically interprets the entered text as math. The above link uses the
dollar sign ($) in all the examples but this is NOT required. For example, if you
enter $E=mc^2$ this is displayed including the $ instead of the equation.
To add a mixture of plain text and equation text, you can exit math mode using the string
\textrm followed by the text to display enclosed in curly brackets. For example \textrm
{Mole-fraction }Al_2O_3 results in the label as shown:
In this example, you need to add a space at the end of fraction in order to
separate the text from the equation part of the label.
When working in Console Mode, you can also use the above windows on the
Console Results window to add and edit labels. In addition, you can use the
command.
Close up of a plot label before being moved (top) and after being moved (bottom). The arrow in the
lower image points to the label's original location on the plot.
In Graphical Mode the label styles are defined when using the Plot Renderer. You can select
a Legend style for the Stable phases or Axis quantity selected for Legend option.
When there is a legend in the diagram you can append constitution and/or ordering
descriptions to the phase name.
If constituent description is included in the legend, then for each equilibria along a line in
the diagram, the largest constituent fractions are summed until they are equal or greater
than 0.6. This is done separately for each sublattice. If the equilibria along the line gets
different sets of constituents these are all appended to the list for that sublattice.
The ordering description is only printed for partitioned phases (phases that have a
disordered contribution) that begins with at least two identical sublattices (sublattices where
the set of constituents are identical). DISORD (disordered) is shown if site fractions are
identical between identical constituents on all identical sub lattices (with an error margin)
otherwise ORD (ordered) is shown in the legend.
If ordering between equilibria in a line are different, then ORD + DISORD is shown in the
legend.
Specifically:
l There are two disordered FCC phases (matrix and carbide), one ordered FCC
(gamma prime), plus a phase NI3TA_D0A (called Delta in Ni-alloys).
l ORDERING shows the different FCC phases.
l CONSTITUTION shows that FCC_L12#1 is NbC, FCC_L12#2 is matrix with Ni and Cr as
major constituent, FCC_L12#3 is Ni3Al with Nb addition and NI3TA_D0A is Nb-rich
(eg. Ni3Nb).
Label Styles
These examples are for each label style choice - None, All, Constitution or Ordering. The
instructions are for when you are setting the options using the Plot Renderer. In Console
Mode, you choose the options (ALL, NONE, CONSTITUTION, or ORDERING) after the command
CHANGE_LEGEND.
None
When None is selected the legend includes the standard information about the phases.
All
When you select All the Constitution description and the Ordering description (when
there is ordering) are included.
Constitution description
When you select Constitution description, this is added to the standard description.
Ordering description
When you select Ordering description and when there is ordering, this is added to the
standard description.
Thermo-Calc Graphical Mode Examples Collection includes binary and ternary system
T_01 to T_12
examples, Scheil, the Equilibrium Calculator, plus more
l Temperature is 1000 K
l Pressure is 100000 Pa
l System size is 1 mole
l Mass percent carbon is 0.1%
This example is included as a tutorial on our website and our YouTube channel.
Figure 14: The displayed results of the calculation show that the BCC_A2 (ferrite) and GRAPHITE
phases are stable for this set of equilibrium conditions.
This example is included in the tutorial on our website and YouTube channel.
Figure 15: In this example, results are displayed graphically using a Plot Renderer activity.
If you want, you can use a Table Renderer to generate text results instead, as shown in this
example after adding a Table Renderer to the Equilibrium Calculator and clicking Perform.
This example is included as a tutorial on our website and our YouTube channel.
Figure 16: The plot result of the System Definer and Equilibrium Calculator.
This example is included as a tutorial on our website and our YouTube channel.
Try practicing with two features on the Plot Renderer Configuration window. To toggle
between a triangular and a rectangular diagram, click the Show Triangular button then
click Perform to see what happens. To toggle the X and Y axis variables, click the Switch
Axes button and then click Perform.
Many of our Graphical Mode examples have video tutorials, which you can
access in a variety of ways. When in Thermo-Calc, from the menu select Help →
Video Tutorials, or you can go to the website or our YouTube channel.
Many of our Graphical Mode examples have video tutorials, which you can
access in a variety of ways. When in Thermo-Calc, from the menu select Help →
Video Tutorials, or you can go to the website or our YouTube channel.
Equilibrium Calculator 1
In the first example, the objective is to calculate the equilibrium at 850° C where the mole
fractions of the FCC A1 and BCC A2 phases are 0.5 each for an Fe-Cr-C steel with 10%
chromium. In Equilibrium Calculator 1 a simple set of equilibrium conditions (temperature,
pressure, system size and composition) are used to find a carbon content where only the FCC
A1 and BCC A2 phases are stable. The results from this preliminary calculation are displayed
in Table Renderer 1.
Equilibrium Calculator 2
In Equilibrium Calculator 2 the carbon content equilibrium condition is replaced by the
condition that the numbers of moles of the BCC A2 phase should be 0.5. The final result is
displayed in Table Renderer 2. In this case, the final objective is to calculate the solidus
temperature of an Fe-Cr-C steel with 10% Cr and 0.01% C.
Equilibrium Calculator 3
In Equilibrium Calculator 3 the state at 2000 K is calculated and the result is displayed in
Table Renderer 3.
Equilibrium Calculator 4
In Equilibrium Calculator 4 the temperature equilibrium condition is replaced by the
condition Fix phase / liquid / 0.0, meaning that liquid should be stable in an amount of zero
moles, i.e. the solidus temperature. The final result is displayed in Table Renderer 4.
Many of our Graphical Mode examples have video tutorials, which you can
access in a variety of ways. When in Thermo-Calc, from the menu select Help →
Video Tutorials, or you can go to the website or our YouTube channel.
For video tutorial examples using Scheil, see our website and YouTube channel.
Figure 22: The plot compares the mole fraction of a solid vs temperature.
Figure 23: The table provides the data, which you can also export.
Method 1
In the Results window, right click the table and select Save As...
Method 2
1. In the Project window, click the Table Renderer.
2. In the Configuration window, click Save table.
Many of our Graphical Mode examples have video tutorials, which you can
access in a variety of ways. When in Thermo-Calc, from the menu select Help →
Video Tutorials, or you can go to the website or our YouTube channel.
The Scheil with back diffusion feature is only available for systems with diffusion
data, i.e. it requires the use of a mobility database.
For video tutorial examples using Scheil, see our website and YouTube channel.
Figure 24: Scheil solidification. The lower cooling rate produces a solidification curve that is closer to
the equilibrium curve .
Not all databases have this property although it is being added to databases as
these are updated over time. Currently it is available with the latest versions of
TCNI and TCAL.
Reference
[2005, Krasovskyy] V. P. Krasovskyy, Y. V. Naidich, N. A. Krasovskaya, "Surface tension and
density of copper–Zirconium alloys in contact with fluoride refractories," J. Mater. Sci.
40, 2367–2369 (2005).
You can learn more about the surface tension model by searching the help
(press F1 when in Thermo-Calc).
Not all databases have this property although it is being added to databases as
these are updated over time. Currently it is available with the latest versions of
TCFE, TCHEA, TCNI and TCAL.
Reference
[2005, Sato] Y. Sato, K. Sugisawa, D. Aoki, T. Yamamura, "Viscosities of Fe–Ni, Fe–Co and Ni–
Co binary melts," Meas. Sci. Technol. 16, 363–371 (2005).
You can learn more about the viscosity model by searching the help (press F1
when in Thermo-Calc).
The General Models are available to all users. To run calculations with the
Steel Models (as part of the Steel Model Library) requires a valid maintenance
license plus licenses for both the TCFE (version 9 and higher) and MOBFE
(version 4 and higher) databases. See Properties that Can Be Calculated on our
website for more information.
These examples use the Property Model Calculator, an activity available with Thermo-Calc.
In this section:
This example is included as a tutorial on our website and our YouTube channel.
Figure 25: A property diagram as a result of using the Equilibrium Calculator with a One-axis
calculation to determine a good starting temperature of the SIGMA phase.
Once you set up the Property Model Calculator, but before running a Grid calculation, it is
recommended you run a Single calculation to make sure the calculation is valid. If the
subprocess completed normally displays in the Event Log, it means it worked correctly.
You will also see in the Log, the result "Relaxed Condition", which refers to the variable, in
this case, temperature. If the calculation did not work, you will see NAN (not a number)
display instead. Check your configurations and run it again before moving on to the more
complicated calculation.
Figure 26: Using the Property Model Calculator with the Phase Transition Model to plot a histogram
showing how the transition temperature of sigma varies when you vary the composition. The plot
changes each time you run the calculation because it is taking a random sampling from the
composition range set.
Note that the X-axis is labeled the Relaxed Condition, which you can see on the
Configuration window it is Temperature for the Condition to Vary setting. The Y-axis shows
the Frequency, which is the number of samples out of 40 where the composition transitions
at each temperature. You can see that the transitions occur more frequently near the 600
degree starting point and less frequently at the edges.
This example is included as a tutorial on our website and our YouTube channel.
Coarsening Property Model Settings and Interfacial Energy Property Model Settings
Figure 30: The coarsening rate coefficient and interfacial energy in overlayed plots.
This example is included as a tutorial on our website and our YouTube channel.
Driving Force Property Model Settings and Interfacial Energy Property Model
Settings in the Thermo-Calc User Guide.
The example uses the Property Model Calculator and the Yield strength Property Model
with a thermodynamic demonstration aluminum database (ALDEMO).
This example compares the Simplified and Seidman models yield strength versus
precipitate radius to experimental data for an Al-0.3wt%Sc alloy homogenized at 648 °C for
24 hours and subsequently aged at 350 °C. Although the experimental set up is designed to
eliminate grain boundary and solid solution strengthening, these are also included by
optimizing the model parameters.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
The example uses the Property Model Calculator and the Yield strength Property Model
with a thermodynamic demonstration nickel database (NIDEMO).
The Reppich model is developed for calculation of precipitation strengthening in Ni-based
super alloys consisting mainly of gammaprime precipitates in a gamma matrix. The
example shows a calculation of the precipitation strengthening vs precipitate radius in a Ni-
10at%Al-10at%Cr alloy.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 36: Reppich model plotted with results and experimental data for PE16, all data is
normalized with the square root of the volume fraction of precipitate.
This example requires the use of the TCS High Entropy Alloy (TCHEA) database.
A license is required to run the example.
The example uses the Property Model Calculator and the Yield strength Property Model
with a thermodynamic high entropy alloy database (TCHEA). This is an example of solid
solution strengthening, which is the contribution to total strength due to the elastic strains in
the crystal lattice caused by alloying elements of a lattice parameter differing from the
main constituent. The example shows the solid solution strengthening over the full solubility
range for the Mo-Ta system as compared to experimental data.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
The example uses the Property Model Calculator and the Crack Susceptibility Coefficient
Property Model to calculate the hot tearing tendency during solidification for an Al-Si alloy.
The ALDEMO: Aluminum Demo Database is used and this example is available
to all users.
Hot tearing is one of the most common and serious defects encountered during the casting
of, for example, aluminum alloys. In general, it is defined by the formation of a macroscopic
fissure in a casting as a result of stress and the associated strain, generated during cooling,
at a temperature above the non-equilibrium solidus.
The Model is based on the publication by Yan and Lin [2006, Yan] and uses experimental
data [1955, Pumphrey; 1976, Feurer; 2004 Barnett] from this paper.
The experimental hot cracking susceptibility of an alloy is defined as the ratio between the
cracking length for that alloy and the maximum cracking length in the alloy system studied.
Considering the uncertainties and difficulties in hot tearing measurements, the calculated
hot tearing tendencies are in excellent agreement with the experimental data. The typical L-
shaped curve is well reproduced in the current prediction. It rapidly increases at a low solute
content and has a maximum at a composition of around 0.5 wt pct Si.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 38: The plot compares the predicted cracking susceptibility/composition curve for the Al-Si
system with the experimental hot tearing tendencies [1955, Pumphrey; 1976, Feurer; 2004
Barnett].
References
[1955 Pumphrey] W.I. Pumphrey: ‘‘The Aluminum Development Association Report No. 27,’’
Aluminum Development Association, London, 1955.
[1976 Feurer] V. Feurer: Giessereiforschung, 1976, vol. 28, pp. 75-80.
PM_G_08: Spinodal
About the Spinodal Property Model
The example uses the Property Model Calculator and the Spinodal Property Model to
calculate the so-called spinodal curve for the BCC_A2 miscibility gap in the system Fe-Cr.
The FEDEMO: Iron Demo Database is used and this example is available to all
users.
Two Property Model Calculators are used in this example. The spinodal curve (a One axis
calculation), is overlayed on top of a the Fe-Cr Phase diagram calculation. As can be seen in
the plot, the spinodal curve for BCC goes through the one-phase region for Sigma. This is
because the spinodal curve for a phase is calculated when all other phases are suspended.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 39: An Fe-Cr spinodal curve for BCC goes through the one-phase region for Sigma.
The example uses the Property Model Calculator and the T-Zero Temperature Property
Model to calculate the so-called T0 line for the two-phase field FCC_A1 and BCC_A2 in the
Fe-Ni system. The line is plotted together with the phase diagram for the same Fe-Ni system.
The FEDEMO: Iron Demo Database is used and this example is available to all
users.
The T0 temperature is defined as the temperature where two phases of identical chemical
composition have the same molar Gibbs free energy. This temperature is an important
quantity in the field of diffusionless phase transformations, e.g. martensitic transformation,
since it is the upper limit where diffusionless phase transformations can occur.
Two Property Model Calculators are used in this example. The T0 line (a One axis
calculation) for the two-phase field FCC_A1 and BCC_A2 is overlayed on top of a the Fe-Ni
Phase diagram calculation.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 40: In this plot for the Fe-Ni system, the T0 line for the FCC_A1 and BCC_A2 phases is located
in the middle of the two-phase region. No solution for the T0 temperature exists above about 30
mass% Ni.
The TCAL Al-Alloys Database (version 7 and newer) is used in this example. A
valid license is required to run the example.
The example uses the Property Model Calculator and the Equilibrium with Freeze-in
Temperature Property Model to compare the use of the model with thermal conductivity
with and without grain boundary (GB) phase scattering being included in the calculation.
The TCS Al-based Alloy Database (TCAL) is used to evaluate a 7075_T6 alloy (Al-1.6Cu-
2.5Mg-5.6Zn-0.25Fe-0.15Mn-0.23Cr-0.2Ti-0.2Si) mass%. The "T6" in the alloy name means
that the alloy has been artificially peak-aged, i.e. the matrix is almost depleted. The heating
is assumed to be at a typical artificial aging temperature of 150 °C. The temperature has
then been increased for measuring of the reported values thermal conductivity at 400, 500,
and 532 °C.
The electrical resistivity due to grain boundary phase scattering is approximated as a
scattering constant times the total volume fraction of the grain boundary phases. The
contribution to thermal conductivity is assumed to be related to that to electrical resistivity,
following the Wiedemann-Franz law.
The calculation set up assumes that the alloy reaches equilibrium at the peak-age
temperature, i.e. that the amounts of phases and their composition freeze-in at 150 °C and
that these do not change for the evaluation of thermal conductivity at the temperatures 400,
500, and 532 °C. Calculations are compared between accounting and ignoring contributions
from grain boundary (GB) phase scattering.
As can be seen in Figure 41, the calculation including the approximate effect of grain
boundary phase scattering is close to the experimentally measured values. Excluding the
effect of grain boundary phase scattering slightly overestimates the thermal conductivity.
Experimental data is from [2008, ASM].
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 41: Comparing the freeze-in temperature for the 7075_T6 alloy with and without grain
boundary (GB) scattering included in the calculations.
Reference
[2008, ASM] ASM Handbook Committee, ASM Handbook Volume 15: Casting. ASM
International, p. 468-481, 2008, ISBN 978-0-87170-711-6.
The TCAL Al-Alloys Database (version 7 and newer) is used in this example. A
valid license is required to run the example.
The example uses the Property Model Calculator and the Equilibrium with Freeze-in
Temperature Property Model to compare the use of the model for electric conductivity with
and without grain boundary (GB) scattering being included in the calculation.
The TCS Al-based Alloy Database (TCAL) is used to evaluate a 4032-O alloy (Al-0.9Cu-1.0Mg-
0.9Ni-12.2Si) mass%. The "O" in the alloy name means that the Al alloy has been heat-
treated at a typical temperature of 350 °C. The measurement of electric resistivity is usually
performed at room temperature.
The electrical resistivity due to grain boundary phase scattering is approximated as a
scattering constant times the total volume fraction of the grain boundary phases.
The calculation set up assumes that the alloy reaches equilibrium at the "O" heat-treated
temperature, i.e. that the amounts of phases and their composition freeze-in at 350 °C and
that these do not change for the evaluation of electric resistivity at the room temperature.
Calculations are compared between accounting and ignoring contributions from grain
boundary (GB) scattering.
As can be seen from Figure 42, the calculated electric resistivity at room temperature,
including grain boundary phase scattering, is very close to the experientially measured value
(4.3E-8) for the alloy. Excluding the grain boundary phase scattering somewhat
underestimates the electric resistivity for the alloy. Experimental data is from [1993, Davis].
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 42: Comparing the freeze-in temperature for the 4032-O alloy with and without grain
boundary (GB) scattering included in the calculations.
Reference
[1993, Davis] J.R. Davis, ASM Specialty Handbook: Aluminum and Aluminum Alloys, 1993,
ASM International. Pages: 784. ISBN: 978-0-87170-496-2.
The General Models are available to all users. To run calculations with the
Steel Models (as part of the Steel Model Library) requires a valid maintenance
license plus licenses for both the TCFE (version 9 and higher) and MOBFE
(version 4 and higher) databases. See Properties that Can Be Calculated on our
website for more information.
These examples use the Property Model Calculator, an activity available with Thermo-Calc
plus Property Models in the Steel Model Library.
In this section:
The example uses the Property Model Calculator with the Martensite Fractions and
Martensite Temperatures Models to calculate martensite fractions and martensite
temperatures [martensite start (Ms) and 90% transformation temperature (M90)].
The alloy is first intercritically annealed and then quenched. Austenite composition is
determined by an equilibrium calculation at the annealing temperature. Martensite fraction
is calculated as a function of temperature which the alloy is quenched to. The example also
shows how Cr content in the alloy influences Ms and M90 after intercritical annealing.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 43: The transformation curves plot showing Fe-Cr-C martensite with intercritical annealing.
Reference
[1949, Harris] Harris, William J, and Morris Cohen. 1949. “Stabilization Of The Austenite-
Martensite Transformation.” Trans. AIME 180: 447–70.
The example uses the Property Model Calculator with the Martensite Temperatures
Property Model to calculate the Ms temperatures of different types of martensites: lath,
plate, and ε (hcp), compared with experimental ε Ms values taken from several sources.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 45: A diagram showing all the Ms temperatures of different types of martensite
morphologies (lath, plate and epsilon (hcp) compared with experimental epsilon Ms values.
The example uses the Property Model Calculator and with the Pearlite Property Model and
shows how to calculate pearlite growth rate, lamellar spacing, and times of start (2%
transformation) and finish (98% transformation) as functions of isothermal heat treating
temperature in an Fe-0.69C-1.80Mn alloy (mass %). With maximize growth rate set as the
criterion, the model gives maximal growth rate and minimal lamellar spacing. With optimal
pearlite as the pearlite mode, the model optimizes partitioning of substitutional alloying
element(s) (Mn in this example) according to the criterion, which realizes a smooth
transition between ortho-pearlite at high temperature and para-pearlite at low
temperature.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 48: The TTT (time-temperature-transformation) diagram showing times of start (2%
transformation) and finish (98% transformation) as functions of isothermal heat treating
temperature in an Fe-0.69C-1.80Mn alloy (mass %).
Reference
[1974 Razik] Razik, N.A, G.W. Lorimer, and N Ridley. 1974. “An Investigation of Manganese
Partitioning during the Austenite-Pearlite Transformation Using Analytical Electron
Microscopy.” Acta Metallurgica 22 (10): 1249–58.
The example uses the Property Model Calculator and the Critical Transformation
Temperatures Model to calculate the distribution of the typical phase transition
temperatures for a low alloy steel (Fe-0.3Cr-1.0Mn-0.3Mn-0.18C) when the composition is
varied within the specification for the alloy.
The FEDEMO: Iron Demo Database is used and this example is available to all
users.
In the set up of the example, the Critical Transformation Temperatures model is used with
a Property Model Calculator Uncertainty calculation to plot a histogram showing the
distribution of A1- and A3-temperatures (Figure 49). As a comparison, an Equilibrium
Calculator, One axis calculation results in a property diagram showing the phase transitions
for the nominal composition (Figure 50).
The phase transition temperatures are defined as:
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Figure 49: The distribution of the A1 and A3 phase transition temperatures for a low alloyed steel
(Fe-0.3Cr-1.0Mn-0.3Mn-0.18C) when the composition is varied within the specification. This plot
uses the Critical Transformation Temperatures model with the Property Model Calculator.
Figure 50: This plot uses an Equilibrium Calculator to show an alternate visualization of the phase
transitions in a property diagram for the nominal composition.
A license for both TCFE and MOBFE databases are required run this example,
which is part of the Steel Model Library.
The example uses the Property Model Calculator and the Bainite Steel Model to calculate
a Time-Temperature-Transformation (TTT) diagram for an Fe-0.97C-0.72Mn-0.32Si-1.54Ni-
0.8Cr-0.26Mo alloy. The result is compared to experimental results from [1948, Jaffe]. Other
elements with low amount in the experimental alloy are omitted for the calculation.
Considered elements: Fe, C, Mn, Si, Cr, Ni, Mo. Other elements in the system
are neglected for bainite by mass percent.
A Property Model Calculator is used with a One axis calculation and the TTT mode available
on the Plot Renderer to plot the TTT diagram.
For more information about the TTT diagrams and TTT mode, see Plot Settings:
TTT Mode and Steel Library TTT Diagram Template.
Also see our website and YouTube channel for tutorial videos related to the
Property Model Calculator.
Reference
[1948, Jaffe] L. D. Jaffe, “Anisothermal formation of bainite and proeutectoid constituents in
steels,” Trans. AIME, vol. 176, pp. 343–383 (1948).
All users can test the Process Metallurgy Module with the included OXDEMO
database, which is limited to these elements: Al, C, Ca, Fe, O, S, and Si. For
more information about this and other products visit our website.
In this section:
This example does not require a license to run the simulation. It works with both
the TCS Metal Oxide Solutions Database (TCOX versions 8 and newer) as well as
the free OXDEMO database.
Open the example project file from Thermo-Calc Help → Example Files →
Process Metallurgy → PMET_01_Basic_Oxygen_Furnace.tcu.
This example is included as a tutorial on our website and our YouTube channel.
In general, the steps to set up this simulation are described in Defining the Equilibrium
Simulation. After setting up the steel, slag and gas system, you can generate various plots to
analyze the results. Below is a brief summary of this analysis.
See Phase Groups for details about how the Process Metallurgy Module plot labels
are grouped into the liquid metal, solid metal, solid oxides, liquid oxides and gas
phases.
For this example, a One axis calculation type is used for all plots. The Grid Definition settings
for these plots are also set on the Process Metallurgy Calculator:
After the plot is generated, by default you can see the Amount of phase group is plotted on
the Y-axis as a function of the quantity plotted on the X-axis, in this case the Amount of
Oxygen (GAS).
Zooming into the low gas amount (see below), it can be seen that the evolution of the gas
phase is retarded. The reason is that the oxygen gas first oxidizes some of the silicon
dissolved in the steel to form silicon dioxide (SiO2). Only when the silicon content in the steel
has dropped below a certain level can the oxygen gas burn away the carbon dissolved in the
steel to form a carbon monoxide (CO)-rich gas phase.
These reactions can be investigated in more detail with different plots, so we will do that.
In the plot (that uses a linear axis) the reduction of the carbon content can be clearly seen.
This reduction of the carbon content is what is termed “steelmaking”. The hot metal coming
from the blast furnace has a very high carbon content of typically 4.5 wt%. If it is left to
solidify without lowering the carbon content, it will be extremely brittle and be unfit for
rolling or forging.
Other changes in steel chemistry occurring in the BOF can be made visible by changing the
Y-axis type from linear to logarithmic.
In the example project file only the logarithmic 10 version of the plot is
included.
Now you can see the removal of the elements from the liquid steel in the following order:
first calcium, then aluminium, then silicon and finally carbon (Ca, Al, Si and C) according to
their position on the Ellingham diagram.
This plot shows how the liquid slag composition changes as a function of the amount of
oxygen added to the BOF.
At first, the SiO2 content of the slag rises sharply. This is due to the initial oxidation of the
silicon dissolve in the hot metal. The SiO2 that is formed combines with the slag and
increases its SiO2 content.
This increased SiO2 content reduces the liquidus temperature of the slag and, as you can see
in the first plot, thereby increases the amount of liquid slag and reduces the amount of solid
oxides. This is also exactly what happens in reality.
On further addition of oxygen to the liquid steel, the silicon dioxide (SiO2) content in the slag
increases further and further as more silicon is oxidized and combines with the slag. At the
same time the oxygen partial pressure in the steel slowly increases. After about 6 tonnes of
oxygen have been added to the system, the oxygen pressure is high enough to start oxidizing
the steel itself.
The slag quickly becomes rich in iron oxide (FeO). When this starts happening, the
steelmaking process is complete and the steel is ready to be tapped into a ladle for further
steel refining.
The example uses the Process Metallurgy Calculator to represent a simplified steel refining
process in a ladle furnace (LF). It introduces you to the workflow of the Process Metallurgy
Module. It is recommended you open the example project file and watch the companion
video. The video walks you through setting up the material groups as well as analyzing the
results.
This example does not require a license to run the simulation. It works with both
the TCS Metal Oxide Solutions Database (TCOX versions 8 and newer) as well as
the free OXDEMO database.
You can open the example project file from Thermo-Calc Help → Example Files
→ Process Metallurgy → PMET_02_Ladle_Furnace.tcu.
This example is included as a tutorial on our website and our YouTube channel.
In general, the steps to set up this simulation are described in Defining the Equilibrium
Simulation. After setting up the steel, slag and gas system, you can generate various plots to
analyze the results. Below is a brief summary of this analysis.
See Phase Groups for details about how the Process Metallurgy Module plot labels
are grouped into the liquid metal, solid metal, solid oxides, liquid oxides and gas
phases.
The material saved for this example, Steel_LF, could be a typical, but simplified composition
of a fully killed SAE 1040 grade steel. The sulfur content, however, is too high for most final
applications and must be reduced. Sulfur is usually removed from liquid steel in a ladle
furnace using a calcium oxide-rich slag.
In this example, we want to find a slag composition that efficiently desulphurizes the steel.
For this particular calculation we choose not to define a constant amount of slag but instead
use absolute amounts of components. To do this, we set the Input type for the Slag material
group to use Absolute amount. After saving this composition, it becomes the slag material
for this example, Slag_LF.
For this example, the gas phase is not considered, which is why the Gas material
group has been removed in the example project. This does not mean that no gas
phase is allowed to form; it simply means that no gas phase is used to set the
calculation conditions.
For this example, a Grid calculation type is used for all plots. The Grid Definition settings for
these plots are also set on the Process Metallurgy Calculator:
Leave the number of calculation steps at 10 for both axes in order to shorten
the calculation time. With this setting, the calculation should be completed in
just under one minute. The number of steps could be increased to maybe 30 x
30 for higher resolution of the results, but this increases the calculation time
significantly.
In the example project file only the Ratio of liquid slag and sulfur in liquid steel
contour plot is included.
We want to understand whether our slag phase is liquid or not. To create the plot below, add
a Plot Renderer node with a Contour plot and choose Fraction of liquid slag as the Z-axis
variable. Set the interpolation as 50 x 50 and click Perform.
The plot shows that for low amounts of aluminium oxide (Al2O3) and silicon dioxide (SiO2),
almost no liquid slag is present. Process metallurgists refer to this as a hard slag.
Such a hard slag is in fact just solid oxide phases that passively float on the liquid steel. It
does not react with the liquid steel for kinetic reasons and therefore does not desulfurize the
steel.
Practical slag compositions are limited to the top, right field above the “fraction liquid slag =
0.9” contour line. Only here a liquid slag phase is present that can flow and can mix and
react with the steel.
Next we are interested in the ability of the slag phase to remove sulfur (s) from the liquid
steel.
Refer to the Sulfur in liquid steel 3D plot included with the example. The red colors in the
upper right-hand corner at high SiO2 and Al2O3 content show that the steel contains high
amounts of sulfur.
This means that only a little of the sulfur in the liquid steel partitioned into the slag phase
and the slag phase has a poor capacity to take up sulfur.
The blue colors in the lower left-hand corner indicate that the liquid steel contains only very
low amounts of sulfur, so this indicates a slag composition that is effective at removing
sulfur, or in other words, has a high sulfur capacity.
Combining the information contained in the two plots results in an optimum slag
composition in a narrow composition band. To smooth the contours, Set the interpolation as
50 x 50.
To map this optimal composition field one more plot can be generated by superimposing
contour plots of sulfur content in the liquid steel and fraction of liquid slag.
Since we want to have at least 95% liquid slag, in the set of axis variables for Fraction of
liquid slag, click to select the check box next to Use custom contour values and enter 0.95
in the field.
We also want to have less than 0.005% sulfur in the liquid metal, so also select the same
check box for the other Z-axes and set the value of sulfur to 0.005 . Click Perform.
The optimal slag has a composition delimited by these two contour lines, so below the
contour line for sulfur content in the liquid steel and above the contour line for fraction of
liquid slag will be both fully liquid and effectively desulfurizes the steel.
This example does not require a license to run the simulation. It works with both
the TCS Metal Oxide Solutions Database (TCOX versions 8 and newer) as well as
the free OXDEMO database.
You can open the example project file from Thermo-Calc Help → Example Files
→ Process Metallurgy → PMET_03_Argon_Oxygen_Decarburization.tcu.
The Argon Oxygen Decarburization (AOD) process is a converter process applied in stainless
steel making. In this process the oxidation of chromium in the steel melt needs to be
prevented while carbon is oxidized. This is achieved by reducing the oxygen partial pressure
by having a high Ar-content in the blowing gas. It is a highly exothermic process that
requires adiabatic modeling. In this example the conversion of carbon-rich steel scrap is
modeled together with additions of Ferronickel and Ferrochrome to a stainless steel.
The AOD-process is characterized by an initially high O2-content of the blowing gas, which is
gradually replaced by Ar. The maximum temperature of the process is typically around 1720
°C. A grid plot of an adiabatic calculation is well suited to model the required simultaneous
change of amount of gas and its composition during this process. The black line in the plot
above indicates a possible process control path that finally leads to suitable alloy
composition close to a X5CrNi 18-10 stainless steel.
In principle, this plot could be used to control the blowing gas flow in a plant process.
However, note that the simulation only considers a global gas phase, i.e. additional gas is
added but never removed. This means that the given gas phase composition is an average
one and not identical to the composition of the gas flowing in at each point in time.
Additionally there is a certain impact on the resulting equilibria from the fact that all gas
remains in the system and is not removed.
Slag Basicity
Figure 52: The Slag Basicity plot shows the basicity of the slag (which is a measure for the sulphur
capacity of the slag). The process achieves a final basicity of 1.74 which is typical for an AOD-
process. The black line in the plot indicates a possible process control path that finally leads to
suitable alloy composition close to a X5CrNi 18-10 stainless steel.
S Content in Steel
Figure 53: In the S Content in Steel plot, the sulphur content in the steel melt is slightly reduced
during the process from 0.056% in the initial steel scrap to finally ca. 0.035%. The black line in the
plot indicates a possible process control path that finally leads to suitable alloy composition close to
a X5CrNi 18-10 stainless steel.
Cr Content in Slag
Figure 54: In the Cr Content in Slag plot, the Cr2O3-content in the slag reaches at the end of the
process ca. 26 wt-%. This is typical for the AOD-process and requires an additional Cr-recovery step
after the conversion to reduce the loss of chromium. The black line in the plot indicates a possible
process control path that finally leads to suitable alloy composition close to a X5CrNi 18-10
stainless steel.
Amount of Slag
Figure 55: In the Amount of Slag plot, you can see that the process generates about 15 tons of slag
in the total. The black line in the plot indicates a possible process control path that finally leads to
suitable alloy composition close to a X5CrNi 18-10 stainless steel.
Figure 56: In the Liquid Slag Fraction plot, you can see that towards the end of the process the slag
is calculated to be mostly liquid. The black line in the plot indicates a possible process control path
that finally leads to suitable alloy composition close to a X5CrNi 18-10 stainless steel.
This example requires a license to run the simulation. It works with TCS Metal
Oxide Solutions Database (TCOX) versions 8 and newer.
One way to learn how to work with the Process Metallurgy Calculator is to use
the project files as templates to help you set up your own simulation. For
example, you can examine the settings available on the Configuration window
and that are described in Process Simulation: Conditions Tab and the Options
Tab.
To open this project file, from the Thermo-Calc menu, go to Help → Example Files →
Process Metallurgy → PMET_04_Basic_Oxygen_Furnace_Kinetics.tcu.
Once you open the project file, click Perform Tree at the bottom center of the
Configuration window. It takes a few minutes to run the simulation.
Figure 57: The Process Metallurgy Calculator for this example is renamed BOF - Calculator in the
Project window. To the right is the Configuration window where you choose to define a Process
simulation.
Figure 58: The settings you need to access are on the Process Metallurgy Calculator Configuration
window. From here, you perform three steps to set up a kinetic simulation. (1) Edit the Process
Model, (2) Define the Materials, and then (3) Define the Process Schedule.
Figure 59: The Edit Process Model window for a Process Metallurgy Calculator using the Process
simulation branch.
Figure 60: The Materials tab for a Process Metallurgy Calculator where you can define the
composition, temperature and zone.
Figure 61: The Process schedule tab for a Process Metallurgy Calculator where you enter your
steelmaking recipe.
Plot Results
Many different aspects of the reactions taking place in the BOF can be plotted and analyzed.
After you run the project file and obtain the plots, you can experiment by adjusting the
settings on each Plot Renderer to see what happens in each case. There is more analysis
about this and other examples available at the links to our website.
A variety of video tutorials are available for many of our products and features
on our website and our YouTube channel. The library keeps growing so be sure
to check back on a regular basis.
Figure 62: The temperatures of the steel and slag bulk zones.
This example requires a license to run the simulation. It works with TCS Metal
Oxide Solutions Database (TCOX) versions 8 and newer.
One way to learn how to work with the Process Metallurgy Calculator is to use
the project files as templates to help you set up your own simulation. For
example, you can examine the settings available on the Configuration window
and that are described in Process Simulation: Conditions Tab and the Options
Tab.
To open this project file, from the Thermo-Calc menu, go to Help → Example Files →
Process Metallurgy → PMET_05_Lab_Scale_Ladle_Furnace_Kinetics.tcu.
Once you open the project file, click Perform Tree at the bottom center of the
Configuration window.
first deoxidized with Si-Mn and then a synthetic top slag is added to the steel. Generally, by
using the project file and the information below, you can get an idea about how to set up a
ladle furnace simulation using the Process Metallurgy Module.
In the paper by Piva et al. [2017], it is experimentally investigated how the steel and
inclusion composition changes in function of time as the Si-Mn killed steel reacts with the
slag. This experiment can serve as a model for the production of SiMn killed steel with
subsequent top-slag deoxidation.
Figure 65: Diagram of the experiment performed by Piva et al. [2017]. The sequence as described in
the text is: (1) liquid Fe with dissolved oxygen; (2) FeMn and SiMn added to deoxidize Fe; (3) top
slag added after 360s; and (4) gradual reaction between steel, slag and inclusions.
According to the publication the following reaction sequence is expected as shown in the
diagram:
1. The deoxidizing agents dissolve and react with the oxygen in the steel forming oxide
inclusions, thereby reducing the amount of dissolved oxygen (“killing” the steel). The
kinetics are fast, and it can be assumed that the reaction proceeds to thermodynamic
equilibrium.
2. The inclusions formed in (1) slowly start to float upwards and are removed out of the
liquid steel.
3. After adding the slag (360 s after killing the steel in (1) the liquid steel starts reacting
with the slag.
4. The inclusions continue to float up out of the liquid steel and combine with the slag.
According to the authors the most important reaction that takes place is the
dissolution of Al out of the slag and its transferal into the liquid steel, where it reacts
with the inclusions and changes the chemistry.
In this example only the last reaction is simulated after adding the slag. The
kinetic parameters, compositions of all materials and process schedule are all
taken from the publication.
In this example, only part of the Al in the liquid steel is dissolved as metallic Al.
With the Process Metallurgy Module, it is possible to plot both dissolved Al and
also total Al.
In the steel industry this fraction of Al in the liquid steel is often termed dissolved Al. The
rest of the Al reacts with the oxygen in the liquid steel and forms oxide inclusions. The
amount of dissolved Al plus the Al bound up in oxide inclusions is often termed total Al. The
difference between total Al minus dissolved Al is an important measure for the steel
cleanness.
Total Al is what was measured by Piva et al. [2017] and their experimental data are
compared to the calculated values below.
Figure 66: Total Al in the steel compared with experimental data (blue/top curve). If only the
fraction of dissolved Al is to be plotted (red/bottom curve), this is done by selecting “Composition of
phase group” and “Liquid metal”. The bottom figure is available with the example.
Immediately after killing the steel with SiMn and FeMn, the liquid steel contains liquid
Si-Mn-oxide inclusions only. As the liquid steel picks up Al from the slag phase in function of
time, the inclusions get richer and richer in Al. This experimentally verified change in
inclusion chemistry is well reproduced by this simulation.
It is also possible to calculate the amount and type of inclusions present in the liquid steel. At
the beginning of the process all the inclusions are liquid oxides. After about 20 minutes
processing time, the first solid corundum (Al2O3) inclusions start appearing. After 25
minutes almost no liquid inclusions remain. The total amount of inclusions decreases in
function of time as they float up out of the liquid steel and combine with the slag floating on
top of the steel.
Figure 68: Amount of inclusions in the liquid steel in function of processing time. The total amount
of inclusions (red line) and liquid oxide inclusions (blue line) are plotted. Up to about 20 min all
inclusions are liquid oxide type, then they are replaced by solid corundum (Al2O3) inclusions.
Experimental data from Piva et al. [2017].
Reference
[2017, Piva] Piva, S. P. T., Kumar, D. & Pistorius, P. C. "Modeling Manganese Silicate
Inclusion Composition Changes during Ladle Treatment Using FactSage Macros," Metall.
Mater. Trans. B 48, 37–45 (2017).
This example requires a license to run the simulation. It works with TCS Metal
Oxide Solutions Database (TCOX) versions 8 and newer.
One way to learn how to work with the Process Metallurgy Calculator is to use
the project files as templates to help you set up your own simulation. For
example, you can examine the settings available on the Configuration window
and that are described in Process Simulation: Conditions Tab and the Options
Tab.
To open this project file, from the Thermo-Calc menu, go to Help → Example Files →
Process Metallurgy → PMET_06_Ladle_Furnace_Kinetics.tcu.
Once you open the project file, click Perform Tree at the bottom center of the
Configuration window. It takes several minutes to run the simulation.
The nodes in the Project window for this example. The Process Metallurgy Calculator is renamed to
EERZ model. If you click this node the Configuration window opens, which is where all the settings
for the process simulation are located. This advanced example also uses three Experimental Data
Reader nodes to read the experimental data that is included in the simulation results. After setting
up the system and accessing the experimental data, you then add Plot Renderers to the calculator
to generate the output in the Results window.
Process Schedule
The process schedule shows how this LF process is implemented in the Process Metallurgy
Module.
Figure 70: The Process schedule set up for this example. If you have the project open in Thermo-Calc
, click the Process schedule tab to view this. You can then click the check boxes in the Plot column to
include or exclude materials to better visualize the process schedule on this tab. This is based on the
LF steel refining process schedule as published by Graham and Irons [2009, Graham].
Temperature
The experimentally determined temperature of the steel can easily be reproduced to within
experimental uncertainty. In addition many more details of the temperature evolution in the
different zones of the ladle furnace can be resolved by the simulation. For example, the
addition of Al to the liquid steel results in a temperature increase due to the exothermal
oxidation of the Al by the dissolved oxygen. The addition of CaO to the slag phase on the
other hand results in a significant cooling of the slag due to the heat required to heat up and
melt the added CaO. It can also be seen that the heat added to the reaction zone during
electric arc heating results in a strong temperature increase of this zone. In reality the local
temperature is even much higher, but this is not resolved by this model.
A finer point to observe is that the temperature of the reaction zone is always slightly higher
than both the steel zone and the slag zone. The reason for this is that the reaction between
the steel and the slag is exothermic.
Figure 71: Temperature evolution of the steel zone, slag zone and reaction zone during the LF
treatment. The temperature of the reaction zone has been added to illustrate how its temperature
is increased by the heat input by the electric arc that is added to this zone (top). The bottom plot is
included with the example in Thermo-Calc and shows another way you can visualize the results.
Figure 72: Evolution of the steel chemistry in function of time during ladle furnace treatment. Most
of the experimentally measured datapoints are very well reproduced by this very simple model set-
up demonstrating that the underlying processes are well captured. This plot is not included with the
example but you can try to reproduce it yourself or go to our website to see the detailed example
available there.
Figure 73: Evolution of the slag chemistry in function of time during ladle furnace treatment.
Inclusion Composition
Finally, also the evolution of the inclusion compositions can be calculated. Up to about 25
min into ladle furnace processing the inclusions are almost pure solid corundum (Al2O3),
then a second population of MgO rich spinel inclusions start forming. This result captures
the essence of what is experimentally observed.
References
[2009, Graham] K. J. Graham, G. A. Irons, Toward integrated ladle metallurgy control. Iron
Steel Technol. 6, 164–173 (2009).
[2020, Mason] P. Mason, A. N. Grundy, R. Rettig, L. Kjellqvist, J. Jeppsson, J. Bratberg, “The
Application of an Effective Equilibrium Reaction Zone Model Based on CALPHAD
Thermodynamics to Steel Making” in 11th International Symposium on High-
Temperature Metallurgical Processing (2020; DOI: 10.1007/978-3-030-36540-0_10), pp.
101–113.
PMET_07_Vacuum_Oxygen_Decarburization_Kinetics
This example requires a license to run the simulation. It works with TCS Metal
Oxide Solutions Database (TCOX) versions 8 and newer.
One way to learn how to work with the Process Metallurgy Calculator is to use
the project files as templates to help you set up your own simulation. For
example, you can examine the settings available on the Configuration window
and that are described in Process Simulation: Conditions Tab and the Options
Tab.
To open this project file, from the Thermo-Calc menu, go to Help → Example Files →
Process Metallurgy → PMET_07_Vacuum_Oxygen_Decarburization_Kinetics.tcu.
Once you open the project file, click Perform Tree at the bottom center of the
Configuration window. It takes several minutes to run the simulation.
The example uses the Process Metallurgy Calculator to show how to set up the Vacuum
Oxygen Decarburization (VOD) process. The example is based on data of a real VOD process
published by [2000, Ding].
Only a brief outline of this example with the plot results are included here. Go
the links on our website to read an overview of the VOD process, plus an in
depth analysis of the results obtained when you run the example file. There are
also additional results and extensions available.
Figure 75: The set up in the Project window for this example. Go to the website to read more about
how this is implemented as well as a summary of the VOD process itself as it is applied to the the
use of the Process Metallurgy Module and these results.
1. Oxygen blowing.
2. Degassing under a vacuum.
3. Reducing.
As in all kinetic simulations with the Process Metallurgy Module, three steps are required to
set up the simulation:
1. Edit Process Model where equipment and general process dependent kinetic
parameters are defined.
2. Materials: where all materials added during the process are defined.
3. Process Schedule where the timeline of the process is defined, stating what happens
at which time.
During the set up of the example, the use of the following features are highlighted:
Figure 76: Evolution of the slag chemistry (left) and slag amount (right) in function of time. The
comparison is made to the simulation results by [2000, Ding] (open symbols) only, as no
experimental data is available.
Figure 77: Comparison of the evolution of the chemical composition of the steel zone in function of
processing time with the simulation results of [2000, Ding]. Note that the only experimental data
available is the initial and final composition (open red symbols). All other symbols are simulation
results by [2000, Ding].
Figure 78: Calculated temperature in the steel and slag zone in function of processing time in the
VOD compared to the simulation results from the publication by [2000, Ding]. Note that the only
experimental data available is the initial and final temperature (red triangles). The black triangles
are simulation results by [2000, Ding].
Reference
[2000, Ding] R. Ding, B. Blanpain, P. T. Jones, and P. Wollants, “Modeling of the vacuum
oxygen decarburization refining process,” Metall. Mater. Trans. B, vol. 31, no. 1, pp. 197–
206, Feb. 2000.
Examples using up to three elements are available to all users. The other
examples require a Diffusion Module (DICTRA) license to calculate and plot
results.
These examples use the Diffusion Calculator. All examples use demonstration database
packages included with your installation no matter what licenses you have.
In this section:
This example is part of the Diffusion Module (DICTRA) Quick Start Guide
available to all users. A version of the example is also available for Console
Mode.
This example is part of the Diffusion Module (DICTRA) Quick Start Guide
available to all users. A version of the example is also available for Console
Mode.
This example is part of the Diffusion Module (DICTRA) Quick Start Guide
available to all users. A version of the example is also available for Console
Mode.
References
[1995, Engström] A. Engström, Interdiffusion in multiphase, Fe-Cr-Ni diffusion couples.
Scand. J. Metall. 24, 12–20 (1995).
[2006, Larsson] H. Larsson, A. Engström, A homogenization approach to diffusion simulations
applied to α+γ Fe–Cr–Ni diffusion couples. Acta Mater. 54, 2431–2439 (2006).
[2009, Larsson] H. Larsson, L. Höglund, Multiphase diffusion simulations in 1D using the
DICTRA homogenization model. Calphad. 33, 495–501 (2009).
References
[1993a, Kajihara] M. Kajihara, C.-B. Lim, M. Kikuchi, Experimental Study on Dissolution of
ALPHA Phase in GAMMA/ALPHA/GAMMA Diffusion Couples of the Fe-Cr-Ni System. ISIJ
Int. 33, 498–507 (1993).
[1993b, Kajihara] M. Kajihara, M. Kikuchi, Numerical analysis of dissolution of α phase in
γ/α/γ diffusion couples of the Fe-Cr-Ni system. Acta Metall. Mater. 41, 2045–2059
(1993).
This example is based on Console Mode exab6. When in Console Mode, you can
open the example from Thermo-Calc (File → Examples Files → Diffusion
Module).
This example is based on Console Mode exd1b. When in Console Mode, you can
open the example from Thermo-Calc (File → Examples Files → Diffusion
Module).
Reference
[1994, Engström] A. Engström, L. Höglund, J. Ågren, Computer simulation of diffusion in
multiphase systems. Metall. Mater. Trans. A. 25, 1127–1134 (1994).
Examples that use up to three elements are available to all users. The other
examples require a Precipitation Module (TC-PRISMA) license to calculate and
plot results.
Unless specified in tables for each example, all the numerical parameters are
assumed default values.
In this section:
Figure 97: The mean radius of the AL3SC precipitate as a function of time.
Figure 98: The total yield strength of the AL3SC precipitate as a function of time compared to
experimental data from Sieldmen et al. [2002, Seidman].
You can also use the step-by-step instructions included in a PDF to follow the
video or compare to the project file in Thermo-Calc. Note that at this time, the
Yield Strength Model included with this example is not specified in the step-by-
step instructions.
Example Settings
Demo: Aluminum-based
Database package alloys (ALDEMO,
MALDEMO)
Elements Al, Sc
Temperature 350° C
There are two Experimental File Reader nodes used. One for the mean
radius plot and one to demonstrate the Yield Strength Property Model.
References
[2001, Marquis] E. A. Marquis, D. N. Seidman, Nanoscale structural evolution of Al3Sc
precipitates in Al(Sc) alloys. Acta Mater. 49, 1909–1919 (2001).
[2001, Novotny] G. M. Novotny, A. J. Ardell, Precipitation of Al3Sc in binary Al–Sc alloys.
Mater. Sci. Eng. A Struct. Mater. Prop. Microstruct. Process. 318, 144–154 (2001).
[2002, Seidman] D. N. Seidman, E. A. Marquis, D. C. Dunand, Precipitation strengthening at
ambient and elevated temperatures of heat-treatable Al(Sc) alloys. Acta Mater. 50,
4021–4035 (2002).
The end of the example also shows how to use the results of the calculation to model Yield Strength.
This is one of the most basic calculations using the Precipitation Module (TC-PRISMA), so it is a good
place to start if you are new to this simulation type.
HELPFUL INFORMATION
• All users can run this calculation, even those who do not have a license for the Precipitation
Module (TC-PRISMA).
• A companion video is available for this example , which can be watched here:
https://www.youtube.com/playlist?list=PLfv6McToaTGSpqvuLoY3b_UV-8xpgLUkJ
• This calculation is based on Precipitation Module example P_01 – Precipitation Al-Sc AL3SC,
which is included in your installation. To run the example file, open Thermo-Calc and select Help
> Examples Files. Open the Precipitation Module (TC-PRISMA) folder. Double-click the example
file and click Perform at the bottom center of the Configuration window in Thermo-Calc.
Page 1 of 8
Version 3 (August 2020)
Isothermal Precipitation Calculation
Example P_01 – Precipitation Al-Sc AL3SC
The system is now defined. However, before starting the precipitation calculation, it is recommended
to run a one axis calculation to find the phases present around 350° C.
Page 2 of 8
Version 3 (August 2020)
Isothermal Precipitation Calculation
Example P_01 – Precipitation Al-Sc AL3SC
If you hover your cursor over any of the lines on the plot, a label gives you the name of the phase,
the temperature and the amount of the phase at that temperature.
Page 3 of 8
Version 3 (August 2020)
Isothermal Precipitation Calculation
Example P_01 – Precipitation Al-Sc AL3SC
We can see that there are two phases present at 350°. FCC_A1 is at the very top of the plot and
makes up more than 99% of the system. The remainder of the system is made up of Al3SC, which is
near the very bottom of the plot and is the precipitate phase in the alloy we are considering.
Remember these two phases because these are used in the precipitation calculation.
PRECIPITATION CALCULATION
Setting up the Precipitation Calculation
1. In the Project window, click the Precipitation Calculator 1 node.
2. Notice that the Composition set in the System Definer auto-populated here.
3. Under Matrix Phase, the Phase defaults to FCC_A1, which is the primary phase present in the
one axis calculation.
NOTE: If you do not see any phases listed here it is probably because you do not have a kinetic
database selected. If so, go back to the System Definer and add a kinetic (mobility) database. In this
example it should be the MALDEMO database.
4. Under Precipitate Phase, select AL3SC from the Phase list because that is the other phase
present around 350 °C, as shown in the one axis calculation.
5. Accept the default settings in the Precipitate Phase section. You could choose to define your
own interfacial energy settings if you have them.
6. Under Calculation Type, make sure Isothermal is selected.
7. Enter:
a. 350 as the Temperature and select Celsius.
b. 1.0E7 as the Simulation time and select Seconds, which is ten million seconds.
Page 4 of 8
Version 3 (August 2020)
Isothermal Precipitation Calculation
Example P_01 – Precipitation Al-Sc AL3SC
Page 5 of 8
Version 3 (August 2020)
Isothermal Precipitation Calculation
Example P_01 – Precipitation Al-Sc AL3SC
At the beginning, which is the left-most side of the plot, the mean radius is quite small and then
grows rapidly over time, which is represented by moving rightward on the plot.
Page 6 of 8
Version 3 (August 2020)
Isothermal Precipitation Calculation
Example P_01 – Precipitation Al-Sc AL3SC
1. Right click the Precipitation Calculator 1 node and select Create New Successor > Plot
Renderer.
2. Under Y-axes, from the Axis variable menu, select Yield strength.
3. Click the Configuration panel button.
4. If required, expand the Plot Renderer Configuration window. Then from the Precipitation
strengthening model menu select Seidman model (Al-base).
5. Under Y-axes, from the Axis type menu, select Logarithmic 10.
6. Click Perform at the bottom, center of the program.
The program uses the results from the precipitation simulation as the input for the Yield Strength
model.
Page 7 of 8
Version 3 (August 2020)
Isothermal Precipitation Calculation
Example P_01 – Precipitation Al-Sc AL3SC
Page 8 of 8
Version 3 (August 2020)
Thermo-Calc Documentation Set
Figure 99: The Equilibrium Calculator and a One axis calculation is used to determine how the
phases change with temperature.
Figure 100: The Precipitation Calculator is used to do an isothermal calculation of the three phases
(cementite, M23C6 and M7C3) where cementite and M7C3 are metastable phases.
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
Elements Fe, C, Cr
Temperature 1053 K
Figure 101: The Equilibrium Calculator is used to show how the phases change with temperature.
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
Elements Fe, C, Cr
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
Elements Fe, C
Temperature 102° C
Reference
[1949,Wert] C. A. Wert, Precipitation from Solid Solutions of C and N in α-Iron. J. Appl. Phys.
20, 943 (1949).
Figure 104: The results of an isothermal calculation to plot the volume fraction of the cementite
phase.
Figure 105: The results of an isothermal calculation to plot the number density of the cementite
phase.
Figure 106: The results of an isothermal calculation to plot the mean radius of the cementite phase.
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
Elements Ni, Al Cr
Matrix phase DIS-FCC_A1 (see note above about how to select this phase)
Temperature 800° C
Reference
[2008, Sudbrack] C. K. Sudbrack, T. D. Ziebell, R. D. Noebe, D. N. Seidman, Effects of a
tungsten addition on the morphological evolution, spatial correlations and temporal
evolution of a model Ni–Al–Cr superalloy. Acta Mater. 56, 448–463 (2008).
When you run (Perform) this example, it takes about 10 minutes for the
calculations to complete.
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
Matrix phase DIS_FCC_A1 (see note above about how to select this phase)
1150 - 380 °C
Temperature
The Valley depth ratio is set to 0.05 for both plots. The number
Separate multimodal PSD for 8Al-8Cr
of Points is increased to 200 for an average radius plot.
Reference
[2013, Rojhirunsakool] T. Rojhirunsakool, S. Meher, J. Y. Hwang, S. Nag, J. Tiley, R. Banerjee,
Influence of composition on monomodal versus multimodal γ′ precipitation in Ni–Al–Cr
alloys. J. Mater. Sci. 48, 825–831 (2013).
Figure 111: In this plot, the blue line shows the time it takes for γ’ to transform at each of the
cooling rates according to the stop criteria, which we set as 1e-4 volume fraction. The cooling rates
are represented by the multi-coloured curved lines.
Figure 112: An example of the table shown in the Results window, which shows the same
information as in the plot - for each cooling rate the temperature and the time it takes for γ’ to
transform according to the stop criteria, which is a volume fraction of 1e-4.
You can also use the step-by-step instructions included in a PDF to follow the
video or compare to the project file in Thermo-Calc.
Example Settings
CCT stands for Continuous Cooling Transformation and is a calculation that maintains the same
cooling rate the entire time.
The system is a Ni-10Al-10Cr γ - γ’ alloy and it is calculated and plotted with superimposition of the
cooling rate values using the Precipitation Module (TC-PRISMA).
Page 1 of 5
Version 2 (March 2020)
Continuous Cooling Transformation (CCT) Diagram of Ni-Al-Cr γ-γ’
Precipitation Example P_07
11.
Page 2 of 5
Version 2 (March 2020)
Continuous Cooling Transformation (CCT) Diagram of Ni-Al-Cr γ-γ’
Precipitation Example P_07
Page 3 of 5
Version 2 (March 2020)
Continuous Cooling Transformation (CCT) Diagram of Ni-Al-Cr γ-γ’
Precipitation Example P_07
Page 4 of 5
Version 2 (March 2020)
Continuous Cooling Transformation (CCT) Diagram of Ni-Al-Cr γ-γ’
Precipitation Example P_07
In this plot, the blue line shows the time it takes for γ’ to transform at each of the cooling rates
according to the stop criteria, which is set as 1e-4 volume fraction. The cooling rates are represented
by the multi-coloured curved lines.
If you hover your mouse over the intersection of the blue line and any of the vertical lines, a yellow
box shows the approximate time it takes for γ’ to transform according to the stop criteria, which is a
volume fraction of 1e-4, followed by the approximate temperature. In the image above, you can see
a time of 0.54147 seconds and a temperature of 1147.60 Kelvin for the cooling rate of 100.0 K/s,
which is represented by the yellow line.
1. In the Project window, right-click the Precipitation Calculator 1 node and select Create New
Successor>Table Renderer.
2. Right-click the Table Renderer 1 node and select Perform Now.
The table is shown in the Results window and shows the same information as in the plot - for each
cooling rate the temperature and the time it takes for γ’ to transform according to the stop criteria,
which is a volume fraction of 1e-4.
Page 5 of 5
Version 2 (March 2020)
Thermo-Calc Documentation Set
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
To ensure that the settings are done on the correct Precipitation Calculators, the
Sphere and Needle nodes are renamed from Precipitation Calculator to match
their morphology. The morphology is set in the Precipitate Phase section when
you click Show details.
Elements Cu, Ti
Mobility enhancement
prefactor (click Show details 100
to display this setting)
For the Sphere node (renamed from Precipitation Calculator), keep the
Morphology (click Show default.
details to display this setting) For the Needle node (renamed from Precipitation Calculator), Needle is
selected.
For the Sphere node (renamed from Precipitation Calculator), keep the
default.
Transformation strain (click For the Needlenode (renamed from Precipitation Calculator), User
Show details to display this defined is selected. In this example, the following settings are defined:
setting)
l ε11 and ε22 are set to 0.022
l ε33 is set to 0.003
Temperature 350° C
Borchers Mean radius vs Time Data sets included with this example and imported to two Experimental
and Borchers Number density File Readers. These data sets are used for the Mean Radius and Number
vs Time Density plots, respectively.
References
[1987, Kampmann] R. Kampmann, H. Eckerlebe, R. Wagner, 1987. "Precipitation Kinetics in
Metastab le Solid Solutions - Theoretical Considerations and Application to Cu-Ti Alloys."
Mat. Res. Soc. Symp. Proc. 57: 525-542.
[1999, Borchers] C. Borchers, Catastrophic nucleation during decomposition of Cu-0.9at.%
Ti. Philos. Mag. A. 79, 537–547 (1999).
You can also use the step-by-step instructions included in a PDF to follow the
video or compare to the project file in Thermo-Calc.
Example Settings
To ensure that the settings are done on the correct Precipitation Calculators, the
Sphere and Cuboid nodes are renamed from Precipitation Calculator to match
their morphology. The morphology is set in the Precipitate Phase section when
you click Show details. See P_08 for an example of this.
Elements Al, Sc
For the Sphere node (renamed from Precipitation Calculator), the default,
Disregard is kept.
For the Cuboid node (renamed from Precipitation Calculator), choose Cubic. Then
Elastic properties
enter the elastic constants accordingly. Default elastic constants are given based
(click Show details to
on the major element of the alloy system. In this example that is
display this setting)
l c11 is 108.2 GPa
l c12 is 61.3 GPa
Morphology (click For the Sphere node (renamed from Precipitation Calculator), keep the default.
Show details to
display this setting) For the Cuboid node (renamed from Precipitation Calculator), Cuboid is selected.
Transformation For the Sphere node (renamed from Precipitation Calculator), keep the default.
strain (click Show
details to display this For the Cuboid node (renamed from Precipitation Calculator), Calculate from
setting) molar volume is selected to obtain a purely dilatational strain.
Temperature 350° C
Dataset 1 and Data sets included with this example and imported to one Experimental File
Dataset 2 Reader. It is used for the Mean Radius plot.
References
[2001, Marquis] E. A. Marquis, D. N. Seidman, Nanoscale structural evolution of Al3Sc
precipitates in Al(Sc) alloys. Acta Mater. 49, 1909–1919 (2001).
[2001, Novotny] G. M. Novotny, A. J. Ardell, Precipitation of Al3Sc in binary Al–Sc alloys.
Mater. Sci. Eng. A Struct. Mater. Prop. Microstruct. Process. 318, 144–154 (2001).
Two separate calculations are performed so you can make a comparison of the results, one assuming
spherical morphology without elastic strain energy, and the other assuming cuboid morphology
whose shape is determined by competition between interfacial energy and elastic strain energy.
In addition, mean cubic factor and cubic factor distribution are plotted for cuboid shape to illustrate
the spherical-cuboidal transition during precipitation.
If you run the example file included in your software, the simulation results are compared with
experimental data collected from Marquis and Seidman (2001) and Novotny and Ardell (2001).
Page 1 of 10
Version 2 (March 2020)
Precipitation of Al-Sc AL3SC with Assumption
of Sphere and Cuboid Morphologies
Precipitation Example P_09
Page 2 of 10
Version 2 (March 2020)
Precipitation of Al-Sc AL3SC with Assumption
of Sphere and Cuboid Morphologies
Precipitation Example P_09
2. Notice that the composition set in the System Definer auto-populated on the Precipitation
Calculator.
3. Under Matrix Phase from the Phase list it defaults to FCC_A1.
4. Under Precipitate Phase from the Phase list select AL3SC.
5. Under Calculation Type, make sure Isothermal is selected, which means that the same
temperature is maintained throughout the calculation.
6. Enter
a. 350 as the Temperature and select Celsius.
b. 1.0E9 as the Simulation time and select Seconds.
Page 3 of 10
Version 2 (March 2020)
Precipitation of Al-Sc AL3SC with Assumption
of Sphere and Cuboid Morphologies
Precipitation Example P_09
The plot is now set, but before running the simulation you set up another calculation and link it to
the same Plot Renderer.
Page 4 of 10
Version 2 (March 2020)
Precipitation of Al-Sc AL3SC with Assumption
of Sphere and Cuboid Morphologies
Precipitation Example P_09
The second calculation is now set up, so now link it to the Plot Renderer node.
Page 5 of 10
Version 2 (March 2020)
Precipitation of Al-Sc AL3SC with Assumption
of Sphere and Cuboid Morphologies
Precipitation Example P_09
In this plot, the blue line represents the sphere calculation and the red line represents the cuboid
calculation. You can see that, in this instance, these are almost identical.
By ‘radius for non-spherical particles’ it means the radius of equivalent spheres with the same
volume.
If you run the example file that is included in your software, the plot also contains an experimental
file, which you can see closely matches the calculations.
Page 6 of 10
Version 2 (March 2020)
Precipitation of Al-Sc AL3SC with Assumption
of Sphere and Cuboid Morphologies
Precipitation Example P_09
Page 7 of 10
Version 2 (March 2020)
Precipitation of Al-Sc AL3SC with Assumption
of Sphere and Cuboid Morphologies
Precipitation Example P_09
The blue line represents the evolution of the average radius of the cubic particles as a function of
time. Again, for non-spherical precipitates this means the radius of equivalent spheres with the same
volume.
The red line shows the average cubic factor as a function of time. A value of one represents a
spherical shape. A square root of two represents a cubic shape.
The evolution of the shape when the particles grows is determined by competition between
interfacial energy and elastic strain energy. In general, the shape is close to spherical at small particle
sizes because the interfacial energy term dominates.
At large sizes the elastic energy dominates and it is therefore more favourable with a non-spherical
shape. You can see that the particles get a more cubic form at later times when they grow to larger
sizes.
This plot also has two Y-axes, so you can clone the previous plot.
1. Right-click the Mean radius and Cuboid factor node and select Clone.
2. Right-click the new node and rename it PSD and Cuboid factor.
3. Under the Y-axes
a. Select Size distribution as the first Axis variable.
b. Change the Axis type to Linear.
4. Set the second Y-axis to Cubic factor distribution and enter a Time of 1e9 Seconds.
Page 8 of 10
Version 2 (March 2020)
Precipitation of Al-Sc AL3SC with Assumption
of Sphere and Cuboid Morphologies
Precipitation Example P_09
5. Keep the Automatic Scaling check box cleared. Enter the Limits from 1 to 1.45 and the step
to 0.1.
6. Under Size X-axis, change the unit to Nanometer (nm).
7. Click Perform at the bottom center of the Configuration window.
Page 9 of 10
Version 2 (March 2020)
Precipitation of Al-Sc AL3SC with Assumption
of Sphere and Cuboid Morphologies
Precipitation Example P_09
The blue curve, which shows the particle size distribution, is close to the regular LSW size distribution
that is expected for spherical particles.
The cubic factor distribution shows that the smallest particles are closer to spherical and that the
larger ones get more and more cubic.
References
1. Marquis, E.A, and D.N Seidman. 2001. “Nanoscale Structural Evolution of Al3Sc Precipitates
in Al(Sc) Alloys.” Acta Materialia 49 (11): 1909–19.
2. Novotny, Gabriel M., and Alan J. Ardell. 2001. “Precipitation of Al3Sc in Binary Al–Sc Alloys.”
Materials Science & Engineering, A: Structural Materials: Properties, Microstructure and
Processing 318 (1–2): 144–54.
Page 10 of 10
Version 2 (March 2020)
Thermo-Calc Documentation Set
Figure 121: The Preexisting Particle Size Distribution (PSD) settings window for example P_10.
Figure 122: Volume fraction with initial particle size distribution (PSD).
Figure 123: Volume fraction with no initial particle size distribution (PSD).
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
Elements Fe, C, Cr
BCC_A2
Matrix phase
All other defaults are kept.
Grain boundaries (all calculations): Calculated from the matrix settings with a
Nucleation sites
wetting angle of 90°
For the Precipitation Calculator including particle size distribution, and for all
Preexisting size precipitate phases, this check box is selected.
distribution (click Show
details to display this For each precipitate phase (CEMENTITE, M23C6 and M7C3), click Edit particle
setting) size distribution to make changes to the parameters. A window opens with a
graphical representation of the radius vs number density.
Temperature 1053 K
Figure 124: The results of an isothermal calculation to examine the mean radius of an Al-0.12Sc
system.
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
Elements Al, Sc
FCC_A1
Matrix phase
All other defaults are kept.
AL3SC
Nucleation sites (all calculations): Bulk (6.025E28 m-3)
Precipitate phase
Interfacial energy (all calculations): User-defined function f(r,T): 0.075+0.011*erf
((r-3e-8)/1e-8 J/m2)
Temperature Four temperature points in 30 K increments: 673 K, 703 K, 733 K, and 763 K.
Wamura 2004 Data set included with this example and imported to one Experimental File
(Dataset 1) Reader.
Reference
[2004, Iwarmura] Iwamura, S, and Y Miura. 2004. “Loss in Coherency and Coarsening
Behavior of Al3Sc Precipitates.” Acta Materialia 52 (3): 591–600.
Figure 125: Result comparing the mean radius of the spheres for each AL3ZR_D023 precipitate
phase calculated for each type of growth rate model.
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
package
Elements Al, Zr
FCC_A1
Matrix phase
All other defaults are kept.
AL3ZR_D023
Precipitate
phase Click Show details to select the Growth rate model (Simplified, Advanced and
General). All other defaults are kept.
2008 Knipling Data set included with this example and imported to one Experimental File Reader.
Reference
[2008, Knipling] K. E. Knipling, D. C. Dunand, D. N. Seidman, Precipitation evolution in Al–Zr
and Al–Zr–Ti alloys during isothermal aging at 375–425°C. Acta Mater. 56, 114–127
(2008).
This example demonstrates that the early stage of the cementite precipitation can only be
accounted for by a simulation applying the para-equilibrium condition, under which the
precipitation kinetics are controlled by the diffusion of C. The comparison also shows a later
stage gradual transition from the para-equilibrium condition to the ortho-equilibrium
condition, and if the tempering time is long enough the diffusion of Cr has a dominating
effect on the coarsening of cementite.
Figure 126: Comparing results from Para-eq (PE) and Simplified (OE) growth models.
Also see our website and YouTube channel for other examples of the
Precipitation Module.
Example Settings
BCC_A2
Matrix phase
All other defaults are kept.
CEMENTITE
Precipitate phase Click Show details to select the Growth rate model (Simplified and Para-eq). All
other defaults are kept.
Simulation time 20 hours for the paraequilibrium model and 600 hours for the simplified model.
1980 Sakuma Data set included with this example and imported to one Experimental File Reader.
Reference
[1980, Sakuma] T. Sakuma, N. Watanabe, T. Nishizawa, The Effect of Alloying Element on the
Coarsening Behavior of Cementite Particles in Ferrite. Trans. Japan Inst. Met. 21, 159–
168 (1980).
The currently selected window is called the active window. This has a darker title bar than
the other windows. The windows are:
Console Tabs
By default, the tabs are side-by-side:
You can toggle to view the tabs top-to-bottom/stacked (click the button) and back to side-
by-side (click the button) or the button.
Console Window
By default the Console window is on the left-hand side of the console. This is where you
enter commands. The window can have several Console tabs.
To open and close Console tabs:
l To open (or add), click the button, press <Ctrl+T> when the Console window is
active, or right-click a tab header and select New Console.
l To close, click the button, press <Ctrl+W> or <Ctrl+F4>, or right-click the tab
header and select Close.
l To close all tabs except one, right-click the header of the tab you want to keep and
select Close Other.
l To close all tabs and open a new one, right-click the header of any tab and select
Close All.
You can change the tab name, font and colors for an individual Console tab by right-clicking
its header and selecting Properties.
l To open new Plot tabs press <Ctrl+Shift+T> or click the add button.
l To open a new Plot tab for the currently active Console tab, press <Ctrl+Shift+T>. To
close the Plot tab, press <Ctrl+Shift+W> or <Ctrl+Shift+F4>.
Windows
l Press CTRL + TAB to move forward sequentially through each open tab. When you
are focused on the Console window, you move forward simultaneously through the
Console Results tabs, e.g. If you are on Console 1 and press CTRL + TAB, you move
forward to Console 2 and Results Console 2 and so forth.
l Press CTRL + SHIFT + TAB to move back through the open tabs. This is useful if you
have multiple tabs open, otherwise you can use the CTRL + TAB to cycle through the
windows.
l Press CTRL + [tab number 1 to 9] to move directly to the numbered tab. For example,
if you are focused on Console 1 and want to move to Console 3, press CTRL+3 and the
focus jumps to that tab.
The tab number corresponds to the order of the tabs, not necessarily the
name. That is, if Console 4 is first, then it is what is highlighted when
CTRL + 1 is used.
For EXAMPLE, press CTRL + 3 on the keyboard to move focus from Console 1 to
Console 3.
When you are focused on the Console Results window and use any of the
shortcuts this only moves you through the open tabs on this window.
l If you want to perform a calculation using the POLY module, you typically first
retrieve thermodynamic data in the DATA module, perform the calculation in POLY,
and visualize the results in the POST module. It is possible to define a system directly
in POLY using the DEFINE_MATERIAL and DEFINE_DIAGRAM commands.
l If you want to calculate and plot a diagram using a response-driven module, such as
POTENTIAL or SCHEIL, then you can go directly to that module. Response-driven
modules prompt you to go through the steps to do the calculation and the required
post-processing. These modules include BIN, TERN, POTENTIAL, POURBAIX, and
SCHEIL. You typically end up in the POST module after having used a response-driven
module. In the POST module you can modify the plots and save the diagram.
l If you want to tabulate a chemical substance, phase, or reaction, go directly to the
TAB module.
1. You are in the SYS module when you start Thermo-Calc in Console Mode.
2. In the DATA module define the system. Before performing a calculation, you must
define the system and retrieve thermodynamic data. The data is retrieved from a
database file (*.TDB or *.TDC).
3. The data needed to describe a system is then sent to the GIBBS module. This data is
accessed by the POLY module when you instruct it to perform calculations.
4. In the POLY module, perform the calculations.
l In POLY, the conditions are set for an equilibrium calculation (temperature,
pressure, system composition, etc.), then an equilibrium calculation is done.
l If you want to make a property or phase diagram, you set the conditions for a
stepping or mapping operation and perform that operation.
l This generates data that can be used to plot a property diagram (if a stepping
operation is performed) or a phase diagram (if a mapping operation is
performed).
2. Change the default database unless you directly specify the name of the database as
a parameter to the command. Type SWITCH_DATABASE and follow the prompts.
The second part of the command prompt indicates the current default database. For
example, if the prompt is TDB_TCFE10, then the current database is TCFE10.
3. Use DEFINE_ELEMENTS followed by a list of the elements that you want in your system.
(To list the elements that are available in your current database, use LIST_DATABASE
and choose Elements). For example, if you want to have Fe and C in your system,
type:
DEFINE_ELEMENTS Fe C
4. Use REJECT and choose Phases if you want to avoid retrieving any phases from the
database. (To list the phases that are available in your current database, use LIST_
DATABASE and choose Phases. To list the phases that can form in the defined system,
use LIST_SYSTEM and choose Constituent.) For example, if you do not want the
graphite phase to be retrieved, you type:
REJECT PHASES GRAPHITE
If the number of phases to include is much lower than the total number of phases,
then it can be convenient to first Reject Phases * and then restore the phases to
include using Restore Phases.
5. Use GET_DATA to search the database and send the thermodynamic data about your
system to the GIBBS workspace.
At this point you can proceed to the POLY module (with GOTO_MODULE POLY).
However, you may want to add elements, phases and species to the GIBBS workspace
from other databases. If so, then proceed to the next step.
6. Use APPEND_DATABASE to select the (additional) database from which you want to
retrieve data. This command works exactly in the same way as the SWITCH_DATABASE
command, with the exception that it does not reinitialize the DATA module and the
GIBBS workspace, but instead appends or replaces the data that has already been
retrieved with new data from the additional database.
7. Define your elements and specify whether to reject and restore any phases. Do this
in exactly the same way when using the SWITCH_DATABASE command (see steps 2
and 3).
8. Use GET_DATA to search the database and add the thermodynamic data to the data
that already exists in the GIBBS workspace.
9. Use APPEND_DATABASE again if you want to add data from yet another database.
When you have retrieved all the data you need, you can proceed to the POLY
module.
Below are each of the available modules you access in Console Mode. Most of the modules
have commands, some are the same no matter what module you are in (e.g. general
commands like BACK . GO TO MODULE, EXIT, HELP and so forth). Other commands have
different prompts based on the module you are in how you define the system and so forth.
Most modules have several commands available. The exceptions are the
BINARY, TERNARY, SCHEIL, POURBAIX and POTENTIAL modules which do not
have any additional commands once you access the modules. These are
response-driven modules that prompt you with a series of questions and then
build the diagram automatically based on your responses.
Database (TDB)
The Database module (full name is Database Retrieval) is where you select and retrieve
various types of thermodynamic and kinetic information from the selected databases you
are going to use for your system. Once you enter the module the short name is TDB.
Also see the Database Manager User Guide and the available information for the
specific databases.
The Scheil with back diffusion feature is only available for systems with diffusion
data, i.e. it requires the use of a mobility database.
PARROT (Optimization)
The PARROT module makes use of the GES module to handle the models of the various
phases that might form in a multicomponent system, as well as of the POLY module to store
and calculate complex heterogeneous equilibria.
DICTRA Monitor (DICTRA)
DICTRA Monitor (DICTRA) and DIC Parrot (optimization for DICTRA): These are available
with the add-on Diffusion Module.
l To go to the POST module, you must enter the POST command from within the POLY
module or DICTRA module (if you have the add-on license).
l To go to the Edit Experiments module you must enter the ED-EXP command from
within the PARROT module.
To go back to the previous module type Back. For example, if you are in the DATA module
and entered it from the SYS module, when you type Back, you return to the SYS prompt. This
command is also available to exit from the submodules POST and ED-EXP.
Without a valid Thermo-Calc license, you cannot leave the SYS module. To enter
the DICTRA and DIC_PARROT modules, you also need a valid Diffusion Module
(DICTRA) license key.
Examples
Examples of how to abbreviate commands at the
command line prompt in Console Mode.
Command Name Abbreviation
CALCULATE_EQUILIBRIUM C-E
CALCULATE_ALL_EQUILIBRIA C-A
LIST_EQUILIBRIUM L-E
LIST_INITIAL_EQUILBRIUM LI-I-E
LOAD_INITIAL_EQUILBRIUM LO-I-E
SET_ALL_START_VALUES S-A-SS-AL
SET_START_CONSTITUENT S-S-C
SET_START_VALUE S-S-V
SET_AXIS_PLOT_STATUS S-A-P
SET_AXIS_TEXT_STATUS S-A-T-SS-A-TE
SET_AXIS_TYPE S-A-TY
SET_OPTIMIZING_CONDITION S-O-C
SET_OPTIMIZING_VARIABLE S-O-V
SET_OUTPUT_LEVEL S-O-LS-OU
The File menu and toolbar are reserved for Graphical Mode. The Tools,
Window and Help menus are described in Menu, Toolbar and Keyboard
Shortcuts.
Drag and drop files into the Console window to open or run a macro, for
example. File types that can be opened this way are macro files (*.TCM and
*.DCM), database files (*.TDB), and workspace files (*.POLY3, *.GES5,*.PAR,
and *.DIC). Note that *.DCM and *.DIC file extensions are applicable to the
Diffusion Module (DICTRA).
Save (Workspace)
This command depends on the module you are in. Type ? at the prompt to look for a
command such as SAVE_GES_WORKSPACE (GIBBS module).
Exit
In any module: EXIT
Close
In the SYS module: CLOSE_FILE
Command History
l To scroll through the last twenty commands used, type two exclamation marks (!!)
and press <Enter>.
l To repeat the last n commands, type ! followed by the number of previous
commands to be executed again.
l To scroll through previous performed commands, use the Up (↑) or Down arrow (↓)
keys.
l To read more information about the command history functionality in Thermo-Calc,
type ! ? at the command line prompt.
For activity and/or chemical potential properties, the *and $ normally do not
work properly as wild card characters.
Examples
These are examples of the wild card characters you can use to search commands at the
command line prompt.
Command Action
SET_AXIS_VAR Y B(*) * Sets mass (gram) of all components in the system as Y-axis variable.
SET_AXIS_VAR Y ACR(*) * Sets activities of all components in the system as Y-axis variable.
SET_AXIS_VAR Y GM(*) * Sets molar Gibbs free energies of all phases as Y-axis variable.
SHOW_VALUE W($,*) Lists mass fractions of all components in all stable phases.
SHOW_VALUE W(FCC,*) Lists mass fractions of all components in the FCC phase.
Command Action
SHOW_VALUE W($,FE) Lists mass fractions of the Fe component in all stable phases.
SHOW_VALUE Y(*,*) Lists site fractions of all species in all sublattices of all phases.
SHOW_VALUE Y($,*) Lists site fractions of all species in all sublattices of all stable phases.
SHOW_VALUE Y(*,*) Lists site fractions of all species in all sublattices of all phases.
File Types
In this section:
l Macro Files and Log Files both with the file extension *.TCM. Log files are created
using the SET_LOG_FILE command.
l Workspace Files in POLY (*.POLY3), GIBBS module (*.GES5), and the PARROT module
(*.PAR). (For the GIBBS module, this cannot currently be done with GES6).
l Experimental Data Files (*.POP, *.DOP) are a type of workspace file available with
the PARROT module and have the file extension of *.POP. In the Diffusion Module
(DICTRA), you work with .DOP files instead of .POP. These .POP and .DOP files are
referred to as experimental data files.
Another type of experimental data file with the *.EXP file extension are also
generated when working with DATAPLOT. See About the DATAPLOT Graphical
Language.
A reminder that Linux and Mac are case sensitive; when applicable ensure you
enter file extensions with capital letters.
Drag and drop files into the Console window to open or run a macro, for
example. File types that can be opened this way are macro files (*.TCM and
*.DCM), database files (*.TDB), and workspace files (*.POLY3, *.GES5,*.PAR,
and *.DIC). Note that *.DCM and *.DIC file extensions are applicable to the
Diffusion Module (DICTRA).
You can open the macro files (*.TCM or *.DCM files) in different ways.
If you only open and read the macro file in a text editor, you do not see the
output that Thermo-Calc gives in response to the commands stored in the
macro file.
1. Open Thermo-Calc.
2. Confirm you are in Console Mode. If not, click the Switch to Console Mode button.
3. From the main menu, select File → or Help → Examples Files. The Console Mode
folder opens.
4. Open the Thermo-Calc folder to see the available examples contained in separate
folders.
For the Diffusion Module (DICTRA) examples (*.DCM macro files), open the
Diffusion Module - DICTRA folder.
5. In the folder, double-click the *.TCM file or click Open.
6. Follow the prompts in the Console window i.e. keep pressing <Enter> to run the
macro and produce a plot in the Console Results window.
Drag and drop files into the Console window to open or run a macro, for
example. File types that can be opened this way are macro files (*.TCM and
*.DCM), database files (*.TDB), and workspace files (*.POLY3, *.GES5,*.PAR,
and *.DIC). Note that *.DCM and *.DIC file extensions are applicable to the
Diffusion Module (DICTRA).
Log Files
Log files with the file extension *.TCM are plain text files used to save a sequence of
commands. Log files can be edited in a text editor.
l To start saving your input into such a file, use SET_LOG_FILE in the SYS module,
followed by the name of the file that you want to save your command sequence to.
l If you want to save the output in the log file as well, use SET_ECHO before the SET_
LOG_FILE command. Doing this is useful if you want use the log file later as a macro
file.
Macro Files
Macro files (with the file extension of either *.TCM or *.LOG) are plain text files used to save
a sequence of commands that can be loaded and executed. Macro files can be edited in a
text editor. When creating a command sequence, you add comments to the file by starting a
line with @@.
Macro files include comments, which you can either run in Thermo-Calc or open and read in
a text editor.
If you only open and read the macro file in a text editor, you do not see the
output that Thermo-Calc gives in response to the commands stored in the
macro file. It is recommended you run the macro to view all the details.
1. Open Thermo-Calc.
2. Confirm you are in Console Mode. If not, click the Switch to Console Mode button.
3. From the main menu, select File → or Help → Examples Files. The Console Mode
folder opens.
4. Open the Thermo-Calc folder to see the available examples contained in separate
folders.
For the Diffusion Module (DICTRA) examples (*.DCM macro files), open the
Diffusion Module - DICTRA folder.
Regain control of the End a macro file with this command to have control of the
SET_INTERACTIVE
console Console returned to you.
When creating the log file, you can make a macro file load up
Open a macro file MACRO_FILE_OPEN
to five other macro files.
You can also use up to nine variables in your macro file and prompt the user to enter values
that can be assigned to these variables. Use the @#n character when you want to prompt the
user to provide a value to the variable, where the n is a digit between 1 and 9. You can then
use this value by with the ##n character. For example, you can request the user to provide
the first element of a system by entering the following in the macro file:
@#3First-element?
You can then use this variable with the entering the character ##3 later in the macro file.
For example, you can write:
SET_AXIS_VARIABLE 1 x(##3) 0 1,,,
Finally, there is the @& pause character. Thermo-Calc pauses and waits for input from the
user when this pause character is read from a macro file. Inserting pause characters is
useful if you want to allow the user to monitor what is happening when Thermo-Calc is
running the macro.
Workspace Files
For DICTRA Console Mode see File Formats in the Diffusion Module
(DICTRA) User Guide
Workspaces files allow you to save all the data in your current workspace. A workspace
contains all the data, specified settings and the result of any calculations performed. The
saved data includes original and modified thermodynamic data, the last set of conditions
and options, and the results of any simulations. You use the command SAVE_WORKSPACES to
create this file type, which is available in the POLY, GIBBS and PARROT modules.
When in Thermo-Calc Console Mode these are the workspace file extensions:
l POLY module (*.POLY3)
l GIBBS (GES) module (*.GES5)
l PARROT module (*.PAR and *.POP)
The workspace has all the settings specified and the result of any stepping or mapping
operations performed after using SAVE_WORKSPACES. Consequently, the command opens a
workspace in which all data is saved which is generated after the SAVE_WORKSPACE
command is executed. The saved data includes original and modified thermodynamic data,
the last set of conditions and options, and calculation results.
To load the data and calculation results of a workspace file, use the READ_WORKSPACES
command available in the POLY module. The file can be used for calculation in POLY,
visualization in POST, or data manipulation in GES. You are also given the option in the
POURBAIX and SCHEIL modules to open a previously saved workspace file. This allows you to
make new POURBAIX or SCHEIL calculations on the same chemical system as before but
with different temperature, pressure, and composition conditions, or to plot new property
diagrams based on the previous calculations.
A reminder that Linux and macOS are case sensitive; when applicable ensure
you enter file extensions with capital letters.
Drag and drop files into the Console window to open or run a macro, for
example. File types that can be opened this way are macro files (*.TCM and
*.DCM), database files (*.TDB), and workspace files (*.POLY3, *.GES5,*.PAR,
and *.DIC). Note that *.DCM and *.DIC file extensions are applicable to the
Diffusion Module (DICTRA).
POLY module
l READ_WORKSPACES
l SAVE_WORKSPACES
Gibbs (GES) module
l READ_GES_WORKSPACE
l READ_WORKSPACES
l SAVE_GES_WORKSPACE
l SAVE_WORKSPACES
PARROT module
l READ_PARROT_WORKSPACES
l SAVE_PARROT_WORKSPACES
Reactor module
l READ_WORKSPACE
l SAVE_WORKSPACES
Important Information About Map and Step Commands and the Save_
Workspaces Command
A STEP or MAP command automatically saves the workspace with the most
recently specified name. Do not use the SAVE_WORKSPACES command after a
MAP or STEP command.
The results from the STEP or MAP commands are destroyed by the SAVE_WORKSPACE
command. You can append several results obtained by sequential STEP or MAP calculations
without destroying the previous results, whilst SAVE_WORKSPACE erases them all. Keeping this
in mind is important and useful particularly for calculating various isothermal (or isoplethal)
sections and plotting them on the same diagram in a single Thermo-Calc run.
To suspend some of the STEP or MAP results, use the AMEND_STORED_EQUILIBRIA command.
The shortcut is only valid throughout the existing session; it is not saved as a
default. Each time you want to use this file path you must launch Thermo-Calc
from the customized shortcut.
2. In the Thermo-Calc 2021a Properties dialog, Target field, add the following to the
end of the string: –r plus the “path to the default directory”. Include a space between
the –r and path, and use quotation marks around the full file path. A simple example:
-r “C:\Thermo-Calc_Macro_Files”
3. In the Console Properties window the Default directory section displays the custom
file path.
In order to conduct an assessment for a system, the experimental data is described with a
syntax, which is similar to the way that one calculates an equilibrium in the POLY module or
you edit an experimental point in the ED_EXP module. Similar to a Thermo-Calc macro file
(*.TCM), an experimental data file (i.e. the *.POP or *.DOP file) is a basic text file and can
be opened and edited by any text editor. For this reason, a *.POP or *.DOP file is not
hardware dependent.
A POP or DOP file consists of various commands from the POLY and ED_EXP modules, as
well some special commands which can only be used in such experimental data files.
Various experimental information can be inputted in an *.POP or *.DOP file as different
tables; the same type of experimental data are usually documented in the same table (see
below).
A *.POP or *.DOP file is used in the PARROT module to provide experimental information
for the optimization process, and is checked by a syntax checker when the PARROT
command COMPILE_EXPERIMENTS is proceeded.
The special commenting identifier, i.e. a dollar sign $ which starts a line, is used to
document comment lines at any position in a *.POP or *.DOP file. You may remember that
this feature is universally the same as in almost all kinds of text files in Thermo-Calc
software, e.g. in *.TDB, *.DAT, *.TCM, *.POP/*.DOP and *.EXP files. Such a sign and all
information afterwards in the same comment line is skipped and ignored by the syntax
checker.
Many POLY and ED_EXP commands can be directly used in a POP or DOP file. But there are
some differences with the set of POLY or ED_EXP commands, and some specially designed
commands as described in this topic can only be used in the *.POP or *.DOP files.
The last command in an *.POP or *.DOP file must always be the SAVE
command.
l CREATE_NEW_EQUILIBRIUM
l CHANGE_STATUS
l SET_CONDITION
l SET_REFERENCE_STATE
l ENTER_SYMBOL
l SAVE_WORKSPACES
l DEFINE_COMPONENTS
l EVALUATE_FUNCTIONS
l SET_ALL_START_VALUES
l SET_NUMERICAL_LIMITS
l SET_START_VALUE
l ADVANCED_OPTIONS
l EXPERIMENT
l EXPORT
l IMPORT
l LABEL_DATA
l SET_ALTERNATE_CONDITION
l SET_WEIGHT
The following special ED_EXP commands are illegal and should not be used in
any *.POP or *.DOP file:
l COMPUTE-ALL-EQUILIBRIA
l MAKE-POP-FILE
l READ (READ-BLOCK OR READ-WORKSPACE)
l TRANSFER-START-VALUES
Calculations
Graphical Mode vs Console Mode: Calculation Types
In this section:
GES6 is a re-write and new implementation of the Gibbs Energy System module
of Thermo-Calc and it is the default engine. The previous version, GES5, is still
available and will continue to work in the background of the program where
necessary. The main purpose of GES6 is to support faster development of new
features. However, not all GES5 functionality is implemented in GES6. In such
cases (except for the POURBAIX module), GES6 falls back silently and uses
functionality from GES5 in the background.
To globally set the default from GES6 back to GES5, go to the Tools → Options
→ General tab and click Version 5 for the Preferred Gibbs Energy System
setting. This is useful if you are using the POURBAIX module (aqueous solutions),
or if you have a custom database that is not compatible with GES6. The SET_
GES_VERSION Console Mode command can also be used to change GES versions
for a single Thermo-Calc session.
Equilibrium Calculations
In this section:
l Direct Global Minimization: From the mesh of Gibbs energy, find the set of grid
points that gives the lowest energy solution under the specified conditions. This set of
grid points provides starting combination of phases and their constitutions for regular
minimization to find the exact equilibrium solution. This solution is then subject to a
global test as described below.
l Indirect Global Minimization: Under certain conditions, a direct approach is
impossible. In this case, regular minimization is performed first and then a check is
performed in order to see if the found local minimum is a global one by checking if
all grid points are above the equilibrium Gibbs energy plane. If not, then recalculate
by including these grid points until no grid point is above the equilibrium Gibbs
energy plane from the previous step.
The full-scale and full-scope usage of the Global Minimization Technique has been extended
from for only single-point calculations for all types of calculations (of single-points, property
diagram stepping and phase diagram mapping)in Thermo-Calc.
The use of Global Minimization Technique may increase the computation time. The main
cost in time comes from the calculation of Gibbs energy at each grid point generated by
properly meshing the composition space for each entered phase. An additional (but much
smaller) cost in time comes from finding the set of grid points in the above mesh that give
the lowest energy solution. This solution is where POLY starts its ordinary minimization.
When POLY has found an equilibrium, the equilibrium Gibbs energy surface is compared to
the mesh to assure that no grid point is below the surface, i.e. a global minimization has
been reached.
Global minimization is performed by default in single-point or stepping or mapping
equilibrium calculations.
Together with the PARROT module, the POLY module is also used for critical assessment of
experimental data in order to develop thermodynamic databases. The POLY module uses the
Gibbs Energy System (GES) for modeling and data manipulations of the thermodynamic
properties of each phase.
The number of state variables that need to set is determined by the Gibbs Phase Rule.
Typically, the state variables to give values to are:
l temperature (in K)
l pressure (in Pascal)
l system size in number of moles (in mole) or mass (in grams)
l the fraction of each component (in number of moles or mass)
If you fix the phase of the equilibrium and all but one of the state variables, you can discover
the value of the other state variable at equilibrium.
It is possible to specify a set of conditions that does not have any equilibrium and the
program detects this by failing to reach equilibrium during the calculation.
State VariableS
The following table lists some of the available state variables you can use to set conditions:
Calculating an Equilibrium
This topic explains how to calculate an equilibrium in POLY. To calculate an equilibrium
means to calculate the equilibrium composition of your system, given a full specification of
conditions that reduce the degrees of freedom of the calculation to zero.
If you are running a network client installation of Thermo-Calc and cannot enter
the POLY module, this may be because all the license instances on that the
license server makes available have been checked out.
This sets the temperature (T) to 1200 K, the pressure to 1 bar (100,000 Pascal), the
mass fraction of Cr to 18 mole percent, the mass fraction of C to 0.13 weight percent,
and the total amount of material to 1 mole. The fraction of Fe in the system is
calculated from the fractions of Cr and C. You have to set the fraction of all the
components in your system except one.
4. Use COMPUTE_EQUILIBRIUM to run the calculation.
5. Use LIST_EQUILIBRIUM to see the results of the calculation.
You must leave the state variable whose equilibrium value you are interested in unspecified.
However, if you have already specified that state variable, you can make it unspecified again
by using SET_CONDITION and set that state variable to NONE. For example, if you have given
temperature a value, you can type:
SET_CONDITION T=NONE
The calculated equilibrium includes the value of the unspecified variable at which the
equilibrium enters the phase that is fixed.
For an example where this is done, as well as where the status of phases is set
to be dormant, see the Single Equilibrium Calculation Examples.
Property Diagrams
In this section:
2. Use SET_AXIS_VARIABLE to set the axis variable, the minimum and the maximum
stepping variable values and the step length. The first parameter of SET_AXIS_
VARIABLE is the axis number. Since a property diagram only has one axis variable, this
is set to 1. For example, if you want to set the axis variable to temperature, and
calculate an equilibrium at every 50 K between a minimum temperature of 100 K
and a maximum temperature of 2000 K, enter
SET_AXIS_VARIABLE 1 T 100 2000 50
An axis variable must be a state variable that is set when you calculated
the initial equilibrium. For example, if you set the fraction of a
component in number of moles, then you cannot set the mass fraction of
this component as an axis variable. Also, the minimum stepping variable
value must be smaller than, and the maximum value larger than, the
value that you set the state variable to when calculating the initial
equilibrium.
The number of equilibria calculated is not just the number of steps that
are performed according to the step length and the minimum and
maximum values on the axis variable. This is because Thermo-Calc
calculates extra equilibria when a new phase is discovered in order to
determine the phase region boundary more precisely.
4. To plot the diagram, open the POST module and then use PLOT_DIAGRAM. By default,
the X-axis represents the stepping axis variable and Y-axis represents the sum of the
mole fractions of all phases (NP(*)).
l Calculate (and then plot) missing parts of a specific property inside the first property
diagram. These parts are calculated inside the range of the stepping variable with a
different control condition.
l Calculate (and then plot) two or more sets of a specific property on the same
property diagram for the same system. These can be calculated under different
control conditions with stepping operations being performed across the same
stepping axis variable range.
l Calculate phase boundary lines and then plot them in a corresponding phase diagram
for the same system. This can be especially useful for some defined secondary phase-
transformations. For example, if you want to find the phase boundary between BCC_
A1 and BCC_B2, or the equal-Gm for two specific phases, or the equal-fraction or
equal-activity for two specific phases of a certain species, then this can be useful.
Unless you have opened a new workspace file previously using SAVE_WORKSPACES , the
results of the stepping calculations are saved in a RESULT.POLY3 file. To save the results of
several stepping calculations in a file different from the workspace file that your results are
currently saved to, then use SAVE_WORKSPACES before you perform the first stepping
calculation.
A reminder that Linux and Mac are case sensitive; when applicable ensure you
enter file extensions with capital letters.
Phase Diagrams
In this section:
l The BIN and TERN modules calculate binary and ternary phase diagrams.
l The POTENTIAL and POURABIX modules calculate the more general isopleth
diagrams and other related diagrams.
The following topics describe how to calculate the types of phase diagrams in the POLY_3
module. In POLY, you can calculate phase diagram for systems with up to 40 components
and with thousands of phases. You can combine activity conditions and fixed phase status
and fraction conditions in any way. Thermo-Calc can calculate any arbitrary 2D section
through composition space.
There is no guarantee that the conditions set will result in a calculation that
reaches an equilibrium.
2. Use SET_AXIS_VARIABLE to set the first axis variable, its minimum and maximum
mapping value and the length of each incremental step on this axis. The first
parameter of SET_AXIS_VARIABLE is the axis number and is set to 1. For example,
suppose you want the mass fraction of C as your first axis variable. You want it to
vary between 0 and 0.1, with the length of each incremental step being no more than
0.002. Then enter:
SET_AXIS_VARIABLE 1 W(C) 0 .1 0.002
An axis variable must be a state variable that is set when you calculated
the initial equilibrium. For example, if you set the fraction of a
component in number of moles, then you cannot set the mass fraction of
this component as an axis variable.
3. Use SET_AXIS_VARIABLE to set the second axis variable and specify its minimum,
maximum, and step length values. The axis number is set to 2. For example, suppose
you want temperature as your second axis variable and you want it to vary between
900 K and 1900 K, with an incremental step of 25 K. Then enter:
SET_AXIS_VARIABLE 2 T 900 1900 25
4. If you want more than two axis variables, then use SET_AXIS_VARIABLE until you have
set all the axis variables. You can set up to five axis variables. Axis variables 3, 4 and
5 must be set temperature, pressure or to the chemical potentials of components.
You may want to save your workspace with SAVE_WORKSPACES before you perform
the mapping calculation. This saves the axis variables you have set. However, it
overwrites the results of any previous stepping or mapping calculations done.
5. Use MAP to perform the mapping calculation. The console lists the phase region
boundaries and the phases contained on one side of each boundary.
6. To plot the diagram, use POST to open the POST module and then use PLOT_DIAGRAM.
By default, the X-axis represents mapping axis variable 1 and the Y-axis represents
mapping axis variable 2.
This means that the temperature should be 1200 K, pressure 1 bar, mass fraction of C is 0.02
(i.e., 2 weight percent) and the system contains one mole of atoms. Note that one does not
set a condition on the amount of the second component. This is simply taken to be the rest of
the system.
After setting these conditions one can calculate the equilibrium by giving the command:
CALCULATE_EQUILIBRIUM
When the calculation has converged, one continues by setting the axes for the diagram
calculation. In most cases, one is interested in the complete composition range but the
temperature range may vary.
SET_AXIS_VARIABLE 1 W(C) 0 .1 0.002
SET_AXIS_VARIABLE 2 T 900 1900 25
This means that the axis number 1 is taken to be the mass fraction of C which may vary
between 0 and 0.1 with a maximum increment of 0.002. The axis number 2 is the
temperature varied between a minimum 900 and maximum 1900 K with a maximum
increment of 25.
Before starting the mapping, it is a good rule to SAVE the workspaces. If this is done just
before the MAP command, and the MAP command fails for some reason, the user can
restart from the situation just before mapping and try to find a better start point.
SAVE
MAP
The diagram is plotted in the post-processor. The post-processor will automatically set the
same axes for plotting as used for mapping.
POST
PLOT
BINARY_DIAGRAM
The BINARY_DIAGRAM module (short name, the BIN module) enables you to quickly
calculate a simple binary phase diagram. Access to specific databases designed for BIN, such
as TCBIN, is required.
To enter the module, at the SYS prompt type GOTO_MODULE BINARY. There are no other
commands for this module. Follow the prompts to plot a diagram.
Syntax BINARY_DIAGRAM
C_E
Note that there is no condition on the amount of Al as that is the "rest". N=1 specifies that
the system is closed. This calculation gives one point inside the system. Now define the axis:
S-A-V 1 X(MG) 0 1 0.01
S-A-V 2 X(SI) 0 1 0.01
Of course, you might not be interested in the whole section, and in such cases specify
different lower and upper limits for the axes. Then give a SAVE command before the MAP
command:
SAVE almgsi-823
MAP
The result can be plotted in the POST module. Ternary isopleths are equally simple to
calculate. Use the same conditions as above if you are interested in a section of Al-Si at 1
mole percent of Mg, just define a different set of axis:
S-A-V 1 X(SI) 0 1 .01
S-A-V 2 T 500 2000 25
SAVE almgsi-1mg
MAP
In the resulting diagrams, the tie-lines are not in the plane of the diagram, thus the lever
rule etc. cannot be applied. But you can calculate more elaborate sections. An interesting
diagram is the section from pure Al to Mg2Si, which is almost a quasi-binary section. In
order to calculate this, set up the conditions differently:
SET-CONDITION T=823, P=1e5, N=1, X(MG)-2*X(SI)=0, W(MG)=.01
C-E
Note that there is no condition on the amount of Si as this is given by the relation X(MG)-2*X
(SI)=0. Also note that you can mix conditions in X and in W. Then set the axis, save the
workspace and map.
S-A-V 1 W(MG) 0 .1 .01
S-A-V 2 T 500 1500 10
SAVE al-mg2si
MAP
A special type of ternary phase diagrams is liquidus surfaces. This is still not simple to
calculate as a separate start point is needed for each separate line at each temperature.
However, you can easily calculate the monovariant lines where the liquid is stable together
with two condensed phases:
SET-CONDITION T=800, P=1e5, N=1, X(MG)=0.01, X(SI)=.01
C-E
C-S P LIQ=FIX 0.3
S-C T=NONE
C-E
Now there should be an equilibrium where liquid is just stable. Set the axis to be the
compositions.
S-A-V 1 X(MG) 0 1 .01
S-A-V 2 X(SI) 0 1 .01
SAVE almgsi-luni
MAP
TERNARY_DIAGRAM
The TERNARY_DIAGRAM module (short name, the TERN module) enables you to quickly
calculate a simple ternary phase diagram.
To enter the module, at the SYS prompt type GOTO_MODULE TERNARY. There are no other
commands for this module. Follow the prompts to plot a diagram.
Syntax TERNARY_DIAGRAM
In some cases, the activity may vary in a quasi-binary section if one has a phase fixed instead
(and where the phase may vary in composition). The advantage with the quasi-binary section
is that the tie-lines will be in the plane of the diagram and thus the lever rule etc is obeyed.
A quasi-binary section in Ca-Fe-O when the liquid oxide is in equilibrium with liquid Fe can
be specified as follows:
DEFINE-COMPONENTS CAO FE FEO
SET-CONDITION T=1850, P=1e5, N=1, X(CAO)=.1
CHANGE-STATUS PHASE FE-LIQ=FIX 0
However, it is a problem as FE-LIQ is not the stable phase for pure iron below 1811. One will
have to calculate separate sections depending on the stable modification of Fe.
You must also use SET_CONDITION to set the activity of the component whose activity or
chemical potential you have fixed. Do this by assigning a value to the ACR state variable. For
example, if the component is oxygen, you might enter
SET_CONDITION ACR(O)=0.2
You must also use SET_CONDITION to set the activity of the component whose activity or
chemical potential you have fixed. Do this by assigning a value to the ACR state variable. For
example, if the component is carbon, you might enter
SET_CONDITION ACR(C)=0.002
T0 Temperature Simulations
In this section:
During the STEP T-ZERO calculation procedure, the calculated T0 values are
presented next to the stepping variable.
For example, part of the output might look like this:
Phase Region from 1.000000E-01 for:
BCC_A2
FCC_A1
1.000000E-01 940.24
9.250000E-02 941.20
2.500000E-03 977.61
7.500000E-09 979.34
When the stepping calculation has finished, you can move to the POST module and
plot the T0 line against the stepping composition variable or another varying axis
value. Or you can impose the calculated T0 line onto a normal phase diagram.
Paraequilibrium
In this section:
About Paraequilibrium 84
Calculating a Paraequilibrium 85
About Paraequilibrium
A paraequilibrium is a partial equilibrium where one interstitial component (such as carbon
C and nitrogen N) in a multicomponent alloy can diffuse much faster than the other
components (the substitutional elements, including the matrix element and alloying
elements). The chemical potential for the interstitial component in two partially equilibrated
phases is equal in such a case, but this is not true for the other components. In such a
paraequilibrium state, it is possible to have a transformation that is partly without partitions,
where a new phase of the mobile component can form with different content but where the
slowly diffusing components retain their compositions.
A paraequilibrium calculation is useful when, for example, you want to study phase
transformations in systems with large differences in the diffusivities of different elements.
Transformations occurring under paraequilibrium states can be much more rapid than if full
local equilibrium holds at the phase interface.
Calculating a Paraequilibrium
Calculating a Paraequilibrium
This topic describes both how to calculate an initial paraequilibrium with two target phases,
and how to base a stepping calculation on this initial calculation.
Before you do any paraequilibrium calculations, you must have defined your initial alloy
system and be in POLY. The initial overall composition must have appropriate settings for
the desired paraequilibrium calculation for the two target phases.
1. Use SET_CONDITION to set the conditions of your calculation just like when you
calculate an ordinary equilibrium.
This gives you a clear picture on u-fractions of the substitutional and interstitial
components, which are different from the overall composition in the system. The
SPECIAL status means that the specified components are not included in summations
for mole or mass fractions. Therefore, all the composition variables plotted from
paraequilibrium calculations are u-fraction related quantities.
5. Specify the names of the target phases of the paraequilibrium state. For example,
FCC#1 BCC and FCC#2 M23C6.
The first two lines show the phase amounts expressed in mole-percent [NP(phase)]
and the contents of the interstitial components C and N in each phase. These
contents are expressed in u-fractions. The third line states that the compositions of
the matrix component and all the remaining compositions (regarding substitutional
components) are equal in the two target phases at the paraequilibrium state.
It is possible to now move to the POST module and plot some of the
results of the calculation. For an example of a paraequilibrium
calculation and how it can be plotted, see Console Mode example
tcex23.
Potential Diagrams
In this section:
POTENTIAL_DIAGRAM
The POTENTIAL_DIAGRAM (POT or POTENTIAL) module is a potential phase diagram
calculation module.
If you have a metal-oxide/sulphide-gas interaction system, you might want to calculate a so-
called potential phase diagram given certain temperature and pressure. A potential diagram
uses the activities of two major species in the gaseous mixture phase as mapping variables.
The activities (that is, the fugacities at 1 bar) of these two species are typically set as the X-
and Y-axis when the diagram is plotted. The phase relations between the gaseous mixture
and various metal forms, metal-oxides, metal-sulphides, or other metal-bearing solids, are
represented by different fields controlled by these two potential quantities.
To enter the module, at the SYS prompt type GOTO_MODULE POTENTIAL.
There are no commands for this module. Follow the prompts and see About
Potential Diagrams for details about how to calculate using potential diagrams.
Syntax POTENTIAL_DIAGRAM
Database: /POT/
Prompts Press <Enter> and the program lists the available databases. Type one of the database names and
press <Enter> to select. The following default elements are then based on the chosen database.
Matrix element: /Fe/
Syntax POTENTIAL_DIAGRAM
Temperature: /1000/
A POLY3 file is also automatically saved in the current working directory with the
default name POT.POLY3.
5. When the diagram is plotted, it opens the POST module where you can modify the
plotted diagram in any way you like.
You must have calculated a potential diagram already, and have the saved POLY3-file
available.
2. Use READ followed by the name of the POLY3 file that contains the results of the
potential diagram calculation that you want to modify.
A reminder that Linux and Mac are case sensitive; when applicable
ensure you enter file extensions with capital letters.
3. This opens the workspace file and loads the previous settings and results. The
activities of the two gaseous species is now part of the conditions, and these
conditions are set as the mapping variables.
4. Use SET_CONDITION to specify the pressure under which you want the potential
diagram to be calculated. For example, to set the pressure to 1000 bar, enter:
SET_CONDITION P=1e8
Scheil Simulations
In this section:
l Diffusion in the liquid phase is assumed to be very fast, that is, infinitely fast.
l Diffusion in the solid phases is so slow that it can be ignored, that is, diffusion is
assumed to be zero.
l The liquid/solid interface is in thermodynamic equilibrium.
In this Scheil simulation the temperature is decreased step-by-step. When the temperature
drops below the liquidus temperature the equilibrium amount and composition of solid and
liquid phase is calculated. The solid phase is removed from the system and only the amount
and composition of the liquid phase is used for the next calculation step at a lower
temperature. Again, the equilibrium amount and composition of solid and liquid phase is
calculated and again the solid phase is removed from the system for the next step. This
procedure is repeated until the last liquid disappears.
This calculation procedure is equivalent to assuming that there is no diffusion in the solid
phase and infinitely fast diffusion of all elements in the liquid phase. It has been shown to be
a good approximation of the solidification of most alloys such as Ni-superalloys, Cu alloys, Al
alloys, Mg alloys, and others. However, for steels it fails badly. The reason is that carbon is
one of the most important alloying elements in steels and it dissolves interstitially. Carbon
therefore has very fast diffusion rates. The assumption of no diffusion in the solid phase
during solidification is thus not correct for carbon at most industrial or lab-scale
solidification rates.
For this reason a variant of the Scheil simulation was developed and implemented in
Thermo-Calc, where one or more elements can be defined as fast diffusers.
Fast diffuser does not quite define this since diffusion is not actually simulated.
It is simply assumed that the “fast diffusers” distribute throughout the solid and
liquid phase according to thermodynamic equilibrium. This corresponds to
infinitely fast diffusion.
For the Scheil simulation with fast diffuser the following assumptions are made.
The classic Scheil simulation and Scheil simulation with fast diffuser models can be
considered thermodynamic models. There are clear limitations as a certain amount of back
diffusion always takes place in the solid phase at real solidification. For this reason, a more
sophisticated kinetic model, the Scheil simulation with back diffusion is also available.
The secondary arm spacing also depends on the cooling rate. For this reason a
simple empirical relation between cooling rate and secondary arm spacing is
predefined in Thermo-Calc.
For the Scheil simulation with back diffusion the following assumptions are made.
Summary
The variants of the Scheil-Gulliver solidification simulation (classic Scheil simulation, Scheil
with a fast diffuser element, and Scheil with back diffusion) are set up in either the SCHEIL
module in Console Mode or the Scheil Calculator in Graphical Mode.
The Scheil with back diffusion feature is only available for systems with diffusion
data, i.e. it requires the use of a mobility database.
After you enter the module and use the START_WIZARD command, you are prompted to
answer a series of questions about which database to use, what the major element is, and
the amount of alloying elements. Thermo-Calc then displays a property diagram showing
how the fraction of solid phase varies with temperature (in Celsius). You can then plot
diagrams using other variables you are interested in. To plot diagrams, you add a new
simulation or open a file with the results of a previous simulation. For example, you might
be interested in plotting the fraction of remaining liquid against temperature, the fraction of
each solid phase or the total of solid phases against temperature, the microsegregation in
each solid phase, or the latent heat evolution against temperature.
The following does not include any prompts related to using back diffusion. See
START_WIZARD for additional details about when this is enabled with the USE_
BACK_DIFFUSION command.
1. At the prompt type GOTO_MODULE SCHEIL.
4. Specify the Major element or alloy in your system. For example, enter Fe
(steel/Fe-alloy), Al (Al-based alloy), or Ni (Ni-based super alloy).
l Type Fe for this example.
5. Set whether to specify the Composition input in mass (weight) percent (the
default) or in Mole percent. Press <Enter> to keep the default for mass percent or
type N to use mole percent.
l Keep the default for this example (press <Enter>).
6. Specify the name of the 1st alloying element. You can directly specify mass or
mole percent after the name. If this is not specified, then you are prompted to enter
it separately.
l Type Cr 5 for this example.
7. Specify the other alloying elements in the same way as you specify the first.
l Type c 1 for this example.
8. After you have specified your last alloying element, press <Enter>. This ends the
process of defining the bulk composition of the alloy system.
You can also specify all the alloying elements and their corresponding
compositions on the same line when you are prompted to specify your
first alloying element. As a general example, you can enter Cr 5 Ni 1
Mo 0.5 C 0.01 N 0.02.
12. When prompted OK? type N to go back to reconsider which phases to reject or
restore. Type Y to continue. The thermodynamic data about the alloy system you
defined is retrieved from the database.
l Keep the default for this example (press <Enter>).
13. At the Should any phase have a miscibility gap check prompt, press <Enter>
for the default N or type Y then specify the Phase with miscibility gap.
l For this example, type Y then enter FCCas the phase with miscibility gap.
14. If you answer Y to the miscibility gap check, then next enter the following for Major
constituent(s) for sublattice 1 and Major constituent(s) for
sublattice 2.
l Enter Cr for sublattice 1 and C for sublattice 2 in this example. Then at the
Phase with miscibility gap prompt press <Enter>. The system responds
with LIQUID PHASE NAME: LIQUID.
15. Specify the names of any Fast-diffusing components. Press <Enter> for NONE or
type all the names on the same line then press <Enter>.
l Keep the default for this example (press <Enter>).
After the Scheil-Gulliver solidification simulation runs, the diagram Temperature versus Mole
Fraction of Solid is plotted in the Console Results window.
The variables can be plotted along the X- and Y-axes. In the table, ph is an abbreviation of
phase, and el is an abbreviation of element. Use the abbreviations of the variables when you
specify what the X- and Y-axes represent in a diagram.
T Temperature in Celsius
How can I plot the latent heat evolution after a Scheil simulation?
The total or apparent heat release during the solidification process consists of two parts: one
is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation, and the
other is the heat related to the specific heat of liquid and solid phases. To examine the heat
evolution after a Scheil simulation, one can in Console Mode choose either NH or BH from
the list of available plotting quantities to plot both (total or apparent) heat release and
latent heat evolution against T, the temperature. This will result in a diagram with two
curves, where the upper curve represents the latent heat evolution, whereas the lower curve
represents the (total or apparent) heat release. By choosing NH the result is displayed as
J/mol, whereas BH gives the result as J/gram. If one wants to plot just a single curve, one
has to save the results to an .EXP file and re-plot after editing it.
What is the difference between heat release and latent heat evolution
for a Scheil solidification simulation?
The total or apparent heat release during the solidification process consists of two parts: one
is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation, and the
other is the heat related to the specific heat of liquid and solid phases. To examine the heat
evolution after a Scheil simulation, one can in Console Mode choose either NH or BH from
the list of available plotting quantities to plot both (total or apparent) heat release and
latent heat evolution against T, the temperature. This will result in a diagram with two
curves, where the upper curve represents the latent heat evolution, whereas the lower curve
represents the (total or apparent) heat release. By choosing NH the result is displayed as
J/mol, whereas BH gives the result as J/gram. If one wants to plot just a single curve, one
has to save the results to an .EXP file and re-plot after editing it.
Why are there two curves when plotting heat evolution after a Scheil
simulation?
The total or apparent heat release during the solidification process consists of two parts: one
is the so-called latent heat, i.e. heat due to the liquid -> solid phase transformation, and the
other is the heat related to the specific heat of liquid and solid phases. To examine the heat
evolution after a Scheil simulation, one can in Console Mode choose either NH or BH from
the list of available plotting quantities to plot both (total or apparent) heat release and
latent heat evolution against T, the temperature. This will result in a diagram with two
curves, where the upper curve represents the latent heat evolution, whereas the lower curve
represents the (total or apparent) heat release. By choosing NH the result is displayed as
J/mol, whereas BH gives the result as J/gram. If one wants to plot just a single curve, one
has to save the results to an .EXP file and re-plot after editing it.
GES6 is a re-write and new implementation of the Gibbs Energy System module
of Thermo-Calc and it is the default engine. The previous version, GES5, is still
available and will continue to work in the background of the program where
necessary. The main purpose of GES6 is to support faster development of new
features. However, not all GES5 functionality is implemented in GES6. In such
cases (except for the POURBAIX module), GES6 falls back silently and uses
functionality from GES5 in the background.
Heterogeneous equilibrium calculations involving aqueous solutions are not different from
other equilibrium calculations, but the setup of the equilibrium conditions and the reference
states of the system is more complex. For example, the pH and Eh values of the aqueous
solution phase are normally complex functions of bulk composition, temperature and
pressure conditions.
For some simple systems, thermodynamic approximations of pH-Eh calculations can be used.
But Thermo-Calc also has comprehensive thermodynamic models and databases for various
non-ideal solution phases. These let you accurately calculate pH and Eh property diagrams
(and many other types of property diagrams) in complex aqueous solutions in a variety of
conditions.
A Pourbaix diagram is a kind of phase diagram that shows the stability boundaries for a
metal-aqueous interaction system. The phase boundaries are shown as a function of pH
(acidity) and Eh (standard hydrogen electronic potential). An aqueous solution phase is
always present in such a system. At a given pH and Eh, a metal may lose its stability to a
soluble or corrosive aqueous solution, or be in equilibrium with either the aqueous solution
(insoluble/immune) or with a secondary-phase file that has formed (consisting of oxides,
hydroxides, sulphides or other solids). In the latter case, further dissolution of the passive or
protective metal is prevented.
A Pourbaix diagram is a pH-Eh phase diagram where the tie-lines are not in the plane. The
chemical potentials or activities of two system components (H+ and EA) are used as mapping
variables and the pH and Eh quantities are normally plotted on the X- and Y-axes of the
diagram. You can use many other properties as axis variables in various property diagrams
for the interaction system at a specific temperature and pressure. The phase relations
between the aqueous solution and various metal forms, oxides, hydroxides, sulphides,
sulphates, nitrates, silicates, carbonates and other solids, or gaseous mixtures, are
represented as different fields defined by acidity and electric potential.
The POURBAIX module lets you construct Pourbaix diagrams and other types of property
diagrams for heterogeneous interaction systems with aqueous solution phases. The
compositional definition and variations and the basic solvent and electron components H2O,
H+1 and ZE are automatically determined by the aqueous solution phase in the Pourbaix
module.
Key Components
These key components are defined as follows:
Besides the aqueous solution phase, your system may also contain a gaseous mixture phase.
Other neutral and charged gaseous species may also be constituents. For multicomponent
systems there are normally also some interacting solid phases (stoichiometric or solution) as
the so-called secondary phases. These are typically the matrix and/or precipitate phases in
the alloys of interest.
Some databases have been specially developed for the Pourbaix module’s diagram
calculations. Such a database contains all necessary phases, i.e., an aqueous solution phase,
a gaseous mixture phase, some alloy solid solution phases and some secondary solid phases.
Databases developed for the Pourbaix module include PAQ (TCS Public Aqueous Solution
Database) or PAQS (TGG Public Aqueous Solution Database).
This database contains at least the AQUEOUS and REFERENCE_ELECTRODE phases. The
aqueous solution database needs to be appended with additional required data and phases,
such as interacting alloy (solid) solution phases and secondary (solid and liquid) phases.
Additional data is from one or more databases, such as SSUB/SSOL/TCFE or other
substances/solutions databases.
To choose 3, you must have already done a Pourbaix calculation and have it saved in
a POLY3 file. The new calculation uses the same system definition as the previous
calculation, but the other conditions, such as the bulk composition, temperature and
pressure, can be modified in the next step.
5. Type Y or N to set whether to Consider the GAS phase (gaseous mixture phase) in
the calculation.
The gaseous mixture phase should at least contain H2O, O2 and H2. If a GAS phase is
not considered, then only the interactions between the aqueous solution phase and
various solid phases (alloy phases and secondary phases) are calculated. Such a
calculation may not accurately present all the heterogeneous interactions. Some
secondary phases are therefore usually needed. Such phases exist in the PAQ or
PAQS Public Aqueous Solution Databases. They can also be appended from the
SSUB/SSOL/TCFE or other appropriate substances/solutions databases.
6. Type Y or N to set whether to Use single database (Y) or a multiple database (N).
If you choose to use a single database, at the Combined Database: /PAQ2/ prompt
specify a database that is specially developed for the Pourbaix module’s diagram
calculations.
If you choose to use a multiple database, then you are prompted to specify an
aqueous solution database and to append any additional required data and select
necessary phases, such as various interacting alloy (solid) solution phases, and
secondary (solid and liquid) phases, for example.
7. Specify all your solutes and the molality of each solute when prompted to do so. This
can be done in terms of elements (such as Fe, Ni, Na, Cl, C or S) or arbitrary complex
species (such as NaCl, CO2, CoCl3, Fe0.93S, NaSO4-1, or H2SO4). You can enter the
element/species and the molarity on one line (for an example, NaCl 2.5).
The definition of your system and its initial bulk composition is now presented.
The first letter of the element abbreviation must always be upper case.
Any second letters must be lower case. When you have finished your
specification, press <Enter> when asked to specify Next solute.
9. Answer the questions that you are prompted regarding various parameters of your
calculation. You are asked to do any of the following:
l Rejectphase(s)or Restore phases(s)
l Check for miscibility gaps on any phase (Should any phase have a
miscibility gap check?)
l Enforce the Global Minimization Technique in calculations?
10. The Pourbaix calculation starts. Answer the question Any missing phase boundary
you could possibly think of? Type Y or N to set whether you want to add
starting points to the calculation. If you suspect that the calculation has missed some
phase boundaries, this may help the program to detect them.
11. Answer questions about how the diagram is plotted and how to save the results of
your calculation. You are asked to do any of the following:
l Change the pH/Eh steps for smoother curves?
l Zoom in on a specific region of the diagram
l Change the curve-label option for the diagram
Abbreviation Variable
pH Acidity
IS Ionic Strength
TM Total Concentration
Aw Activity of Water
Oc Osmotic Coefficient
Abbreviation Variable
Performing the stepping calculation overwrites all the previous settings and
stepping results on the POLY3-file. To avoid this, use SAVE_WORKSPACES to
create a new workspace.
When you have calculated a Pourbaix diagram, you can use the saved results of the
calculation (the POLY3 file), and make a property diagram based on stepping calculation.
Since the program normally sets the calculated initial equilibrium point as the starting point,
the minimum value for the stepping variable must be specified as smaller or equal to the
specific initial condition, and the maximum value as larger or equal to that condition. If pH is
set as the stepping variable, the program automatically calculates the equilibrium constant
in logarithmic (log10Ka) of the electrolysis reaction H2O (water) = H+ + OH- for the real
aqueous solution under the current temperature-pressure-composition conditions, and thus
this constant log10Ka value is considered as the highest pH in specifying the maximum value
along stepping. Subsequently, confirm or modify an increment factor with a default value;
for pressure and mole of a component, specify the step in logarithmic (log10P or log10N).
Temperature (K) T
Pressure (bar) P
Acidity pH
4. Specify the conditions of the calculation by answering the questions that follows.
The system definition is the same as in the previous Pourbaix calculation, but you can
modify conditions such as bulk composition, temperature and pressure, and change
some component definitions if necessary.
5. Specify which variable to use as the stepping variable (see the preceding table), its
minimum and maximum value, and the length of each incremental step.
The settings and stepping results are written to the opened POLY3 file, and a first
default property diagram is plotted.
POURBAIX_DIAGRAM Module
GES6 is a re-write and new implementation of the Gibbs Energy System module
of Thermo-Calc and it is the default engine. The previous version, GES5, is still
available and will continue to work in the background of the program where
necessary. The main purpose of GES6 is to support faster development of new
features. However, not all GES5 functionality is implemented in GES6. In such
cases (except for the POURBAIX module), GES6 falls back silently and uses
functionality from GES5 in the background.
If you answer Y a series of notes are displayed. The following is a more comprehensive
summary of these same notes.
The Pourbaix diagram is a calculated equilibrium phase diagram mapped and plotted with
the independently-varied electropotential (Eh, as defined with regard to the standard
hydrogen electrode as its reference) and acidity (pH), that represents all the equilibrated
phase boundaries among aqueous solution, gaseous mixture, and various primary and
secondary solids (modeled as either complex solution or simple stoichiometric phases) in a
certain multicomponent heterogeneous interaction system, under a defined T-P condition
and a specific initial bulk composition (which is, by default, always set as 1 kg of water
dissolving a specified amount of metals/alloys and other acids/alkalines/salts).
At least one database is required that contains an aqueous solution phase (with
thermodynamic data for water and various aqueous solutes), that shall be selected from
TCAQ (PAQ) or AQS (PAQS) [which use the SIT Model or the Complete Revised HKF Model,
respectively] within the Thermo-Calc databases.
You can also use a custom database but it must be in the Thermo-Calc TDB format. Due to
the restrictions of aqueous solution models used within Thermo-Calc, such a database must
be designed in the same format as in the default TCAQ (PAQ2) for aqueous solution phases.
Among other things, keep the following requirements in mind:
The ELECTRON is defined as an special element (ZE) and as the only constituent in its
reference phase REFERENCE_ELECTRODE (for determining the electro-potential that is
defined as Eh with the standard hydrogen electrode as the reference), but it is not defined as
an aqueous species;
The vacancy (VA) is unnecessary for AQUEOUS solution phase and it should be avoided in the
definition of phase-constituents in the AQUEOUS phase;
The AQUEOUS solution phase should always be defined as a constitutional solution phase,
implying that all the aqueous solution species must be included in a single site, rather than
in two or multiple sublattices.
Beside the AQUEOUS solution phase, there shall exist a GAS mixture phase containing at
least H2O1, O2 and H2; and for multicomponent systems, normally there shall also contain
some solid (stoichiometric or solution) phases. Of course, if desired, you could also choose to
calculate and generate a Pourbaix diagram without considering the GAS mixture phase
entirely; however, such a plot is not really a complete Pourbaix diagram, due to the fact that
thermodynamically-stable phase boundaries between the AQUEOUS solution phase and GAS
mixture phase will then not be calculated at all!
All the required thermodynamic data for calculations of Pourbaix diagrams or other
diagrams must be retrieved either from one (Single) database which consists of an
AQUEOUS solution phase, a GASeous mixture phase, a REF_ELECTRODE phase, and some
SOLID phases (being solutions and/or stoichiometric compounds; for primary metals/alloys
and for secondary products formed from heterogeneous chemical/electrochemical
interactions, or from several (Multiple) databases that respectively contain various
solutions/compounds (as listed above).
Such databases suitable for calculations of aqueous-bearing heterogeneous interaction
systems can be those default-prompted ones [i.e., in the Single-Database case, the PAQ or
PAQS; and in the Multiple-Database case, the PAQ2 or as primarily-switched database, plus
the SSUBx as firstly-appended one and the SSOLx as secondly-appended one if it is necessary;
even more databases can be appended). Of course, you could also choose to append
required data from other appropriate databases (such as TCFE, TCSLD, TCNI/TTNi,
TCAL/TTAl, TCMG/TTMg, TTZr, TCMP, SLAG, etc.) for GASeous mixture phase and for varous
solid solution and stoichiometric compound phases. Furthermore, an experienced user can
also utilize his/her own USER-specified databases in various cases.
The advanced POURBAIX module is designed so that it requires you to just answer some
necessary questions, rather than to go through the other Console Mode modules (i.e., TDB,
GES5, POLY3 and POST) although you still enter commands at the prompts. Beside the
default plotted Pourbaix diagram, it also allows the user to easily and quickly plot many
different properties of the system, stable phases and aqueous species, varied along the
calculated phase boundaries for the same defined heterogeneous interaction system.
Moreover, it permits the user to directly change some plotting settings and manipulate all
kinds of plotted diagrams.
The current advanced POURBAIX-Module has been extended so that it is additionally able to
directly perform a normal STEPPING calculation (varied with a specified independent
variable) and to easily generate various types of property diagrams, for the same
heterogeneous interaction system that has been defined in a previous POURBAIX or TDB-
GES5-POLY3-POST 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).
ENFORCE A PAUSE
Whenever running a Thermo-Calc macro (TCM) file, you may want to pause after a specific
diagram is plotted on screen. This gives you the flexibility to:
Tabulation Reactions
In this section:
Tabulating a Reaction
A reaction tabulation presents you with the following properties, on rows representing
different temperature levels:
You can add a 6th column to the table that shows the values of a property or user-defined
function of your choice.
Tabulating a Reaction
A tabulation of a given chemical reaction provides you with data about the rate of change of
the standard tabulation properties at various levels of temperature. You can also add a
column for a property of your choice to the table.
2. If you want to add one thermodynamic functions to the tabulation calculation, which
is present in a sixth column in the table, use ENTER_FUNCTION.
You are prompted to enter the name of the column that is given at its head, and the
function itself. The following state variables can be used to define the function: G, H,
S, T, P, V and H298.
4. Set the pressure, the range of temperature that you want the tabulation to cover,
and change in temperature between each row in the table. You can also specify if
you want to output the calculation results to an EXP-file and whether you want any
graphical output, and if so, which column you want to be plotted against
temperature.
The tabulation calculation is performed and you are given a table that shows the
various properties at each temperature level within the range defined.
If you have chosen to receive graphical output, then the Console Results window
presents a graph that plots the column of you chose (on the Y-axis) against
temperature (on the X-axis). When this graph is plotted, you are now in the POST
module, where you can modify the graph in various ways.
You cannot use the default SSUB database when tabulating solution
phases at a fixed composition.
3. If you want to add one thermodynamic function to the tabulation calculation, which is
present in a sixth column in the table, use ENTER_FUNCTION.
You are prompted to specify the column header and the function itself. The following
state variables can be used to define the function: G, H, S, T, P, V and H298.
The tabulation calculation is performed and a table shows the various properties at each
temperature level within the defined range.
If you have chosen to receive graphical output, then the Console Results window presents a
graph that plots the column you chose (on the Y-axis) against temperature (on the X-axis). ).
When this graph is plotted, you end up in the POST module, where you can modify the graph
in other ways.
Results
In this section:
The POST module (post-processor) is a submodule to the POLY module and has
its own set of commands. The TAB, BIN, TERN, POT, SCHEIL and POURBAIX
modules use the POST module features as part of the automatic generation of
the plots.
Within the POST module, you can choose any state variable, any derived variable, or any
entered symbol (functions or variable) as the X/Y-axis.
When a diagram is plotted, appearance parameters for defining a high-standard graph can
be further specified, e.g. curve labelling options, diagram titles and subtitles, plot size, axis
length, axis types, axis-tic type, tie-line status, automatic or manual scaling and zooming,
semi-automatic or manual labelling on phase boundaries and phase regions, graphic
formats, text fonts, colours, raster plot, etc.
You can append experimental data onto a plotted diagram. You can also save the
coordinates onto a textual file, which can be edited and used as an experimental data file to
be merged onto another diagram or as a part of a setup file for PARROT-module
assessment.
Phases can be suspended or restored in a plotted diagram. The reference states for
components can also be modified for the resulted diagrams. Moreover, you can translate a
plotted property diagram (after a stepping calculation) into a tabulated form, such as a
simple list on screen or a textual file, and a spreadsheet .
Plotting Diagrams
Plotting a diagram is to graphically represent how several variables (typically two variables)
co-vary. Each axis in a property diagram or a phase diagram represents the value of one
variable. The default variables represented by the X- and Y-axes are the following:
l If you plot a diagram based on the results of a mapping operation (a phase diagram),
then by default the X- and Y-axes represent the mapping axis variables 1 and 2 (set
using SET_AXIS_VARIABLE in POLY).
l If you plot a diagram based on the results of a stepping operation (a property
diagram), then by default, the X-axis represents the stepping variable (set using SET_
AXIS_VARIABLE) and the Y-axis represents the sum of the mole fractions of all phases
(that is, NP(*)).
1. If you want to directly plot your diagram with the default variables represented by
the X- and Y-axes, type Plot and press <Enter>. This plots a property or phase
diagram with the default variables represented at each axis. If you do not want to
plot your diagram with these default variables, go to the next step.
2. Use SET_DIAGRAM_AXIS to set which variables to plot on the X-axis and the Y-axis. For
example, if you want to plot a phase diagram with pressure on the Y-axis and
temperature on the X-axis, type:
SET_DIAGRAM_AXIS X T
SET_DIAGRAM_AXIS Y P
The terms diagram and plot are interchangeable. The commands in Console
Mode generally use the term diagram and in Graphical Mode it is also called a
plot (e.g. the Plot Renderer).
PLOT_DIAGRAM
After you use the SET_PLOT_FORMAT command to define the default graphic device (the
printer) you can use a PLOT_DIAGRAM command to either save the calculation output to a
file or display the output in the Console Results window.
DUMP_DIAGRAM
DUMP_DIAGRAM is an alternative command used to create output. After a diagram is
displayed to the Console Results window with the PLOT_DIAGRAM command, you can save
(dump) it to a file using this command.
MAKE_EXPERIMENTAL_DATAFILE
Use MAKE_EXPERIMENTAL_DATAFILE to save all the data about the plotted diagram in an
EXP-file. An EXP-file is a plain text file that describes the diagram in the DATAPLOT graphical
language. Note that information about the underlying calculations that the diagram is based
on is not saved in an EXP-file.
PRINT_DIAGRAM
First use PLOT_DIAGRAM to create output that displays in the Console Results window. Then
after entering the PRINT_DIAGRAM command, the Print window opens where you can
choose additional settings for a hard copy of the diagram.
Saving Diagrams
You can save the output in a variety of file formats. For JPG and PNG images you can also
adjust the image quality.
In Console Mode, the diagram is output to the Console Results window after
using the PLOT_DIAGRAM command.
In the Graphical Mode Configuration window you can also click the Save
Diagram (or Save table) buttons to open the Save window.
d. For PNG and JPG files only, under the Image Quality section, choose to
improve the resolution of the image. For JPG files you can also adjust the file
size.
l To change the resolution of a PNG or JPG image, click to clear the Use
screen resolution check box. Then enter a numerical value in the Dots
per inch (DPI) field.
l For JPEG files, you can also use the slider to choose a number between
0 and 1 for the JPG quality. The default is 0.9. The lower the number,
the smaller the file.
Printing Diagrams
In the Console Results window, right-click the diagram and choose Print. Select additional
settings as required on the Print window.
Use the LIST_DATA_TABLE command to save to file and then print the file.
Modifying Diagrams
Modifying a diagram amounts to changing the settings that determine how the POST
module presents the calculated results and plots a new diagram. Suppose that you have
already plotted a binary phase diagram with the mapping axis variables temperature and
mole fraction of one of your components (the Fe component, say) on the X- and Y-axes. If
you then want to modify your diagram so that the Y-axis instead represents, say, the mass
fraction of Fe rather than the mole fraction, then you use SET_DIAGRAM_AXIS to set
diagram axis Y to w(Fe), and then use PLOT_DIAGRAM.
There are many ways in which you can modify your diagram and how it is presented. Any
modification made in the plot settings is taken into account the next time you use PLOT.
Example Commands
The following are some of the modifications you can make. Use:
l SET_TITLE to set add a title or to change an already existing title. The title is
displayed above the plotted diagram in the Console Results window.
l ADD_LABEL_TEXT to add a label text that starts at a certain X- and Y-coordinate. If
you have plotted a phase diagram, then you can let Thermo-Calc set the label text
that specifies the names of the stable phases at that coordinate.
l SET_AXIS_TYPE to set whether the scale of an axis is linear, logarithmic or inverse.
l SET_DIAGRAM_TYPE to plot a triangular diagram with the X-axis on the triangle’s
base and the Y-axis on the triangle’s left side. Such a diagram is often useful if you
want to plot the fractions of two components in a ternary diagram.
l SET_SCALING_STATUS to modify the range of values that are displayed on an axis. In
effect, you can use it to zoom in or out of the diagram. For example, to set the scale
of the X-axis to range from 0 to 0 .3, type:
SET_SCALING_STATUS X N 0 0.3
The X specifies which axis to change the scaling on, the N turns off Thermo-Calc’s
automatic scaling, and 0 and 0.3 specifies the minimum and maximum values on the
scale. You can turn on automatic scaling again by setting the second parameter to Y.
l SET_LABEL_CURVE_OPTION to label each set of curves that have the same stable
phases with a certain digit. A legend is also added, where you specify which phases
each digit designates.
Subscripts in an axis text S-A-TEXT Y N Mole-fraction Al^DO2$O^DO3$ S-A-TEXT Y N \latex Mole-fraction Al_2O_3
Label with subscript add .13 .15 n c-ZrO^DO2$ add .13 .15 n \latex c-ZrO_2
Greek symbol ADD .05 .50 N ^GRd$ ADD .05 .50 N \latex \delta
In Console Mode, sometimes the output overflows the window text buffer. This is how to
increase the buffer size.
1. Right-click the Console tab header in the Console window (if this is the first Console tab,
it is labeled Console 1).
2. Click Properties, and increase the Buffer size in the Console Properties window.
Commands by Module
In this section:
ABOUT 140
BACK 141
CLOSE_FILE 142
DISPLAY_LICENSE_INFO 143
EXIT 144
GOTO_MODULE 145
HELP (? and ??) 146
HELP 147
HP_CALCULATOR 148
INFORMATION 149
MACRO_FILE_OPEN 150
OPEN_FILE 153
SET_COMMAND_UNITS 154
SET_ECHO 155
SET_GES_VERSION 156
SET_INTERACTIVE 157
SET_INTERACTIVE_MODE 158
SET_LOG_FILE 159
SET_PLOT_ENVIRONMENT 160
SET_TC_OPTIONS 161
STOP_ON_ERROR 162
ABOUT
The ABOUT command lists basic information about the development history and ownership of
the Thermo-Calc software as well as version information.
BACK
GOTO_MODULE.
Use the BACK command to switch control back to the most recent module. Going from the
POST module, BACK goes only to the TAB or POLY module (from where the POST module is
entered).
CLOSE_FILE
Close an opened text file.
Syntax CLOSE_FILE
Unit number: <Unit number>
Prompt
A unit number given in an OPEN_FILE command must be specified.
DISPLAY_LICENSE_INFO
You can also access this same information from the top menu. Choose Help →
Show License Info.
Use this command to launch a license diagnostics program implemented in the SYS module.
It detects the license information for the Thermo-Calc installations on the current client
computer (and on the connected license server), and lists the details, including the current
status of available license file and all its included license features for the current installation
(s), as well as the Safenet Environment Variables and detailed Local (Client) Information, on
screen or into a textual file (*.TXT).
This is useful for a list of license details, and to obtain basic technical support by sending the
*.TXT file to support@thermocalc.com. If you are running a network client installation of
Thermo-Calc, you can see how many of the client example licenses that are currently
checked out and how many of them are left. You can also see which clients computers it is
that have checked these client example licenses out.
Syntax DISPLAY_LICENSE_INFO
Output to screen or file /Screen/: <Mylicenseinfo.txt>
Prompt Press <Enter> to display a list of license information or into a *.TXT file under a specific file name
which can later on be opened and edited by any basic text editor.
EXIT
Use the EXIT command to leave the program and return to the operating system. Use a SAVE
command before exiting otherwise all data and results are lost (in either the GIBBS, POLY,
PARROT or REACTOR module).
GOTO_MODULE
Switch between modules. The name of the module must be typed. To get a list of available
modules, press the <Enter> key.
Syntax GOTO_MODULE
If the <Enter> key is pressed without typing a unique module name (or typing a ? mark) it prompts
for the MODULE NAME and lists the available modules.
For some commands and prompts, more detailed help is given when two ?? are
entered.
HELP
Lists the available commands or explains a specified command. Specifying a unique
command displays an explanation on screen. Typing a command abbreviation that is not
unique lists all matching commands. Get the command information by typing a unique
abbreviation or the complete command name.
Syntax HELP
Command: <Command name>
Command name is the name of the command (one of the-module commands) to get help.
Prompt
If the <Enter> key is pressed without typing a command name, then all the available commands
are listed.
HP_CALCULATOR
The HP-CALCULATOR commend is the QBA simple interactive calculator using reverse Polish
notations.
Available OPCODEs (HPC codes) are listed by entering the command HELP.
Use the BACK command to quit and go back to the SYS module.
Input are numbers, + - * / and ^ and OPCODEs. Several numbers an operations can be given
on one line. The content of the X register is displayed after each operation.
For example, to compute 2*EXP(1.5**3-30000/(8*1273)), you should input the following:
30000 8/1273/chs 1.5 3 ^ + exp 2 *
INFORMATION
Get basic information about topics related to the module you are in.
Syntax INFORMATION
Which subject /Purpose/: <Topic name>
Prompt Specify a subject (or its abbreviation as long as it is unique). Enter a question mark ? for a list of
topics.
MACRO_FILE_OPEN
Some of the information in this topic is related to the add-on Diffusion Module
(DICTRA).
Syntax MACRO_FILE_OPEN
<Name of a macro file *.tcm>
An Open window displays to specify the filename of the macro file (*.TCM) with the macro
command, so that the path (in the Look in field) and File name can be specified.
The Files of type *.TCM for Thermo-Calc (Console Mode) calculations and *.DCM for DICTRA
simulations, cannot be changed. Click Open or Cancel to continue.
A window such as Save, Open, or Print opens if the macro file contains commands to:
If required, opening these windows can be avoided by issuing the file names (preferably with file-
type extensions; if the files are not in the current working area where the macro is located, the
appropriate and complete paths of the files should also be specified) and sometimes with the
required options after the corresponding commands or parameters/options.
For details, see the related commands and modules.
When using a macro file that intended to plot graphs on screen, but the command SET_PLOT_
FORMAT is used to alter the plotting environment from the default value, it is important to first use
the command SET_PLOT_FORMAT again to change back to the default value.
This is useful when the same or similar calculations are made frequently with small changes
[in terms of system definitions, data manipulations, conditions (for single points, stepping or
mapping calculations), plotting settings, etc.). For example, use this feature when calculating
phase/property diagrams during an assessment of thermodynamic data.
A macro file can be automatically generated in Console Mode if in the SYS module the SET_
LOG_FILE command is used and a log file name (with a file extension *.TCM) is given before
any other SYS, DATA, TAB, GIBBS, POLY, POST, PARROT, or ED-EXP command or any special-
module command (e.g. BIN, TERN, POTENTIAL, SCHEIL, POURBAIX, or REACTION). Such a log
file generated in Console Mode is a text file. You can use a text editor (such as Notepad++)
to remove unnecessary command lines, modify some commands, settings and definitions,
add some pause points, add comment lines that start with @@, and so forth. Then save it as a
macro file with the standard file extension TCM.
Experienced users can also write/edit an appropriate macro file for calculations/simulations,
using any basic textual editor outside the Thermo-Calc program.
All commands can be used in a macro file.
Within a macro file you can use comment-lines (for describing the problems and for
explaining commands and inputs/outputs), which should always start with the @@ signs in
the beginning of each comment-line. Such comment-lines help to document the macro file,
while these are not considered as command lines and thus do not affect the proceeding of
all the normal commands in modules when the file is called by Thermo-Calc.
You can put multiple-line comment-blocks in a macro file between the @ (” and “@)” signs.
The former sign indicates where the comment begins and the latter sign indicates where the
comment ends. A comment-block begins from a line started with the begin comment sign @
(and ends with the finish comment sign @); all the lines written in between are ignored, and
the line started with @) is also ignored.
Another use for a macro file is to allow you to interact at some specific points, using the
“@?” sign starting a text line (note that the text describing the expected user-
specification/input should be written as a continuous string without any empty space), for
user’s on-time specifications of arguments/parameters or inputs of parameter-values that
are requested by a certain command. The macro temporally stops at the “@?” sign, prompt
on screen the text given after “@?”, and waits for the specified argument/parameter/value.
Thermo-Calc then uses specified argument/parameter/value as the input(s) for the
associated command. For example, you can input the values of lower and higher
temperature limits for the second axis-variable as follows:
GO POLY-3
SET-AXIS-VAR 2 T @?Low-temperature-limit:
@?High-temperature-limit:
You can have macro-variables denoted by the signs of @#n (for definition) and ##n (for
usage); and up to nine variables inside a single macro file. Such a macro-variable can be
assigned with its desired value, as for example:
@#3First-element?
This writes the text (note that the text describing the expected user specification/input is
written as a continuous string without any empty spaces) after the “@#3” sign as prompted
on screen and then wait for a specification. The input is assigned to the macro-variable ##3,
which is directly called in different parts within the current macro file.
For example, the content of the macro-variable ##3 is inserted in the command:
DEFINE-SYSTEM ##3
OPEN_FILE
A text file is opened for use in other commands where a unit number is necessary. The
program automatically assigns a unit number.
Syntax OPEN_FILE
File name: <File name>
Prompt
A legal file name must be specified.
SET_COMMAND_UNITS
This command is useful for reading inputs already prepared by a textual editor on a file.
Such inputs can be a table of values or a large number of parameters. The file must be
opened with OPEN_FILE.
The first two lines of an input file are skipped before any input is read.
Syntax SET_COMMAND_UNIT
Input unit number /5/: <Input unit number>
Specify the input unit number returned from an OPEN_FILE command. The next command is taken
Prompt from the file connected to this unit number. The last command on such a file must be EXIT or SET_
INTERACTIVE when you are in POLY, POST or SYS module, in order to go back to read input from the
keyboard. The default value is the current input unit.
Output unit number /6/: <Output unit name>
SET_ECHO
Add the SET_ECHO command at the beginning of a macro *.TCM file (or to the primary
macro file on the top level if any sub-level(s) of macro files are used).
Automatically displays on screen the complete details of various commands in all the
sequential operations in the software, that are enforced according to the macro file(s).
SET_GES_VERSION
This command enables switching between the two versions of the Gibbs Energy System (GES)
calculation engine. As of Thermo-Calc version 2019b, GES6 is the default. Also see About the
Gibbs Energy System (GES) Module.
GES6 is a re-write and new implementation of the Gibbs Energy System module
of Thermo-Calc and it is the default engine. The previous version, GES5, is still
available and will continue to work in the background of the program where
necessary. The main purpose of GES6 is to support faster development of new
features. However, not all GES5 functionality is implemented in GES6. In such
cases (except for the POURBAIX module), GES6 falls back silently and uses
functionality from GES5 in the background.
Syntax SET_GES_VERSION
USE GES VERSION 5 OR 6 /6/:
Prompt The default is version 6. If you change the version to GES5, it is set for the current session of
Thermo-Calc only. If you launch a new Console window, the version resets to GES6.
To globally set the default from GES6 back to GES5, go to the Tools → Options →
General tab and click Version 5 for the Preferred Gibbs Energy System setting. This is
useful if you are using the PARROT module (optimization) or if you have a custom
database that is not compatible with GES6.
SET_INTERACTIVE
Use the SET_INTERACTIVE command to reset the input and output units to the initial values,
i.e. keyboard and screen. Add this as the last command to the macro files.
SET_INTERACTIVE_MODE
Use the SET_INTERACTIVE_MODE command to reset the input and output units to the initial
values, i.e. keyboard and screen.
Remember to add this as the last command to your macro files, in order to stop
execution of the command file in the POST module. It has no meaning in
interactive mode.
SET_LOG_FILE
Use it to save, in a basic text file, everything typed into Thermo-Calc. When having problems
executing a command sequence, this command can be used to save the command typed
onto a log file with the file extension *.TCM.
This command also makes the system echo the full command for all commands typed. This
feature is useful when demonstrating the system since the abbreviated commands are often
difficult.
The saved log file can then be edited as a macro file by using a basic text editor. This is
useful to run the macro file(s) for similar calculations (the same system but slightly varied
temperature-pressure-composition conditions), or run the example macro files.
Macro Files
Syntax SET_LOG_FILE
A Save window opens to specify a file name for the *.TCM file, so that the path (in the Save in field)
and File name can be specified. If a log file with the same name exists in the current working
Prompt
directory, it is overwritten. The Files of type (i.e. TCM) cannot be changed. Click Save or Cancel as
applicable.
SET_PLOT_ENVIRONMENT
Use this command to set the plot devices to save or print plots to, which varies for by
installation type.
Syntax SET_PLOT_ENVIRONMENT
Default plot device number /Default number/: <Device number>
Prompts The number given is unique for each type of graphical device. The default graphical device
number should normally be selected. A question mark ? gives you a list of all available graphical
devices used.
Pseudo file name: <Pseudo-file name>
The name given here is a symbol which can be used to refer to a physical graphics device when
asked for graphical output file.
Plot device number /1/: <Device number>
The name of the graphical device on system level (name of file or printer).
Example
SET_PLOT_ENVIRONMENT 1 lasp 5 a0tr,,
This example sets the default plot device number to 1, and defines an alias named lasp with plot
device 5 and connected to a printer named a0tr.
SET_TC_OPTIONS
Predefine the default values of three general options for performing all the sequential
single-points, stepping and mapping calculations.
Syntax SET_TC_OPTIONS
Use_global_minimization /Y/:
By default it global minimization is used where possible (depending on the conditions setting). A
Prompts global minimization test is performed when an equilibrium is reached. This costs more computer
time but the calculations are more robust. Enter N to prevent global minimization being used to
reach the equilibrium.
Global_test_interval /0/: <An integer value>
The integer number determines how often the global minimization should be used during
calculations with STEP_WITH_OPTIONS and MAP. If it is set to 0 (zero), the recommended global test
interval is used: i.e. every tenth step and at each phase change during step calculations, and only
at node points during map calculations. Any other positive integer number, n, suggests it performs
global minimization tests at every nth step during step and map calculations. Of course, the Global
Minimization test is always carried out at a phase change or a node point. The software is initially
configured with 0 (zero) as the default value, but such a configuration for the default value can be
changed by this option.
Automatically_add_initial_equilibria /Y/:
If Y is entered, the POLY module always enforces the automatic procedures for adding initial
equilibrium points during mapping. For N, no initial equilibrium points are then added during
mapping.
STOP_ON_ERROR
Useful for batch jobs in order to prevent that an erroneous sequence of commands to the
program causes waste of computer activity.
Syntax STOP_ON_ERROR
Give the preferred argument (ON or OFF) after the STOP command. If the default argument ON is
given, the program terminates after an illegal or ambiguous command. It is possible to reset the
effect of this command by giving the argument OFF.
AMEND_SELECTION 164
APPEND_DATABASE 165
DATABASE_INFORMATION 166
DEFINE_ELEMENTS 167
DEFINE_SPECIES 168
DEFINE_SYSTEM 169
GET_DATA 170
LIST_DATABASE 171
LIST_SYSTEM 172
REJECT 173
RESTORE 175
SET_AUTO_APPEND_DATABASE 176
SWITCH_DATABASE 177
AMEND_SELECTION
This command is for the DATABASE_RETRIEVAL (TDB) module.
Use this command after defining the elements, species or the system (with the commands
DEFINE_ELEMENTS, DEFINE_SPECIES, or DEFINE_SYSTEM). The prompts allow changes to the
predefined system. By answering Y or N, each of the selected elements, species or phases
can be accepted or rejected (although this is not the case for the constituents or the entire
system).
Syntax AMEND_SELECTION
Keep <Name1> No/Quit/Yes/
Prompt
Keep <Name2> No/Quit/Yes/
APPEND_DATABASE
This command is for the DATABASE_RETRIEVAL (TDB) module.
Appends data to the current set of data already read from another database. The syntax is
the same as for the SWITCH_DATABASE command.
This command enters all additional functions and parameters to already existing phases, e.g
atomic mobilities, phase constituents, excess models, G0 and interaction parameters.
This command is most commonly used to read mobility data from stand-alone mobility
databases.
This command should be used with some caution if thermodynamic data is appended and
the application is run with Gibbs Energy System version 5 (see SET_GES_VERSION in the SYS
module). It can change calculated values in an unexpected way. This can happen e.g. if the
appended database has the same function name as a function in the data retrieved from a
database opened with SWITCH_DATABASE.
Syntax APPEND_DATABASE
New database name /XYZ/:
Prompt
The name of either an existing database (e.g. FEDEMO) or USER.
DATABASE_INFORMATION
This command is for the DATABASE_RETRIEVAL (TDB) module.
DEFINE_ELEMENTS
This command is for the DATABASE_RETRIEVAL (TDB) module.
Define the system in terms of elements. All possible species that can be formed by the given
elements are retrieved from the database. The names of elements must be separated with a
space or comma. It is possible to use a wildcard * after a common part of element names so
that all the elements, which start with that common part and are available in the currently
switched or appending database, are defined in the system. Up to 40 elements can be
defined into a single system.
Syntax DEFINE_ELEMENTS
Element& <Element1, Element2, …>
Prompt
A list of elements to be defined into the system.
DEFINE_SPECIES
This command is for the DATABASE_RETRIEVAL (TDB) module.
Define the system in terms of species. Only those species given are retrieved. The different
names of species must be separated with a space or comma. It is possible to use a wildcard
* after a common part of species names so that all the species, which start with that
common part and are available in the currently switched or appending database, are
defined in the system. Up to 1000 species can be defined in a single system.
Syntax DEFINE_SPECIES
Species& <Species1, Species2, …>
Prompt
A list of species to be defined in the system.
DEFINE_SYSTEM
This command is for the DATABASE_RETRIEVAL (TDB) module.
Syntax DEFINE_SYSTEM
Elements: <Element1, Element2, …>, or
Prompt
Species: <Species1, Species2, …>
Options Description
Species or Elements Default keyword.
Element& Specify a list of elements for the defining system.
Species& Specify a list of species for the defining system.
GET_DATA
This command is for the DATABASE_RETRIEVAL (TDB) module.
Enter the defined system’s elements, species, phases, and the connected parameters
obtained from either the primary switched or additionally appending database(s) to the
GIBBS and/or DICTRA workspace. Then use the GET_DATA command to get all information
concerning a defined system from the databank.
Only after executing this command can you go to any of the application
programs such as GES, POLY or DICTRA and use the retrieved data. When
appending database(s), this command must be repeated in order to obtain the
additional system definitions, parameters and functions.
LIST_DATABASE
This command is for the DATABASE_RETRIEVAL (TDB) module.
Syntax LIST_DATABASE
Options Description
Keyword
One of the keywords Elements, Species, Phases or Constituent must be used to indicate what
to list
All available elements, the reference state, atomic mass, H298-H0 and S298. Some elements
Elements have spaces in the column for the reference state. This implies that there are no parameters
stored for this element.
Species All available species together with the stoichiometric factors.
Phases
All available phases together with the number of sublattices and the number of sites in each
sublattice.
All available phases, the number of sublattices, the number of sites in each sublattice and the
species dissolved in each phase. Species in different sublattices are separated with a colon (:).
It is important to realize, for example, a phase can consist of Fe, Mo, V, and Cr, and its
Constituent
thermodynamic parameters can come from the binary systems Fe-Mo, Fe-V, Fe-Cr, and Mo-
Cr. These data can give a relatively good description of the corners of the Fe-Cr-Mo system,
but would most certainly give a bad one for the system Mo-Cr-V, due to the fact that the
interaction parameters are, by default, set to zero, which originates from binary systems not
included in the database.
LIST_SYSTEM
This command is for the DATABASE_RETRIEVAL (TDB) module.
List all elements, species, phases or phase constituents in the defined system. It works only
after a system is defined.
Syntax LIST_SYSTEM
One of the keywords Elements, Species, Phases or Constituent must be used to indicate what to
list.
Keyword
LIST_DATABASE
REJECT
This command is for the DATABASE_RETRIEVAL (TDB) module.
Reject elements, species, phases or phase constituents that can form from the defined
elements and species. Phases/species/constituents that are possible to form in the defined
system are removed from the list of system phases/species/constituents (shown by the
command LIST_SYSTEM). Phases/species/constituents that are not included in the list cannot
be entered without first being restored. The different names must be separated with a space
or comma. You can use a wildcard * after a common part of names so that all the
elements/species/phases/constituents that start with that common part and are available in
the currently switched or appending database, are rejected from the defined system.
This command can also reject a defined system, and thus reinitiate the entire DATA module
memory and GES workspace.
Syntax REJECT
If keyword = SYSTEM the DATA module is reset to its initial state; GIBBS is reinitiated and data
Prompt 3
already entered to GES is lost.
Keyword
One of the keywords Elements, Species, Phases, Constituent or System must be used to
indicate what is rejected.
Name& Names of the pre-defined elements/species/phases/constituents/system
Elements The given elements are rejected.
Species The given species are rejected, making it impossible to form them from the defined elements.
Phases
The given phases are rejected, making it impossible to form them from the defined elements
or species.
The given constituent in one phase are rejected. Add the following when prompted:
Phase: The name of the phase containing the constituent to be rejected.
Constituent
Sublattice number: The sublattice where the constituent enters (the first sublattice is 1). The
question is omitted if there exists only one possible sublattice.
Syntax REJECT
RESTORE
This command is for the DATABASE_RETRIEVAL (TDB) module.
Syntax RESTORE
Keyword
One of the keywords Elements, Species, Phases or Constituent must be used to indicate what
is rejected.
Name& Names of the pre-defined elements, species, phases, and constituents
Elements The given elements are restored.
Species The given species are restored and thus possible to form from the defined elements.
Phases
The given phases are restored and thus possible to form from the defined elements or
species.
SET_AUTO_APPEND_DATABASE
This command is for the DATABASE_RETRIEVAL (TDB) module.
Enforce an automatic action that appends thermodynamic data from a chosen database
regarding the system to the data you already have about the system from the current
database (that is, the default database or the database last chosen with SWITCH_DATABASE or
APPEND_DATABASE).
This command should be used before defining a system (with the commands DEFINE_
ELEMENTS, DEFINE_SPECIES, or DEFINE_SYSTEM) and retrieving the data with the GET_DATA
command from the primary switched database.
Syntax SET_AUTO_APPEND_DATABASE
Option The name of an existing database or a User database that corresponds to the
automatically-appending database.
Therefore, to selectively append more phases from a secondary database to a system that is
defined and retrieved from a primary switched database, then APPEND_DATABASE and
sequential commands (such as DATABASE_INFORMATION, DEFINE_SYSTEM, DEFINE_ELEMENT,
DEFINE_SPECIES, LIST_SYSTEM, REJECT, RESTORE and GET_DATA) should be used instead, before
this command.
Although it is impossible to manually list, reject and restore any phase from the appending
database, the DATA module automatically ignores all the phases that do not exist in both the
primary switched database and the appending database, and append the data for the phases
(that are also available in the primary switched database) from the appending database, as
informed on screen when executing GET_DATA afterwards.
SWITCH_DATABASE
This command is for the DATABASE_RETRIEVAL (TDB) module.
Switch (or change) from the current database to a new one. It also reinitializes the entire
module.
The database can be either a standard database (the ones in tc_initd.tdb) or a so-called
user database. To open your own (user) database, type USER followed by the path to the
user .TDB file or press <Enter> and select it in the window that opens.
Syntax SWITCH_DATABASE
New database name /XYZ/:
Prompt
The name of either an existing database (e.g. FEDEMO) or USER.
ADD_INITIAL_EQUILIBRIUM 182
ADVANCED_OPTIONS 185
AMEND_STORED_EQUILIBRIA 186
CHANGE_STATUS 188
COMPUTE_EQUILIBRIUM 193
COMPUTE_TRANSITION 195
CREATE_NEW_EQUILIBRIUM 197
DEFINE_COMPONENTS 198
DEFINE_DIAGRAM 199
DEFINE_MATERIAL 202
DELETE_INITIAL_EQUILIBRIUM 206
DELETE_SYMBOL 207
ENTER_SYMBOL 208
EQUILIBRIUM_CALCUL 211
EVALUATE_FUNCTIONS 213
GLOBAL_MINIMIZATION 214
KEEP_COMP_SET_NUMBERS 216
LIST_AXIS_VARIABLE 217
LIST_CONDITIONS 218
LIST_EQUILIBRIUM 219
LIST_INITIAL_EQUILIBRIA 220
LIST_PHASE_ADDITION 221
LIST_STATUS 222
LIST_SYMBOLS 223
LOAD_INITIAL_EQUILIBRIUM 224
MAKE_COMPONENT_ENTERED 225
MAKE_COMPONENT_SUSPENDED 226
MAJOR_CONSTITUENTS 227
MAP 228
NEW_COMPOSITION_SET 230
OUTPUT_FILE_FOR_SHOW 232
PARAEQUILIBRIUM 233
PHASE_ADDITION 236
POST 237
PRESENT_PHASE 238
READ_WORKSPACES 239
REINITIATE_MODULE 240
SAVE_WORKSPACES 241
SELECT_EQUILIBRIUM 243
SET_ALL_START_VALUES 244
SET_AXIS_VARIABLE 246
SET_CONDITION 248
SET_INPUT_AMOUNTS 251
SET_INTERACTIVE 252
SET_NUMERICAL_LIMITS 253
SET_REFERENCE_STATE 255
SET_START_CONSTITUTION 257
SET_START_VALUE 258
SHOW_FOR_T= 259
SHOW_VALUE 260
STABILITY_CHECK 261
STEP_AND_MAP 262
STEP_WITH_OPTIONS 264
TABULATE 277
TOGGLE_ALTERNATE_MODE 278
T-ZERO_TEMPERATURE 279
ADD_INITIAL_EQUILIBRIUM
This command is for the POLY module.
Add initial equilibrium points from which a phase diagram is calculated (through the MAP
command).
For each initial equilibrium the first stage of the mapping varies the value of the given axis
variable condition, changing it in the given direction. When a phase change is found it is
saved as a start equilibrium, and if the symbol ">" was used, it continues the search until the
end of the axis variable.
If no axis variable conditions differ between initial equilibria then the map
results in several overlaid diagrams, in accordance with the selected conditions
and the values.
The ADD_INITIAL_EQUILIBRIUM default command implicitly makes the MAP command search
for phase changes according to settings set by ADVANCED_OPTIONS STEP_AND_MAP
command. Default for STEP_AND_MAP are three initial equilibrium equidistantly along each
axis variable, along the edge of the axis variable rectangle.
By default these default start points are used in MAP. If any ADD_INITIAL_EQUILIBRIUM is used
these default start points are not used. They are again used if the command ADD default is
used together with another ADD_INITIAL_EQUILIBRIUM command.
The ADD command with the default direction scans along the axis variables and generates
start points each time the scan procedure crosses a phase boundary. In addition, it generates
four start points, scanning cross the middle of each axis, if there is any solubility line that
does not reach the axes. At the MAP command, a search for lines in the diagram is made
along each direction of the axis variables in the diagram.
In this way, it should guarantee that all possible phase boundary lines in a phase diagram
are found. It may take a little longer to execute than using the minimum number of start
points, as some lines may be calculated more than once. But the POLY module remembers
all node points and subsequently stops calculations along a line when it finds a known node
point.
It is also possible to create a sequence of start points from one initial equilibria by
appending a > after the direction at the ADD command. For example:
Direction /Default/: 2>
Direction /Default/: -2>
This generates one start point for each set of phase change in the positive direction of the
axis 2 (or negative direction of the axis 2); this ensures finding all possible phase boundary
lines (not just the first one) along such an axis direction.
This is particularly useful when you have a phase diagram with several lines with no
intersection. It is thus possible to calculate e.g. an isopleth for a much more limited
composition range. It is also useful for calculating CVD diagrams and Pourbaix diagrams.
Syntax ADD_INITIAL_EQUILIBRIUM
Direction /Default/: <Direction code>
Direction code(s):
The direction is important when the initial equilibrium point is in a single-phase region or when the
diagram is an isopleth (tie-lines not in the plane of calculation). In such cases, the program will
search for a line in the diagram (i.e., a line where the amount of a phase is zero) in the given
direction.
Normally, this command is not needed to calculate a property diagram (with the STEP_WITH_
OPTIONS → NORMAL command-sequence), as the STEP procedure starts from the current
equilibrium state already calculated. In many cases, the ADD_INITIAL_EQUILIBRIUM command
is not required for MAP commands either.
In order to calculate a simple property diagram, set the equilibrium conditions and the
stepping axis variable, and then give a STEP command. But if a phase diagram has
disconnected lines, ADD_INITIAL_EQUILIBRIUM may still be needed to add two or more initial
equilibria so that the MAP calculation starts from such initial equilibria at the specified
directions to find all phase boundary lines.
This command becomes unnecessary in most cases, as the MAP routines that by default use
the Global Minimization Technique handles all the initial equilibrium points in a robust and
automatic way. Therefore, you do not need to have a good guess of the starting point and to
add any initial equilibrium point prior to the calculations of various types of phase diagrams.
However, if preferred, use this command to add any initial equilibrium points in certain
directions, the POLY module uses the specified starting point(s) and corresponding user-
added initial equilibrium point(s) for a mapping calculation; in such a case, the automatic
procedure in the rewritten MAP routines are not enforced while the Global Minimization
Technique can still be applied. Similar situations occur when a specific database, in which
there are some definitions of initial-equilibrium adding direction(s) for accessed binary
and/or ternary subsystems in its ACCESSED_SYSTEM section, is used in the BINARY or
TERNARY module for calculating a binary or ternary phase diagram.
All the initial equilibrium points generated by ADD_INITIAL_EQUILIBRIUM (previously and
presently; saved in the current POLY workspace) can be easily listed on screen with LIST_
INITIAL_EQUILIBRIA. A certain initial equilibrium point (including its conditions and
equilibrium results) can be loaded into the current equilibrium, if needed, with LOAD_
INITIAL_EQUILIBRIUM. Any specific or all of the initial equilibrium points can be deleted from
current POLY workspace, if desired, with DELETE_INITIAL_EQUILIBRIUM.
ADVANCED_OPTIONS
This command is available with the POLY and ED-EXP modules.
Syntax ADVANCED_OPTIONS
Several options are available after you enter this command at the prompt. The default is
STEP_AND_MAP.
l EQUILIBRIUM_CALCUL
l GLOBAL_MINIMIZATION
l KEEP_COMP_SET_NUMBERS
l LIST_PHASE_ADDITION
l MAJOR_CONSTITUENTS
l NEW_COMPOSITION_SET
l OUTPUT_FILE_FOR_SHOW
l PARAEQUILIBRIUM
l PHASE_ADDITION
l PRESENT_PHASE
l SHOW_FOR_T=
l STABILITY_CHECK
l STEP_AND_MAP
l TOGGLE_ALTERNATE_MODE
l T-ZERO_TEMPERATURE
AMEND_STORED_EQUILIBRIA
This command is for the POLY module.
This command gives information about the calculated blocks (and phase regions included in
blocks) after the STEP or MAP calculation(s). It allows you to list all or part of the calculation
results, to suspend all or parts of the calculation results that are redundant or where
metastable equilibria are calculated, and to restore all or parts of the calculation results (if
having been suspended by another AMEND_STORED_EQUILIBRIA command).
The workspace for storing equilibria may overflow during stepping or mapping, and is then
written to a file as blocks. Each block usually contains one or more ranges of equilibrium
regions.
Use one these options:
Syntax AMEND_STORED_EQUILIBRIA
Name: <Name of a defined table>
Prompts List (L) the calculated equilibria, suspend everything (S) or suspend each set of equilibria
individually (Q), or restore everything (R).
Block /*/: <Block number>
Specify a block number in the option L, S, Q or R. Or include all the blocks in the amending option,
by accepting the wildcard * (press <Enter>).
For L, a block (if a block number is specified) or all the blocks (if the wildcard * is accepted/used),
with the regions and the equilibrium details, that are calculated during stepping or mapping is
listed on screen or in a textual file.
For Q, each ranger in a block (if a block number is specified) or in all blocks (if the wildcard * is
accepted/used) then choose:
S(uspend) K(eep) /K/: <S or K>
For S or R, if a block is specified, you are asked what region in the block should be suspended or
restored. However, if the wildcard * is accepted/used, you are asked the following:
Really suspend all /N/:
Really restore all /N/:
In both cases the default is N and you are prompted for which block(s) and which region(s) in a
certain block to execute the S or R action.
Syntax AMEND_STORED_EQUILIBRIA
Really suspend all /N/:
Y suspends everything.
Really restore all /N/:
Y restores everything.
Range: <Range(s) of region>
Specify one or more ranges to be suspended (the S option) or restored (the R option). The
wildcard * suspends or restores all ranges in the specified block.
In order to know the ranges the LIST command must first be used.
S(uspend) K(eep) /K/: <S or K>
The Query suspend option (Q) asks for each region in a certain block if it should be suspended or
kept. Suspended regions are not included on sequentially generated plots.
Output file: /Screen/: <File name>
This prompt is only for listing (the L option), and after it the command is terminated. The file name
must be given here; or accept the default Screen (terminal) by pressing <Enter>. A list of stored
equilibria as various blocks (with all their ranges) are shown out on screen or the file.
CHANGE_STATUS
This command is available with the POLY and ED-EXP modules.
In the POLY module, set the status for components, species and phases in the defined system
for all the sequential calculations (single-point, stepping, and mapping) in equilibrium or
local/partial equilibrium state. Each component, species and phase has a status. The default
status is ENTERED.
The most important use is to calculate metastable equilibria and metastable phase diagrams
by setting some phases (that would otherwise be stable) to the SUSPENDED or DORMANT
phase-status. Another important applications is to calculate paraequilibria by setting some
components to the SPECIAL component-status.
For a component and for a species, the status can be one of the following:
l ENTERED: the component(s) or species are included in the calculation. This is the
default status.
l SUSPENDED: the component(s) or species are not considered in the calculation.
l SPECIAL: the specified component(s) are not included in summations for mole or
mass fractions. It only works for component(s).
Only component(s) can have the status SPECIAL, which implies that these are
not included in summations for mole or mass fractions.
For example, for the u-fractions or other normalized fractions, when one or more of the
components are excluded from the summation, you must specify which component(s) should
be excluded from the calculation of mole or mass fraction. This component status is
particularly useful when calculating paraequilibrium states. Such component(s) are normally
interstitial component, and must have the status SPECIAL. This is assigned by the CHANGE_
STATUS command.
Syntax CHANGE_STATUS
For phases, species or components? /Phases/: <Keyword>
Prompts
Keyword = phase or species or components
Phase name(s): <Name(s) of the phase(s)>
For phase as the keyword, the names of the phases that have their status changed must be given
(all on one line). A comma or space must be used as separator. The status to be assigned to the
phases can also be given on the same line if preceded with an equal sign (=).
Syntax CHANGE_STATUS
An asterisk, *, can be used to denote all phases. The special notations *S, i.e. a
wildcard * directly followed by an S, sign, means all suspended phases. In the same
way, *D means all dormant phases, and *E means all entered phases.
For species or components as the keyword, the names of the species or components that have
their status changed must be given (all on one line). A comma or space must be used as separator.
Similarly to the case of phase as the keyword, the status to be assigned to the species or
components can also be given on the same line if preceded with an equal sign =.
For the POLY module, using the Entered or Suspended status here has the same
result as using the commands MAKE_COMPONENT_ENTERED and MAKE_
COMPONENT_SUSPENDED. The exception is that any existing conditions that
depend on a suspended component are removed when using the MAKE_
COMPONENT_SUSPENDED command.
For components, the status ENTERED, SUSPENDED or SPECIAL can be given. SPECIAL means that this
component is excluded from sums for mole fractions and mass fractions, which is useful when
calculating the ufractions or other normalized fractions of system components.
For phases, the status ENTERED, SUSPENDED, DORMANT or FIXED can be given. DORMANT means the
same as suspended but the driving force is calculated. FIXED means that it is a condition that the
phase is stable at a certain amount.
For example, for the ufractions, when one or more of the components are excluded from the
summation, you must specify which component should be excluded from the calculation of the
mole fraction. This component must have the status SPECIAL. This is assigned by the CHANGE_
STATUS command: Change_Status comp C=special.
For ENTERED phases, an initial amount of the phase can be given. Normally, 0 is given if the
phase is not likely to be stable, and 0.5 or 1 or any positive number if the phase could be stable,
but such an initial amount is only used as the rough starting estimation in the equilibrium
calculations.
Number of mole formula units /0/: <Equilibrium amount>
For FIXED phases, the equilibrium amount of the phase [always using an initial estimation being
Syntax CHANGE_STATUS
the NPF(phase) value which it is the normalized mole number of components (per mole formula
unit) of the specific status-fixed phase] must be given. If the equilibrium amount is zero, then the
phase is at its stability limit.
If in the same Fe-Cr-Ni-C-N-O system the liquid solution phase is modeled by the Two-Sublattice
Ionic Liquid Model, i.e.:
IONIC_LIQ (Cr+3,Fe+2,Ni+2)p(VA,C,N,O-2,FEO3/2)q,7
where the stoichiometric coefficients p and q are also dependent upon the real equilibrium state
(rather than having fixed values in the system). Similar situations occur for other (solid) phases
which are described by a multiple sublattice model with ionic constituents, such as SPINEL and
HALITE phases in some databases.
There is no strange thing when using a zero value [i.e. 0] in a FIXED phase-status, since it means
the specified phase is stable in equilibrium state but has a zero-amount of mass in the equilibrium
calculations; in other words, on a phase diagram, the specific phase is on a zero-fraction line (ZFL),
i.e. it starts becoming stable on one side of a corresponding phase-boundary line or unstable on
the other side of the same boundary. It is often and efficient to do so when calculating e.g. solidus
equilibrium states.
Syntax CHANGE_STATUS
However, when a non-zero value [it must always be positive; e.g. 1 or 0.5 or 0.3 or 1.5] is to be
specified in a FIXED phase-status, it is unnecessarily the exactly same stable amount of the specific
FIXED-status phase in a calculated equilibrium state any longer; instead, the <equilibrium amount>
value is the NPF(phase) value that is only roughly used as the estimated starting-value of the
FIXED-status phase in the equilibrium calculations.
Therefore, a FIXED-status for a liquid phase being unity does not necessarily imply that it is a
liquidus equilibrium state (where the liquid phase is in equilibrium with some solid phases but the
liquid phase takes all the mass in the defined system). A unity value for setting the liquid phase
status in calculating liquidus equilibrium state can only be used when the liquid mixture phase is
predefined as a single-sublattice solution phase (such as metallic liquid phase in multicomponent
alloy systems) and the total system size as one mole (i.e. N=1).
When a phase is described by a solution model in which two or more sublattices are considered
and these sublattice sites may also have different stoichiometric coefficients [meaning that the
mixture phase could have more than one atom in formula [NA>1; see some examples above], the
unity value should not be used when setting the FIXED status for the phase; instead, you should
use an appropriate value that ranges from 0 to a NPF(phase) value that equals to or is smaller than
1/NA (if the total system size N=1) or 1/NA*N (if N differs from unity). For this reason, if a
multicomponent system bears an IONIC_LIQUID phase that is described by the Two-Sublattice
Ionic Liquid Model (or any other multiple-sublattice ionic solution phases), it is difficult to use a
proper NPF(ION_LIQ) value in setting its FIXED phase-status, because that should be less than (or
equal to) the complex value of
N/[p + q*yC2 + q*yN2 + q*yO22 + q*yFeO2 3/ 2 ].
Examples
For example, to obtain the metallic fraction in a system with carbon as an interstitial
component, you can set the component status for carbon as SPECIAL:
Change_Status comp C=special
The SUSPENDED status for components and species does not always work as
expected.
l ENTERED: the phase(s) are included in the equilibrium calculations and these are
stable if that minimizes the total Gibbs energy in the defined system. This is the
default status for all phases already retrieved from the chosen database(s). An
ENTERED phase-status is always associated with an initially-estimated amount [in
mole number; normally, as 0 if the phase is not likely to be stable, and as 0.5 or 1 or
any positive number if the phase could be stable] but it is only used as the rough
COMPUTE_EQUILIBRIUM
This command is for the POLY module.
The full equilibrium state is calculated for the given set of conditions. The Global
Minimization Technique is by default enforced in this command (C_E), while it can be
disabled temporarily (for the current single-point equilibrium calculation) if using C_E – or
C_E * command-combination, or permanently (for all the sub sequential single-point
calculations or stepping/mapping calculations within the current TCC run) if having
decisively switched it off by a user (or possibly in some special modules) through changing
the minimization option using the ADVANCED_OPTIONS → MINIMIZATION_OPTION command-
sequence.
Syntax COMPUTE_EQUILIBRIUM
The C_E command can be used, in order to enforce the ordinary POLY minimization routines in an
equilibrium calculation; this is because of that the ordinary C_E command is now associated with
the Global Minimization Technique, and only after the Global Minimization
If technique is permanently switched off the C_E command makes no difference from the C_E –
command-combination.
Only certain types of equilibrium conditions [e.g. T, P, N, N(<component>), X(<component>), B, B
(<component>), and W(<component>)] are fully supported in the Global Minimization mode (called
Direct Global Minimization); and when other types of equilibrium conditions are used, after the
initial POLY, a Global Minimization test and corrections are performed until the lowest minimum is
found (called Indirect Global Minimization).
If there is any problem with convergence, you may try the C_E * command-combination. The
character * enforces the command to use an advanced technique to obtain a complex equilibrium.
Prompt However, after a successful C_E *calculation, you may repeat the C_E command and can check the
status of phases, species or components (with LIST_STATUS → CPS command-sequence) and
equilibrium conditions (with LIST_CONDITIONS) and list out the calculation results (with LIST_
EQUILIBRIUM), because such actions may tell you how to further modify various settings for your
current calculation. This command-combination is not that useful anymore, because the Global
Minimization Technique that is always associated with the C_E command is even more powerful
and more precise in finding the most-stable equilibrium state in a complex heterogeneous
interaction system; therefore, the C_E * command-combination is functional and can be used only
after the Global Minimization mode has already been disabled temporarily or permanently.
Some phases that are not stable in the current equilibrium state may not have their most favorable
composition after this command, and thus their driving forces may not be correct. You can force
the program to correctly calculate the driving forces of metastable phases, by giving repeated C_E
commands until the number of iterations (that is shown on screen after this command) is reduced
to 2.
Syntax COMPUTE_EQUILIBRIUM
Also see the POLY command SET_NUMERICAL_LIMITS which can set the approximate
driving force for metastable phases option on or off in all the subsequent POLY
calculations within the current TCC run.
If an equilibrium state for the defined system is not found, an error message is
given.
You can try repeating this command a few times, or change some of settings for the numerical
limits, for starting variables and starting values, for starting constitutions of certain phases and for
reference states of certain components, or to verify some of the defined conditions.
COMPUTE_TRANSITION
This command is for the POLY module.
Syntax COMPUTE_TRANSITION
Phase to form: <Phase name>
A new phase name, e.g. BCC that is expected to form, is specified here. This changes the status of
this new phase to be FIXED as 0 amount, and the program shows the information such as:
You must remove one of the these conditions
P=100000, T=800, N=1, X(FE)=.5 DEGREE OF FREEDOM 0
Prompts If the key word ANY is used when prompted for Phase to form (instead of a specific phase name),
it is possible to find out any new phase to be formed, in a given varying direction sign and at an
estimated change of the released condition: a negative sign means at a lower value of the
released condition any new phase is to be found, and a positive sign at a higher value; an
estimated change of the released condition implies where any new phase is expected (but it is
only estimated value, so any value within its reasonable scale would be enough). Such calculations
can be repeated if required. This feature is useful to find out all possible phase transformations
Syntax COMPUTE_TRANSITION
One condition must be removed, in order to calculate the transition equilibrium where the
specified (or any) new phase to be formed at a calculated value of this released variable.
Therefore, the message may display (after a successful calculation) if, for example, X(Fe)is
entered:
To form BCC the condition is set to X(FE)=.48605791769
This calculated value is assigned as the parameter of that removed condition, in this case, the X
(FE) variable. If the LIST_CONDITIONS command is typed this message displays:
If the key word ANY (instead of a specific phase) is given as the phase name when it is prompted
for Phase to form, the line is prompted for a given varying direction sign and an estimated change
of the released condition before the calculation of transition equilibrium:
Estimated change (with sign) /1/: <+/-#>
A given varying direction sign and an estimated change of the released condition, in this case as X
(FE), must be given here: a negative sign means at a lower value of the released condition any
new phase is to be found, and a positive sign at a higher value; an estimated change of the
released condition implies where any new phase is expected (but it is only estimated value, so
any value within its reasonable scale would be enough). For example, if a combination of -0.02 is
input, this message may display (after a successful calculation):
To form BCC_A2#1 the condition is set to X(FE)=.493708756187
This calculated value is then assigned as the parameter of that removed condition, in this case, the
X(FE) variable. The message is shown if the LIST_CONDITIONS command is typed:
CREATE_NEW_EQUILIBRIUM
This command is available with the POLY and ED-EXP modules.
During data-assessments using the ED_EXP module (a submodule of PARROT), you can, in
the POLY module, create several equilibria with different sets of conditions and phases (but
normally with the same set of components). By default, there is one equilibrium. To keep the
set of conditions and phase for this equilibrium, create another one using this command, and
use another set of conditions for that. Two equilibria may be useful to calculate easily the
enthalpy difference between two states. In the PARROT module, the experimental
information is stored as a sequence of equilibria.
Syntax CREATE_NEW_EQUILIBRIUM
Equilibrium number /2/: <A new equilibrium number>
Prompts Each equilibrium in the POLY workspace is identified by a unique integer number. Such an
equilibrium number can be recalled with SELECT_EQUILIBRIUM.
Initiation code /2/:
When an equilibrium is created, you can choose to ENTER all components and phases (initiation
code 2), ENTER the components only (initiation code 1) or SUSPEND everything (initiation code 0).
No other values are legal.
The entered components and phases can later be changed with CHANGE_STATUS.
DEFINE_COMPONENTS
This command is available with the POLY and ED-EXP modules.
Change the set of components. By default, the elements are used as components. The set of
components can be important because some conditions are set using components, for
example, the amounts, activities or chemical potentials.
For example, in the system Fe-Si-O, you can define FEO, FE2O3 and SIO2 as components,
thus replacing the default FE, SI and O.
Syntax DEFINE_COMPONENTS
Give all new components / existing components/: <New components>
The new components must be specified all on one line. These replace the existing component
definitions.
Prompt
The number of components cannot be changed with this command. Use CHANGE_
STATUS instead.
To keep some existing components, it is recommended that you also enter these on the line.
Otherwise, the added new components may not be defined correctly. This is especially important
if some components are built out of several elements.
DEFINE_DIAGRAM
This allows automatic calculation and plotting of a diagram with a single command. It is the
same as the DEFINE_MATERIAL command up to when the first equilibrium is calculated. The
alloy OPTION feature is also available in this command to specify alloying compositions for a
special alloy predefined by the OPTION keyword in a selected database (e.g. the TCNI Ni-
based Superalloys Database).
Use this command to calculate all types of phase diagrams after specifying all composition
value and an initial temperature (if temperature is used as an axis). However, for binary and
ternary diagrams, the special BIN and TERN modules may be preferred.
It then lists all the independent variables for the defined system (i.e. temperature and the
components) and asks for a variable as the X-axis. You must also specify a maximum and
minimum for the X-axis. The second axis (Y-axis) can be another composition (or the
temperature if that is not on the X-axis) from the independent variable list. The program
then calculates and plots a phase diagram, as there are two independent quantities on the
axes.
Alternatively, select a dependent quantity as the Y-axis variable from the second list on
screen (e.g. the amount of all phases, composition of a specific phase, or fractions of a
component in all phases), and the program calculates and plots how this quantity depends
on the condition on the X-axis. This is a property diagram.
This command ends up within the POST module monitor. You can refine the calculated
phase diagram or property diagram.
Moreover, many more property diagrams with axes other than compositions can also be
plotted (after the calculation), using SET_AXIS_VARIABLE in the sequent POST monitor.
Syntax DEFINE_DIAGRAM
or
Mass percent of <Element> /##/: <Value>
Syntax DEFINE_DIAGRAM
Mass (weight) percent: <Amount of the above specified element>
Temperature (c) /1000/: <Temperature of interest in oc>
Reject phase(s) /none/: <List of phase(s) to be rejected>
Restore phase(s) /none/: <List of phase(s) to be restored>
OK? /Y/: <Y or N>
Should any phase have a miscibility gap check? /N/:
Phase with miscibility gap: <phase name>
Major constituent(s) for sublattice #: /aa/: <Constituent(s)>
Phase with miscibility gap: <Phase name>
The first equilibrium is calculated, as with DEFINE_MATERIAL. Then a list of all independent
conditions suitable to be chosen as X/Y-axis variables is given by the program.
Quit? /Y/: <Y or N>
This question is asked only when the axis variables are already defined, or if DEFINE_DIAGRAM is
used. It then offers an opportunity to quit (Y) the calculation or to continue (N) the calculation but
by defining other axes.
Give the number of the condition to vary /1/: <A condition index>
Select one of the independent conditions by giving its index on the condition list as the X-axis
variable.
Minimum value /XXX/: <minimum value for X-axis>
Specify the minimum value of the chosen X-axis variable. A default value is shown automatically
by the program; press <Enter> to accept it or input another value.
Maximum value /YYY/: <maximum value for X-axis>
Specify the maximum value of the chosen X-axis variable. A default value is shown automatically
by the program; press <Enter> to accept it or input another value. Then another list with some
dependent quantities is given by the program, which can be selected as the Y-axis variable.
Give the number of the quantity on the second axis /#/: <##>
Select one of the independent conditions or dependent quantities as the Y-axis variable, by giving
its corresponding index given on the condition lists.
If selecting one of dependent quantities (by giving the corresponding number from the second
list) as the Y-axis, then a property diagram is to be automatically calculated (through a normal
stepping procedure) and generated. For composition of a phase the phase name is asked for
further specification subsequently.
If selecting any of the other independent variables (conditions) on the first list as the Y-axis, then a
phase diagram is automatically calculated (through a mapping procedure) and plotted.
Syntax DEFINE_DIAGRAM
Name of phase: /ABC/: <phase name>
This is prompted only in case of that the composition of a phase is selected as the Y-axis variable.
The phase name for which the composition varied along with X-axis variable should be specified.
Multiple start points? /Y/:
By default, the program automatically generates and uses multiple start points for mapping the
defined phase diagram.
Save file /Result/: <File name>
The file name where the calculations are stored (saved as a *.POLY3 file) should be specified; the
default file name is RESULT.POLY3.
Linux and Mac are case sensitive so ensure you enter .POLY3.
DEFINE_MATERIAL
This command is for the POLY module.
Read data for a system from a database in the POLY module. It is convenient to use for
alloys when there is a major component and the amount of the other elements is known in
mass (weight) fraction. The command reads the system from the specified database, sets
the composition and temperature (and pressure equal to 1 bar) and calculates the
equilibrium state before the prompting for a new command. You can list the results with
LIST_EQUILIBRIUM or set a new composition or set axis for a STEP or MAP command.
You cannot append data from different databases in this way. Use this command
with data from a USER database.
Syntax DEFINE_MATERIAL
Same elements as before /Y/?
This question is asked only if some data is already read from the database, or if the command
DEFINE_MATERIAL or DEFINE_DIAGRAM is used. It then offers a convenient way to change the
This command only works properly in cases where the composition of the material
system is already defined as in the mole-percent or mass-percent unit.
or
Mass percent of <Element> /##/: <Value>
If you have decided to use the same materials system (available in the current POLY3 workspace)
by accepting the default (Y) to the previous prompt Same elements as before /Y/?, one of the
alternative prompts display for each of the components in the defined system, depending on how
the composition is defined (either in mole-percent, or in mass-percent).
Prompts are repeated until all the defined components are completed. Then, the program
prompts to specify the temperature condition.
Database /ABCDE/: <Database name>
The database with the description for the material must be given, or press <Enter> if using the
current database. It is possible to give a USER database.
Major element or alloy: <Element name>
The material must have a major element, usually the element which is present in the largest
amount. The fraction of this element is not set but is the rest.
In some databases there are the alloys predefined. An alloy has a default major element and have
Syntax DEFINE_MATERIAL
limits of the amounts of the alloying elements. If you stay within these limits the calculation gives
reasonable results.
Composition in mass (weight) percent? /Y/:
By default the input is taken as mass percent. Choose N to change to mole percent.
The amount of the alloying element in mass (weight) percent. Using DEFINE_MATERIAL you cannot
use the normal flexibility for conditions, but all must be given in mass percent. However, you can
after wards change the conditions using SET_CONDITION.
2nd alloying element: <Element name>
The second alloying element must be given. If only one, press <Enter>. If an element name is
given then the program asks for its mass fraction.
Mass (weight) percent: <Amount of the above specified element>
The amount of the above specified alloying element in mass (weight) percent.
Next alloying element: <Element name>
Continue giving elements and mass (weight) fractions until all elements specified. When all
alloying elements and their compositions (as in the above prompt) are specified, press <Enter> as
answer to this question to finish the materials definition.
Temperature (C) /1000/: <Temperature of interest in oC>
POLY makes the first calculation after retrieving the data for this temperature. By pressing
<Enter> to accept the default temperature. The value should be given in Celsius (°C).
This is a question generated by the database allowing you to select the phases. Normally, all
phases should be included when you press <Enter>. If a phase is to be rejected, the name of the
phase must be supplied. Several phase names can be specified in one line. It is possible to reject
Syntax DEFINE_MATERIAL
all phase by giving an asterisk *. If the number of phases to be included is much smaller than the
total number of phases, it may be convenient to first reject all phases and then restore those that
should be included. The question is repeated until you press <Enter> after rejecting all unwanted
phases or an asterisk *.
Restore phase(s) /None/: <List of phase(s) to be restored>
You can restore phases that are accidentally or deliberately rejected. It may also be possible to
restore some hidden phases.
If phases are to be restored the name of the phases must be supplied. Several phase names can
be specified in one line. It is possible to restore all phase by giving an asterisk *. The question is
repeated until you press <Enter> after restoring all desired phases.
OK? /Y/:
By default, all phases to be selected from the database have the thermodynamic data retrieved
and the references from the chosen database are listed. Enter N if there are any errors or you
want to amend the selection then you are returned to the prompt about rejecting phase(s).
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 the subsequent MAP or STEP
more difficult to converge.
If you do not want to have any phase with a miscibility gap in the calculation, press <Enter>. Then,
DEFINE_MATERIAL starts calculating the equilibrium, and is terminated.
To set such a phase with miscibility gaps in the calculation, answer Y. Then the software asks
questions about the phase names and their constitutions, such as:
Phase with miscibility gap: <Phase name>
You must supply the phase name, which has a miscibility gap under the specified system and
conditions.
Major constituent(s) for sublattice #: /AA/: <Constituent(s)>
The software shows a default constituent in the sublattice #(1,2,3,…), according to the existing
phase definition in the chosen database. You can specify one or more major constituents for the
sublattice # in the phase.
This question is repeated until all sublattices are specified.
Phase with miscibility gap: <Phase name>
You can supply another phase name with a miscibility gap under the specified system and
conditions, and answer the questions concerning the major constituent(s) in associated sublattice
(s).
By pressing <Enter>, the command starts calculating the equilibrium, and then terminates.
Syntax DEFINE_MATERIAL
It is also possible to use this command to select an alloy from a specific database
(e.g. the TCNI Ni-based superalloys database). Such alloys are predefined by the
OPTION keyword inside the database, and have their default major elements and
composition limits of their alloy elements.
Such alloys available in the selected database (at the prompt Database /ABCDE/ can be listed on
the screen if typing a ? mark on the prompt Major element or alloy. When a specific predefined
alloy (instead of a major element) is selected, the major element is staked from the alloy
definition and shown on the screen (with a message like Alloy found with major element NI).
You can only specify alloying elements and the compositions (weight percent or mole percent).
Typing a ? at any of the prompts for the alloying element names, e.g. 1st alloying element, 2nd
alloying element, lists all the alloying elements and the composition limits in the alloy. If the
composition of an alloying element is outside of its limit, there is a message (such as Amount above
limit: 30.0000) and a prompt Override limit ? /N/. If you decide to enforce the override by
answering Y on this prompt (i.e. accepting the over-limit alloying composition), another warning
message (such as Amount of major element below limit: 70.0000) and prompt Override limit ?
/N/. Then further decide if enforcing the overriding: if Y then accepting the major element’s
composition below the limit; if N then using the predefined major element composition limit.
DELETE_INITIAL_EQUILIBRIUM
This command is for the POLY module.
Delete ONE specific initial equilibrium point or ALL of the initial equilibria. The initial
equilibria are used as starting points for all the sub-sequential MAP and STEP calculations.
ADD_INITIAL_EQUILIBRIUM.
Syntax DELETE_INITIAL_EQUILIBRIUM
Specify the number of an initial equilibrium (as a specific numerical value e.g. 3, or ALL) to be
deleted from the POLY3 workspaces. It is recommended to use LIST_INITIAL_EQUILIBRIA to figure
out the numbers for all the existing initial equilibrium points that have already been added
(manually through ADD_INITIAL_EQUILIBRIUM, or automatically by some other POLY commands)
and stored in the current POLY3 workspace. By default, ALL the initial equilibrium points are
deleted.
DELETE_SYMBOL
This command is available with the POLY and ED-EXP modules.
Syntax DELETE_SYMBOL
Name: <Name of a symbol>
Prompt
Specify the name of the symbol to be deleted. Only one symbol can be deleted each time.
ENTER_SYMBOL
This command is for the POLY module.
There also GES and POST module commands with the same name.
Symbols are a useful feature of the POLY and POST modules to define quantities that are
convenient. Symbols can be constants, variables, functions or tables.
Functions or tables (with defined functions as values) can be entered in the POST module
after a stepping or mapping calculation, for purposes of plotting such entered functions or
tables as axis variables.
Within the POLY module, symbols are normally defined prior to an equilibrium calculation
(enforced by a C_E command), stepping calculation (enforced by the command STEP_WITH_
OPTIONS) or mapping calculation (enforced by MAP). These can be entered after an
equilibrium calculation; however, for defined functions, variable or tables, it requires using
EVALUATE_FUNCTIONS before showing the corresponding values in the calculated equilibrium
state.
The symbols entered in the POST module are not saved in the currently-loaded POLY3
workspaces. Therefore, if you want to apply such symbols in other similar calculations for
the same defined system, you must use the ENTER_SYMBOL command prior to the
STEPPING or MAPPING calculation in the POLY module.
Symbols are a useful feature modules to define quantities that are convenient. Symbols can
be constants, variables, functions or tables.
Syntax ENTER_SYMBOL
Constant, Variable, Function or Table? /Function/: <Keyword>
l CONSTANTS can only be entered once and is a means of using a name for a numeric
value. For example, the value of 1 atmosphere in Pascal can be denoted by P0 after the
command ENTER_CONSTANT P0=101325. Defined constants can be used as values in
Prompt condition assignments, for example, SET-COND P=P0.
l FUNCTIONS are expressions of state variables or other functions. These expressions are
saved, and whenever a function value is requested all functions are evaluated. The reason
for this is that they may depend on each other.
l VARIABLES are similar to functions because they can also be expressions of state
variables. However, contrary to functions, they are only evaluated when they are entered
Syntax ENTER_SYMBOL
Each symbol has a unique name that must start with a letter and can have maximum 8 characters.
Legal characters include letters (either UPPER or lower case), digits and underscore _. Any other
special character, such as parentheses ( and ), plus +, minus -, slash / or \, full stop (.), are illegal for
symbol names.
You can enter the symbol name and the value or function on the same line, these must be
separated with an equal sign =, for example, TC=T-273.15 or T_C=T273.15 which stands for a
definition of temperature in Celsius. Otherwise, these questions are asked.
For different types of symbol (constant, function, variable or table), the questions
have different prompts.
Functions and variables are evaluated from an expression of state variables or other functions,
constants or variables. The expression is a FORTRAN-like expression and operators +, -, *, = and **
can be used (** only with integer powers).
Unary functions like LOG, LOG10, EXP, SIN, COS and ERF can also be used. An expression can be
continued on more than one line. An expression should be terminated by a semicolon (;) or an
empty line (by pressing <Enter> at the next prompt).
Examples of function expressions:
The ampersand & means that you can continue to write the function on the new line if one line is
not enough for the function. If you finish the function press <Enter> again.
Syntax ENTER_SYMBOL
Value: <Value for a constant>
A table consists of a list of state variables or functions. One way to obtain results from a STEP
command is through a table.
Example:
ENTER TABLE K=T,X(LIQ,C),X(LIQ,CR),ACR(C)
Which means that the table called K contains four columns, i.e. the temperature, the mole
fractions of C and Cr in the LIQUID phase, and the activity of C.
To show the temperature in Celsius in a table, give the command ENTER_FUNCTION TC=T-273; and
then use the symbol TC in the table.
& <Continuation of the definition for the table>
The ampersand & means that you can continue to write the table on the new line if one line is not
enough for the table. If you finish the table press <Enter> again.
EQUILIBRIUM_CALCUL
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
Use this command to decide how to perform the POLY minimization (i.e. the traditional
Gibbs energy minimization). The Global Minimization Technique is used by default for
various single point equilibrium calculations and for stepping or mapping calculations.
To permanently turn off the Global Minimization Technique (for all sequential calculations
throughout the current run), use the GLOBAL_MINIMIZATION command and set the options to
use only the local POLY minimization. You can also make other adjustments to control the
steps in reaching Gibbs energy minima in an equilibrium state, for example.
When enforcing the Global Minimization Technique in the equilibrium calculations, you can
further adjust how to assign grid points and to handle compositional set(s) for solution
phases during stepping/mapping. In order to improve convergence, and because the Global
Minimization Technique uses the normal POLY optimization routine for some calculations,
you can also change how to control the steps in reaching Gibbs energy minima in an
equilibrium state.
The POLY command sequence SHOW_VALUE QF(phase) shows the size of the
lowest eigenvalue of a phase in an equilibrium state.
If you answer:
For each phase in a defined system, the molar Gibbs energy of the phase is a function of the
temperature-pressure condition and its composition:
Compute a Hessian matrix, which describes the curvature of the Gibbs energy curve of this
phase at the defined composition X:
Diagonalize this matrix and call the Eigenvalues as e1,e2,...,en . The QF(phase) quantity
for this phase is the lowest of these eigenvalues divided by the same values for a
corresponding ideal phase:
Here, se1,se2,...,sen are the Eigenvalues for the ideal phase. Therefore, for an ideal
phase, the QF(phase) should always be 1.0.
Control stepsize during minimization /Y/:
Choose Y or N to determine whether to introduce a control of step size while reaching the
minimum of an equilibrium state in a normal POLY optimization procedure. If you choose Y
it might help the POLY optimization to converge, especially if some site fractions are less
than 1E-4.
EVALUATE_FUNCTIONS
This command is available with the POLY and ED-EXP modules.
The value of one or more or all entered functions or variables are evaluated and listed.
Syntax EVALUATE_FUNCTIONS
Name(s): <Name(s) of defined function(s)>
The names of one or more entered functions or variables must be specified. By typing a wildcard
Prompt *, all functions and variables are evaluated.
GLOBAL_MINIMIZATION
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
Designed to decide how to perform the so-called Global Minimization in the POLY module.
By default, the POLY module uses the Global Minimization technique for various single-point
equilibrium calculations and for stepping or mapping calculations. You can use this to
permanently (for all sequential calculations throughout the current software run) turn off
the Global Minimization technique and consequently use only the Ordinary POLY
Minimization, and additionally adjust the ways to proceed the normal minimization (mainly
in terms of how to control the steps in reaching Gibbs energy minima in an equilibrium
state). When enforcing the Global Minimization technique in the equilibrium calculations,
you can adjust the manners for assigning grid-points and for handling new possible
compositional set(s) for solution phases during stepping/mapping; since the Global
Minimization technique also uses the normal POLY optimization routine for some
calculations, it is also possible to change the ways on how to control the steps in reach Gibbs
energy minima in an equilibrium state, in order to improve convergence.
The following prompts affect how the Global Minimization is done. Settings for global
minimization:
Use global minimization as much as possible /Y/:
Use global minimization for test only? /N/:
Maximum number of gridpoints per phase /2000/: <Integer number>
Use global minimization as much as possible /Y/:
Choose Y or N to decide if using the Global Minimization Technique from start of calculation
or not. The default value on start-up may be changed by SET_TC_OPTIONS in the SYS module.
If Y the calculation is done when possible (depending on the condition settings), and a Global
Minimization test is always performed when an equilibrium is reached. This costs more
computer time but the calculations are more accurate.
If N the calculation is not used to reach the equilibrium state. Use global minimization
for test only? determines if the Global Minimization test is made against the calculated
equilibrium states obtained by the Ordinary POLY Minimization calculation.
Use global minimization for test only? /N/:
Specify the maximum number of grid points that are computed for each of the phases in the
currently defined system, during the calculations enforced by the global minimization. More
grid points give a higher robustness and take more computation time. The total number of
computed grid points in all phases is limited to 2E6.
KEEP_COMP_SET_NUMBERS
This is available with the ADVANCED_OPTIONS command in the POLY module.
ADVANCED_OPTIONS
COMPUTE_EQUILIBRIUM
This setting affects the COMPUTE_EQUILIBRIUM command and turns on/off the functionality to
keep the composition set numbers from the previous equilibrium calculation. The setting is
on by default.
To turn the setting on or off enter the ADVANCED_OPTIONS command in POLY, then enter this
option and either press <Enter> to keep the default Y or enter N at the prompt:
Keep composition set numbers /Y/:
If this setting is on, performing the COMPUTE_EQUILIBRIUM command keeps the composition
set number for any phases that were also present in the last result from COMPUTE_
EQUILIBRIUM.
The composition set numbers are kept when the constitution of a phase in the
new equilibrium result is similar to the constitution of one of the composition
sets of that phase in the previous result. Making major changes to the conditions
between calculations makes it therefore less likely that the composition set
numbers are kept. The major constituents, given in the thermodynamic
database, are used if no previous result exists.
LIST_AXIS_VARIABLE
This command is for the POLY module.
Syntax LIST_AXIS_VARIABLE
Lists all the axis variables for a stepping or mapping calculation that have already been set by SET_
AXIS_VARIABLE.
LIST_CONDITIONS
This command is available with the POLY and ED-EXP modules.
All the conditions that are set by the SET_CONDITION command and the command-sequence
CHANGE_STATUS PHASE =FIXED <0 or 1 or alike>, are listed. The current conditions are
also listed by the LIST_EQUILIBRIUM command. The degree of freedom in the defined system
is also shown.
Syntax LIST_CONDITIONS
P=100000, T=800, N(NI)=1E-1, N=1
FIXED PHASES
Example
FCC_A1=1 LIQUID=0 DEGREE OF
FREEDO 0
LIST_EQUILIBRIUM
This command is available with the POLY and ED-EXP modules.
The result (always in SI units) from the last calculated equilibrium is listed on screen or in a
text file.
Syntax LIST_EQUILIBRIUM
Output to screen or file /Screen/: <File name>
Prompt
The name of the text file where the list of the calculation results shall be written.
Options /VWCS/: <Option(s)>
Select the output units and formats by optionally specifying a combination of these letters.
Default options are VWCS. If the output fraction type should be in mole fraction (rather than mass
fraction), then give VXCS or type X (implying that in this case the options V, C and S are accepted as
the listing manners for fraction order, composition and phase).
If accepting all the default options, or if accepting all the altered options that had already changed
when using this command previously, you can type L_E,,, or LIST_EQUILIBRIUM ,,,
LIST_INITIAL_EQUILIBRIA
This command is for the POLY module.
All the initial equilibria are used for the MAP (and STEP) calculations.
LIST_PHASE_ADDITION
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
LIST_STATUS
This command is for the POLY module.
Syntax LIST_STATUS
Default is CPS.
The results depend on the key word specified in the options for CHANGE_STATUS, a table with the
current status of phases or species or components, or the combinations, is shown:
The metastable phases are listed in descending order of stability. To avoid long
outputs only 10 metastable phases (in ENTERED status) are listed by lines, while all
other less stable phases are merged onto one line. For DORMANT phases, their
phase names and driving forces are listed. For SUSPENDED phases, only the phase
names are listed.
LIST_SYMBOLS
This command is for the POLY module.
There are also POST and ED-EXP module commands with the same name.
Use this command to list the definitions for all constants, functions, variables and tables. In
order to find the value of a function or variable, use SHOW_VALUE or EVALUATE_FUNCTIONS. A
table is tabulated with the TABULATE command.
Syntax LIST_SYMBOLS
The defined variables are listed up together with the defined functions, but variable names are
followed by a percentage sign %.
LOAD_INITIAL_EQUILIBRIUM
This command is for the POLY module.
Copies all conditions and calculated results from a specific added initial equilibrium to the
current equilibrium. The current conditions and calculation results are lost, and the newly
loaded initial equilibrium point gets into the POLY workspace.
Syntax LOAD_INITIAL_EQUILIBRIUM
Number: <Number of an initial equilibrium>
Prompt Specify the number of an initial equilibrium to be loaded as current. The number can be found
with LIST_INITIAL_EQUILIBRIA.
MAKE_COMPONENT_ENTERED
This command is for the POLY module.
The MAKE_COMPONENT_ENTERED command sets the status for the components to be ENTERED
in the defined system for all the sequential calculations (single-point, stepping, and
mapping) in equilibrium or local/partial equilibrium states. ENTERED means that the
component(s) are included in the calculation and these are stable if that minimizes the total
energy.
This command has the same results as when using CHANGE_STATUS Entered
option.
Syntax MAKE_COMPONENT_ENTERED
Name(s) <Name(s) of the components>
Prompts The names of the components to set to ENTERED (all on one line). A comma or space must be used
as separator. An asterisk, "*", can be used to denote all components.
MAKE_COMPONENT_SUSPENDED
This command is for the POLY module.
Removing relevant conditions is unique to this command and does not occur
when suspending components with the CHANGE_STATUS command and
Suspended option.
Syntax MAKE_COMPONENT_SUSPENDED
Name(s) <Name(s) of the components>
Prompts The names of the components to set to SUSPENDED (all on one line). A comma or space must be
used as separator. An asterisk, "*", can be used to denote all components.
This command is useful when an element has a very low amount because you can now
ignore it in the calculation instead of reading the entire system from the database. The
command is also of use when working in an API with many calculations.
MAJOR_CONSTITUENTS
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
Use this to set the major constituent(s) of a composition sets in a miscibility gap of a solution
phase. Normally, the major constituents are specified when a new composition set is created
by the NEW_COMPOSITION_SET option; but for the first composition set, this option may be
needed before using NEW_COMPOSITION_SET.
The following prompts are to specify the major constituent(s) on each of the sublattice sites
for a composition set of a certain solution phase:
Phase name: <name of a phase>
Specify the name of the solution phase with a new set of major constituents.
Composition set number /1/: <#>
The default value for the composition set number (#) is usually /1/ as the other composition
sets are given major constituents when creating them. Each phase has initially one
composition set.
Major constituent(s) for sublattice 1: /XX/: <YY>
The major constituents (YY) on each sublattice of a solution phase can be given. This may
simplify giving start values when calculating the equilibrium as phases with miscibility gaps
should have different major constituents for each composition set.
This question is repeated for each sublattice in the phase.
MAP
This command is for the POLY module.
This command starts the mapping procedure for making a calculation of phase diagrams in
a defined multicomponent heterogeneous system, from one or more initial equilibria. A
phase diagram is usually mapped within a specific space that is constructed by two (or
more) defined independent mapping axis-variables.
Syntax MAP
A phase diagram consists of mapped phase boundary lines/curves; on one side of each such phase-
boundary line/curve, the amount of one specific stable phase is zero (i.e. the zero-fraction lines).
From a single MAP calculation, many different types of phase diagrams in the defined
multicomponent heterogeneous system can be plotted, with some desired properties (that vary
along the calculated phase-region boundaries) plotted as X/Y-axis variables. All different types of
phase diagrams are generated by the mapping calculations through this command.
Normally, you need to have calculated at least one initial equilibrium point and have also
defined at least two independent varying variables (i.e. the controlling conditions in the
system) that are set with SET_AXIS_VARIABLE. You can also have three, or four or maximum
five independent varying variables that are defined by the SET_AXIS_VARIABLE command).
This lists the current values of each of the independent axis variables for each of the
calculated equilibrium points along each of the mapped phase boundaries, and also lists the
corresponding information when the set of stable phases changes.
The Global Minimization Technique is by default enforced in this command while it can be
disabled if having decisively switched it off (or possibly in some special modules) through
changing the minimization option using the ADVANCED_OPTIONS → MINIMIZATION_OPTION
command-sequence. You can choose how often to do a Global Minimization test (via the
Global Test Interval option) in the ADVANCED_OPTIONS STEP_AND_MAP command-
sequence.
During a MAP calculation, the values of mapped axis-variables for presenting each phase
boundary (lines/points) of the calculated phase-regions are listed, and the corresponding
stable-phase sets are shown up.
If there is any convergence problem in finding a stable solution at a certain stage during a
calculation procedure enforced by this command, these messages display on screen:
Convergence problems, increasing smallest site-fraction from
1.00E-30 to hardware precision 2.00E-14. You can restore using
SET-NUMERICAL-LIMITS
This implies that smallest site fraction in the current POLY3 workspace is automatically
increased from the default value 1.00E-30 to the hardware-dependent precision (under
Linux, as 2.00E-14). For other subsequent POLY-module calculation in the current TC run,
you can use SET_NUMERICAL_LIMITS to restore or reset the smallest site fraction to the
previous or another preferred value, as well as to reset other numerical limits.
In particular, for phase diagrams with tie-lines in the plane (i.e. most binary systems and
ternary isotherms), there is a MAP procedure which checks for the best phase to use as axis
variables in order to ensure reasonable increments between the tie-lines. This produces
smoother curves and also gives a better stability in finding adjacent phase-regions.
Complex miscibility gaps of various solution phases are automatically detected during a
mapping calculation, and two or more composition sets for each of such solution phases are
automatically generated as well, through an automatic Global Minimization Test procedure
(by specifying a Global Test Interval value and confirming the Automatically add initial
equilibria in the ADVANCED_OPTION STEP_AND_MAP command-sequence). As a
particular case, such an automatic Global Minimization Test ensures that you can start
calculating from high temperatures in an austenitic steel (metallic FCC_A1 solution phase)
where the MC carbides/nitrides/carbonitrides (i.e. the C-/N-rich sides of the FCC_A1
miscibility-gap, often (while not always) being referred to as FCC_A1#2, FCC_A1#3, etc.)
are not stable, and during the MAP command the MC carbides/nitrides/carbonitrides may
first become metastable with a composition different from the metallic FCC_A1 phase and
later also stable. The advanced mapping procedure (enforced by the Global Minimization
Technique) inside the Thermo-Calc software (both the Console Mode and Graphical Mode)
can efficiently and effectively handle complex miscibility gaps in multicomponent
heterogeneous systems.
To get a complete phase diagram, sometimes it may be necessary to have multiple starting
equilibrium-points, and/or to have added multiple initial-equilibrium points (through ADD_
INITIAL_EQUILIBRIUM) inside various phase-region boundaries under certain direction(s).
NEW_COMPOSITION_SET
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
A solution phase that can exist with two (or more) different compositions simultaneously
must have two (or more) composition sets in its phase descriptions. Normally the database
creates as many composition sets as is necessary but use this command to add or delete
more composition sets. A complex solution phase in a defined multicomponent system can
have up to 9 different composition sets for the purpose of appropriately handling its possible
miscibility gap(s) under various temperature-pressure-composition conditions.
This option is unnecessary if the Global Minimization Technique is in use, as it can
automatically detect all possible miscibility gap(s) for complex solution phases (normal or
disordered/ordered phases) and then automatically add required composition sets for such
phases in the defined system.
This option can automatically create composition sets also for disordered phase when it is
executed for the ordered phase.
If you have your own data file, this option must be used to indicate that a solution phase can
have a miscibility gap (or may exhibit some complex phase separations as to more than two
composition sets), unless that the possibly-additional composition set(s) for the solution
phase must have already been added inside the TDB file (through a TYPE_DEFINITION
command to amend composition-set) or been manipulated through the GIBBS module (using
the AMEND_PHASE_DESCRIPTION COMPOSITION_SET command-sequence). This option asks for
default major constituents for the new sets and it is important that this is set correctly,
otherwise the test for miscibility gaps may fail.
The following prompts are to specify the additional composition set(s) to handle possible
miscibility gap(s) of a certain solution phase:
Phase with miscibility gap: <Name of a phase>
The default value is usually one higher than the current value. Each phase has initially one
composition set. If a lower value is given, composition sets are deleted. You cannot take
away the first composition set.
A message displays to show that you need to specify the composition for the composition set
# (2,3,…).
The major constituents (YY) in each sublattice can be given. This may simplify giving start
values when calculating the equilibrium as phases with miscibility gaps should have different
major constituents for each composition set.
This prompt is repeated for each sublattice in the phase, sometimes even for all sublattices
in the first composition set if such major constituents have not been specified.
OUTPUT_FILE_FOR_SHOW
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
The name of a text file is asked for and all the results output from the command SHOW_
VALUE is written to this file.
When you use this command, a window opens with a default name for the file tc_show.dat.
Choose a location to save the file and click Open.
PARAEQUILIBRIUM
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
This calculates a paraequilibrium between two specific phases in an alloy system with one or
more interstitial component(s) as fast diffusion species. Under the paraequilibrium state,
two partially-equilibrated phases have the same chemical potential (but different contents)
for one or more interstitial components (such as C, N, O, S, etc., as individual or combined)],
along varied temperature or along a composition variable (of the matrix or one
substitutional component) which has already set as the stepping variable with SET_AXIS_
VARIABLE.
l Always check if the chosen phases A and B have the exactly same definition of
elements and if the chosen interstitial components are all in the vacancy sublattice
sites of the two phases; otherwise the program cannot find the paraequilibrium state
(as it is impossible to correctly calculate u-fractions).
l Always have a comprehensive understanding of the normal phase diagram for the
currently investigated system, so that you make the appropriate choice of the phase
pair and staring bulk composition for the system.
l Always set the status of the chosen interstitial components as SPECIAL using the POLY
command: CHANGE_STATUSComponent <interstitial component> = SPECIAL. By
doing this, you get a clear picture of u-fractions of various substitutional and
interstitial components, which are different from the overall composition in the
system. The SPECIAL status means that specified component(s) are not included in
summations for mole or mass fractions. Therefore, all the composition variables
plotted from paraequilibrium calculations are u-fraction related quantities.
Settings
Name of first phase: <Phase A>
Name of second phase: <Phase B>
The names of the two target phases A and B, between which the paraequilibrium state is to
be calculated, must be entered subsequently or on the same (first) line at once then
separated by an empty space, e.g. FCC#1 BCC or FCC#2 M23C6.
You need to understand what you are dealing with in terms of calculating a
paraequilibrium state between the two specified phases.
Specifically, there are four distinguished cases to understand: (1) both chosen phases must
have similar interstitial/vacancy sublattices where the fast-diffusion interstitial component
(s) occupy; (2) the choice on the target phase pair must be reasonable for the defined
system and specified initial overall composition; (3) both target phases should have phase
constitution definitions that cover all the defined substitutional and interstitial components
of the current alloy system; or (4) it is impossible to calculate the paraequilibrium state
between the target phase pairs with given interstitial component(s) in the currently defined
system.
Fast diffusing component: /c/: <interstitial component(s)>
Fast diffusing component: /none/: <interstitial component(s)>
The name(s) of the fast-diffusing component(s) (C as the default single component) must be
given at the above prompts subsequently or at the same (first) prompt. It is possible to
specify more than one interstitial component as fast diffusion species.
Note the following:
Such specified interstitial component(s) must be appropriately defined according to the
phase constitution definitions of the two selected phases: these must be located on the
interstitial/vacancy sublattices in both chosen phases;
If there is only one fast-diffusing component which is carbon, press the <Enter> key to accept
the default input at the first prompt; if the single fast-diffusing component is another
element (e.g. N), type its name at the first prompt;
If there are two or more fast-diffusing components (e.g. C and N), type their names at the
above prompts subsequently or at the same (first) prompt (separated by an empty space,
such as C N);
To finish the input of fast-diffusing elements, accept NONE at a repeated prompt, i.e. by
pressing <Enter> key to start the paraequilibrium point calculation;
If NONE or a non-existing component name is typed at the first prompt, it means no back
diffusion is to be considered, and the para-equilibrium calculation is thus canceled entirely.
If the paraequilibrium state between the two specified phases is successfully calculated, the
messages displays e.g.
NP(FCC) = 0.3586 with U-fractions C = 2.71821E-02 N = 4.1548129E-03
NP(BCC) = 0.6414 with U-fractions C = 7.10061E-04 N = 2.3781027E-04
All other compositions the same in both phases
Note: LIST-EQUILIBRIUM is not relevant
The first and second lines list the phase amounts expressed in mole-percent [NP(phase)] and
the contents of the interstitial components C and N in a specific phase expressed in the so-
called u-fractions [u-f(phase,C) and u-f(phase,N)], for the phase A (in this case as FCC) and
phase B (in this case as BCC), respectively. The third line states that the compositions of the
matrix component and all the remaining compositions (regarding substitutional
components) in both the target phase A and target phase B are the same at the current
paraequilibrium state, while these are not shown on screen. The last line indicates that after
this advanced-option calculation the LIST_EQUILIBRIUM command is irrelevant and does not
list the paraequilibrium state for the system at the current condition.
However, if the single-point calculation of the paraequilibrium state between the two
specified phases has failed, these messages display:
*** Error 4 in ns01ad
*** Numerical error
This implies that the chosen target phase pair may be unreasonable for the defined alloy
system or for the defined initial overall composition, or one or both phases may have
inappropriate phase constitution definitions regarding the specified interstitial component
(s). Then, you must either modify the settings of initial overall composition or specify the
reasonable target phase pair with an appropriate choice of the fast diffusion interstitials in
the defined alloy system.
PHASE_ADDITION
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
Specify the name of the (stoichiometric or solution) phase with the addition.
Addition to G per mole formula unit: <xxxxx>
The value (xxxxx) given is added to the Gibbs energy of the (stoichiometric or solution)
phase. It can represent a nucleation barrier, surface tension, elastic energy or whatsoever.
POST
The POST module (post-processor) is a submodule to the POLY module and has
its own set of commands. The TAB, BIN, TERN, POT, SCHEIL and POURBAIX
modules use the POST module features as part of the automatic generation of
the plots.
Syntax POST
Switches to the POST module, which has its own command set.
PRESENT_PHASE
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
Specify the name of the present phase a the name of the phase that should be present at all
calculated equilibria:
Present phase:
Phase name: <Name of a phase>
READ_WORKSPACES
This command is used in both the POLY and GES (GIBBS) modules.
Workspace Files
The POLY3 and GIBBS workspaces and the calculated results from the MAP and STEP
commands can be READ from a file where they are saved with SAVE_WORKSPACES. Such a
*.POLY3 file is not printable.
Syntax READ_WORKSPACES
File name is thename of a saved POLY3-file where the POLY3 and GIBBS workspaces shall be read
from must be specified. You do not need to type the extension if it is the default *.POLY3,
otherwise type the whole POLY-file name.
A reminder that Linux and Mac are case sensitive; when applicable ensure you
Options enter file extensions with capital letters.
A window opens so that the path (in the Look in field) and File name can be specified. The Files of
type (i.e. POLY3) cannot be changed. Click Open to open the POLY3 and GIBBS workspaces from
the saved *.POLY3 file.
When reading back an original POLY3 workspace that has already been saved as an *.POLY3 file in
the current Thermo-Calc (Console Mode) run or had been read from an existing POLY3 file under
the current work area, while some additional changes in the settings may be made but do not
need to be kept in further steps in the current Thermo-Calc (Console Mode) run or any diagram is
plotted in the POST module, you can type READ,, or READ_WORKSPACE ,,
REINITIATE_MODULE
This command is for the POLY module.
This command makes sure that the whole POLY module (and thus the entire POLY
workspace) is reinitiated to the state as it was when first entered.
Syntax REINITIATE_MODULE
All the defined components, defined conditions, changed status, entered symbols, defined
independent axis-variables, calculated starting equilibrium-points, added initial equilibrium points,
stepped/mapped equilibrium data, and so forth, are removed completely. The saved file name is
restored to the default.
SAVE_WORKSPACES
This command is available for both the POLY and GES (GIBBS) modules.
Workspace Files
You can save the current status and workspaces, including thermodynamic data, conditions,
options and results from a single, stepping or mapping calculation on a *.POLY3 file. The
workspaces are saved to a file with this command. This is useful so you have access to the
workspace for later use or when you need to terminate the current Console Mode session.
l In the Gibbs (GES) module workspace, all thermochemical data are stored.
l In the POLY module workspace, all the last set of conditions and equilibrium state,
changed status, entered symbols, advanced options, defined stepping/mapping
variables, added initial equilibria, stepped/mapped results, etc., are stored, so it also
contain the GES workspace.
l When you are in a response-driven module such as POTENTIAL or SCHEIL for
example, a workspace file is automatically opened. In the workspace file, system
definitions, conditions for the calculation, calculation results, and plot settings are
saved. The file is saved in the current working directory, and is named after the
name of the module that created it. For example, the POTENTIAL module saves a
workspace file called POT.POLY3 ; the POURBAIX module saves a file called
POURBAIX.POLY3 and so forth.
After a SAVE_WORKSPACES command, you can always come back to exactly the
state you had when you issued the command by giving a READ_WORKSPACE
command. For example, after saving the POLY and GIBBS workspaces to a file,
you can leave the program and at a later time READ the file and continue from
the saved state.
A STEP or MAP command automatically saves the workspace with the most
recently specified name. Do not use the SAVE_WORKSPACES command after a
MAP or STEP command.
The results from the STEP or MAP commands are destroyed by the SAVE_WORKSPACE
command. You can append several results obtained by sequential STEP or MAP calculations
without destroying the previous results, whilst SAVE_WORKSPACE erases them all. Keeping this
in mind is important and useful particularly for calculating various isothermal (or isoplethal)
sections and plotting them on the same diagram in a single Thermo-Calc run.
To suspend some of the STEP or MAP results, use the AMEND_STORED_EQUILIBRIA command.
Syntax SAVE_WORKSPACES
A file name must be specified. The default extension of the POLY workspace file is *.POLY3 but
you can have any other file extension.
Linux and Mac are case sensitive so ensure you enter .POLY3.
A Save window displays if a file name is not given after the command, so that the path (in the Save
in field) and File name can be specified. The Files of type cannot be changed.
If there is already a file with the same file name under the directory a warning message displays.
Click OK to overwrite the current POLY or GIBBS workspace onto the existing file. Click Cancel to
Options return to the module. You can use the SAVE command with an unspecified name (i.e. through SAVE
,,, command-sequence) to save the POLY or GIBBS workspace.
When saving a POLY3 workspace under a name that already exists under the
current work area, which is saved by default (after running a special module, e.g.
BIN, TERN, POT, SCHEIL and POURBAIX) or in an earlier stage of the current Console
Mode session or in a previous run (which is READ into the current POLY3
workspace), you can type SAVE,,Y or SAVE_WORKSPACE ,,y. However, this must also
be avoided if some results from previous MAP or STEP calculations shall not be
destroyed.
SELECT_EQUILIBRIUM
This command is available with the POLY and ED-EXP modules.
If you create more than one initial equilibrium (during data-assessments using the
PARROT/ED_EXP modules), you can switch between them using this command.
Syntax SELECT_EQUILIBRIUM
Number /Next/: <Choice on equilibrium>
SET_ALL_START_VALUES
This command is available for the POLY and ED-EXP modules.
Set start values, e.g. if the calculation fails or if you have a miscibility gap or ordering. If
temperature and pressure are not conditions, you are asked for values of them. Then for
each phase prompt on if it should be stable and on its constitution.
Syntax SET_ALL_START_VALUES
T /XXXX/: <Temperature in K>
If the temperature is not a condition, supply a guess of its final value (in K).
P /100000/: <Pressure in Pa>
If the pressure is not a condition supply a guess of its final value (in Pa).
Automatic start values for phase constitutions? /N/: <Y, N or F>
l For N, enter an initial amount of each entered phase and the major constituents or site
fraction of each constituent.
l For Y, the program automatically sets the start values for phase constitutions in all
possible phases.
Prompts
l F is for force. In some cases the calculation fails because impossible conditions are set,
e.g. W(C)=1.5 [W(C) is mass fraction and must thus be less than unity. The program tries
to fulfill this condition by putting maximum amount of carbon in all phases, but can fail
anyway. When you detect the error and set W(C) to 0.015, the calculation may still fail
because it could start from the previous values. To get back to ‘fresh’ start values, choose
F.
A guess if this phase should be stable or not is requested. All entered phases are prompted for
this question and next two.
You cannot have more phases stable than you have components, but at least one
(which dissolves all constituents) must be set as stable. For backward compatibility,
this question can be answered by 1 (for Yes) or 0 (for No).
The phase name may have a hash sign # followed by a digit, e.g. BCC_A2#2. For phases with
miscibility gaps, there should be two phases with the same name but with different numbers after
the hash sign.
Major constituent(s): <Name of major constituent(s) in the phase>
The constituent with the largest fraction in the phase should be specified. If there are more than
one constituent with a large fraction, give them all on the same line. If the default major
constituents should be used answer with an asterisk (*). By giving $ the constitution is not
Syntax SET_ALL_START_VALUES
changed. If there should be no major constituent give NONE and or if the major constituent(s) are
improperly specified, you are asked for individual fractions in the phase.
Y(<phase>,<constituent>) /.XXXXXXXXXX/: <.YYYYY>
The current value (.XXXXXXXXXX) is default. You can accept the default by pressing <Enter> or give
a new value (.YYYYY).
The phase name or constituent name may have a hash sign # followed by a digit, e.g. Y(BCC_
A2#2,FE), Y(BCC_A2#2,C#2). For phases with miscibility gaps, there should be two phases with the
same name but with different numbers after the hash sign. For phases with sublattices, the
constituents in sublattice 2 or higher is also be suffixed with a hash sign # followed by a digit.
SET_AXIS_VARIABLE
In order to calculate a diagram, set at least one axis variable in a stepping calculation, or at
least two axis variables in a mapping calculation. For property diagrams, one axis is enough;
for phase diagrams two or more are necessary. Any condition that can be set to calculate an
equilibrium can be used as an axis variable (with its lower and upper limits and step length)
by using SET_AXIS_VARIABLE, and the POLY program does, after a STEP or MAP command,
vary the value of the condition between the limits set on its related axis variable. As an
extraordinarily unique and powerful feature of the Thermo-Calc software, up to five
independent axis variables can possibly be used in a mapping calculation of a
multicomponent heterogeneous system; however, the axis numbers 3, 4 and 5 must have
chemical potentials of components (or temperature or pressure) as conditions.
Syntax SET_AXIS_VARIABLE
Axis number /#/: <An axis number>
Specify a number between 1 and 5. The axis numbers 3, 4 and 5 must have chemical potentials of
components (or temperature or pressure) as conditions.
Condition /None/: <One condition>
Prompts Here the condition that should be varied along the axis must be given. The condition is specified as
in SET_CONDITION, for example W(C) for mass fraction of carbon. By accepting NONE, the axis is
removed.
Min value /0/: <Min value>
Specify the maximum step length. By default, this is 1/40 of the total axis length.
You can give SET_AXIS_VARIABLE without having set a condition on the axis variable. Under
such circumstances, the relevant condition is automatically created and the value set
between the minimum and maximum axis limits; however, as a side effect, the POLY
module creates two conditions, P=1e5 and N=1 (these have not been defined as a condition
yet), in case you set an axis variable which is not already a condition.
You can use a logarithmic axis during calculations. This is useful for low fractions like in a
gas phase where 1e-7 to 1e-2 might be an interesting range. The pressure is also suitable
for logarithmic step. You specify the logarithmic axis by giving an asterisk * after the
increment value.
For example,
S-A-V 1 P 1E5 1E25 5*
This makes axis 1 a logarithmic axis where the difference between two calculated values
makes a factor 5.
In some cases, such as when the DEFINE_DIAGRAM command is used or a special advanced
module (e.g. BIN, TERN, POT, SCHEIL or POURBAIX) is called, some axis variables are
automatically set by the program, not necessarily by this command.
SET_CONDITION
This command is available with the POLY and ED-EXP modules.
Specify the equilibrium conditions for the calculation. All kinds of state variables, as well as
most of the M/W/V/F-suffixed state variables (for normalization) and R-suffixed state
variables (with respect to chosen reference states), can be used as conditions. In addition to
temperature and pressure conditions, a multicomponent system can have mixed types of
conditions. You should repeat this command for a multicomponent system until the degree
of freedom in the defined system becomes zero. When a FIXED phase status is used on a
specific phase (use CHANGE_STATUS), it is equivalent to one condition (implying that
particular phase is stable in the defined system).
Syntax SET_CONDITION
Each condition must be given explicitly, but can be given on the same line (separated by a comma
(,) or an empty space) or on separate lines with each one started with the command.
Example
SET_COND T=1273, P=1E5, W(C)=.0015, X(LIQ,CR)=.22, ACR(N)=.2
or
SET_COND T=1273, P=1E5
SET_COND W(C)=.0015, X(LIQ,CR)=.22 ACR(N)=.2
In this example, the temperature is set to 1273 K, the pressure to 1 bar (1E5 Pascal), the mass
(weight) fraction of C to 0.0015 and the mole fraction of Cr to 0.22 and the activity of N to 0.2.
State variable expression: <State variable name or linear expression> or a linear
expression of state variables.
Syntax SET_CONDITION
There are many state variables that can be used in conditions. For more information, enter an INFO
STATE_VARIABLES command. A condition is normally a value of a single state variable with its value.
Example
T=1273.15 P=1E5
X(C)=.002
W(CR)=0.5
ACR(CR)=0.85
X(FCC,C)=.001
H=-250000
HM(BCC)=-225000
A condition can also be a value of a linear expression involving more than one state variable. For
example,
X(LIQ,S)-X(PYRR,S)=0
This means that it is a condition that the mole fraction of S component should be the same in the
LIQUID and PYRRHOTITE phases. In practice, that should be the congruent melting point.
After the equal sign only a numeric value is allowed in the expression.
This question means you did not answer the previous question. The program is then expecting a
single state variable or a complete state variable expression, or the numeric factor in an expression
with only one state variable. In a state variable expression a state variable may be preceded by a
constant factor. An example of this is:
2*MUR(FE)+3*MUR(O)=-35000
This means that it should be a condition that two times the chemical potential of FE plus three
times the chemical potential of O should be -35000 J/mol.
State variable: <A specified state variable, or a continuation>
This question is prompted if a single state variable name has not given in either the prompt State
variable expression or Factor, or a state variable expression is given but the expression is
incomplete, for example, T- or 2*MUR(FE)+, for which the program is then expecting a continuation
Syntax SET_CONDITION
of the unfinished expression. You need to specify a state variable or a complete state variable
expression, or complete the unfinished state variable expression. If a numeric factor is given
before this prompt, only one state variable can be specified; otherwise, the program only takes the
first state variable to complete the expression (i.e. the factor times the state variable).
Value /X/: <A numeric value, a constant or a variable>
The value of the condition. This can be a numeric value, a constant or a variable. A suggestion is
given as the default value. The special value NONE means that the condition is removed; for
example T=NONE takes away the temperature condition.
SET_INPUT_AMOUNTS
Specify how a system is made up from mixing of various substances. It is useful with a
substance database. In the C-H-O-N system, you can, for example, give:
S-I-A N(H2)=10, N(H2O)=25, N(C1O2)=5, N(N2)=100
The POLY module automatically converts this into conditions for the current set of
components. In the case when the elements are defined as the components, the command
above is equivalent to
SET-CONDITION N(H)=70, N(O)=35, N(C)=5, N(N)=200
Syntax SET_INPUT_AMOUNTS
Quantity: <N(<specie>) or B(<specie>)>
Prompts You can give the amount also preceded with an equal sign = [e.g. N(H2)=10 or B(H2O)=1000], or
press <Enter> for the next prompt on the amount of the quantity.
Amount: <Value of the quantity>
SET_INTERACTIVE
In the POST module this is called SET_INTERACTIVE_MODE.
Use the SET_INTERACTIVE command to use it in demonstration or macro files to stop the
execution of the command file and pass over input focus to the keyboard.
SET_NUMERICAL_LIMITS
This command is available for the POLY, Scheil and ED-EXP modules.
Change the criteria for convergence. This is to speed up a calculation in a complex system.
If there is any convergence problem in finding a stable solution at any stage during a
calculation procedure enforced by COMPUTE_EQUILIBRIUM, STEP_WITH_OPTIONS, MAP or
ADVANCED_OPTION S), this message displays:
This implies that smallest site fraction in the current POLY workspace is automatically
increased from the default value 1.00E-30 to the hardware-dependent precision (under
Linux, as 2.00E-14). For other subsequent POLY module calculations, you can use this
command to restore or reset the smallest site fraction to the previous or another preferred
value, as well as to reset other numerical limits.
Syntax SET_NUMERICAL_LIMITS
Maximum number of iterations /500/:
Prompt By default, the program tries 500 iterations before it gives up. As some models give computation
times of more than 1 CPU second/iteration, this number is also used to check the CPU time and
the calculation stops if 500 CPU seconds/iterations are used.
Required accuracy /1E-6/:
This is a relative accuracy, and the program requires that the relative difference in each variable
must be lower than this value before it has converged. A larger value normally means fewer
iterations but less accurate solutions. The value should be at least one order of magnitude larger
than the machine precision.
Smallest fraction /1E-12/:
This is the value assigned to constituents that are unstable. It is normally only in the gas phase you
can find such low fractions.
The default value for the smallest site-fractions is 1E-12 for all phases, except for IDEAL phase with
one sublattice site (such as the GAS mixture phase in many databases) for which the default value
is always as 1E-30 (unless you have used the SET_NUMERICAL_LIMITS command to reset an even-
lower value (e.g. 1E-45, that is naturally enforced to all the phases in the system).
Approximate driving force calculation for metastable phases /Y/:
Normally the POLY module only requires that the set of stable phases is in equilibrium in order to
terminate the iterations. By default, the metastable phases are included in all iterations but these
may not have reached their most favourable composition and thus their driving forces may be only
approximate.
Syntax SET_NUMERICAL_LIMITS
If it is important that these driving forces are correct, choose N to force the
calculation to converge for the metastable phases. This may require more iterations,
and the STEP and MAP command may also terminate due to bad convergence in a
metastable phase.
SET_REFERENCE_STATE
This command is available for the POLY, ED-EXP and POST modules.
The reference state for a component is important when calculating activities, chemical
potentials and enthalpies and is determined by the database being used. For each
component the data must be referred to a selected phase, temperature and pressure, i.e.
the reference state.
All data in all phases where this component dissolves must use the same
reference state. However, different databases can use different reference
states for the same element/component. It is important to be careful when
combining data obtained from different databases.
By default, activities, chemical potentials and so forth are computed relative to the
reference state used by the database. If the reference state in the database is not suitable
for your purposes, use this command to set the reference state for a component using SER,
i.e. the Stable Element Reference (which is usually set as default for a major component in
alloys dominated by the component). In such cases, the temperature and pressure for the
reference state is not needed.
In order to specify conditions in the specific reference state, you can append an R to the
state variables. Thus, AC is the activity (of a system component or of a species in a phase)
with respect to the default reference state, and ACR is the activity with respect to the
selected reference state; MU is the chemical potential of a system component with respect
to the default reference state, and MUR stands for the chemical potential with respect to the
selected reference state. The AC and ACR variables, for both components in a system and
species in a phase, can be specified in natural logarithm, e.g. LNAC(Fe), LNACR(C), LNAC
(O2,GAS), LNACR(O2,GAS).
For the POST module, and after calculating with the STEP_WITH_OPTIONS or MAP commands,
the reference state for a component can also be changed to plot various properties of the
component in the entire system or in a specific phase. Then you can set the diagram axes as
the chemical potential or activity quantities with the R suffix, i.e. MUR(comp), MUR
(comp,ph), ACR(comp), ACR(comp,ph) or the common logarithms [e.g. LNACR(comp,ph)].
Syntax SET_REFERENCE_STATE
Component: <Name of the component>
Prompts
The name of the component must be given.
Reference phase: <Name of a phase used as the new reference state>
Syntax SET_REFERENCE_STATE
If a component has the same composition as several end members of the chosen reference
phase, then the end member that is selected at the specified temperature and pressure will have
the lowest Gibbs energy.
The following are example using temperature. Pressure is used in the same way:
l In the Fe-C system, BCC can be a reference state for Fe but not for C since BCC can exist
as pure Fe but cannot exist as pure C.
l If GAS is chosen as the reference phase of component O at such a high temperature that
O1 has the lowest energy, then O1 remains the reference state even at calculations
performed at lower temperatures where O2 has a lower energy than O1.
l Setting the reference state for component O as gas (one sublattice) with constituents O1,
O2 and O3 results in O2 being the reference state if, at the present temperature, pure
O2 has the lowest energy of O1, O2 and O3. If the reference state is set above a critical
higher temperature, then O1 has the lowest energy and consequently becomes the
reference state.
Select the Temperature (in K) for the reference state. The wildcard value * means the current
temperature is used at the time of evaluation of the reference energy for the calculation.
The temperature set with this command does not affect the temperature used
when evaluating the energy of the reference state during the end member
selection process.
Select the Pressure (in Pa) for the reference state. The wildcard value * means the current
pressure is used for evaluating the reference energy at the time of calculation.
Examples
S-R-S Fe SER
S-R-S Cr FCC * 100000
S-R-S H2O AQUEOUS * 100000
S-R-S ZE REF_ELECTRODE * 100000
SET_START_CONSTITUTION
This command is available with the POLY and ED-EXP modules.
This command is similar to SET_ALL_START_VALUES, but is used for an individual phase that
may have a wrong constitution.
Syntax SET_START_CONSTITUTION
Phase name: <Name of a phase, and possible major constituent(s)>
Specify the name of a phase for which the constitution shall be set.
Prompts
If there is a major constituent of the phase, you must specify this on the same line
as the phase name. By giving an*, select the default major constituents. A $ means
keeping the same constitution, and NONE means to give individual site-fractions.
Y(<Phase>#<Composition_set>,<Constituent>#<Sublattice>) /xxx/: <SF>
The site fraction (SF) of the constituent shall be given. The default value xxx is the
last calculated one.
SET_START_VALUE
This command is available with the POLY and ED-EXP modules.
This command is not often required as the automatic start values can be
handled for most problems.
Syntax SET_START_VALUE
State variable: <Name of a state variable>
Prompts
The state variable must be given.
Value
SHOW_FOR_T=
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
Settings
Temperature (K) /298.15/: <temperature_in_K>
Specify the new temperature condition (in K) under which the values of some specific state
variable(s) or derived/partial variable(s) or defined symbol(s) for various thermodynamic
properties of the entire system, of components, or of phases) in the currently-defined system
(being in a frozen state) is shown on screen.
State Variable or symbol /VM/: <State variable or symbol name(s)>
Specify the name(s) of the desired state variable(s) or derived/partial variable(s) or defined
symbol(s) for various thermodynamic properties of the entire system, of components, or of
phases) in the currently-defined system. More than one state variable or symbol of interest
can be simultaneously specified on the same line. For example, you can choose to show the
values of VM or GM (i.e. molar volume or molar Gibbs energy of the entire system), or of
VM(*) or HM(*).T (i.e. molar volumes or isobaric heat capacity of all phases), or of ACR(*),
DGM(*) and LNACR(*,FCC) [i.e. activities of all system components, driving forces for all
phases, and activities (in logarithm) of all system components in the FCC solution phase],
under the new temperature condition (being in a frozen state).
SHOW_VALUE
This command is available for the POLY and ED-EXP modules.
Syntax SHOW_VALUE
State variable or symbol: <Name(s) of state variable(s) or symbol(s)>
Prompt
A single or several state variables or symbols (entered functions or variables) can be specified.
You can use the dollar-sign $ to denote all stable phases. Thus, the command SHOW W(*,*)lists the
mass fraction of all phases, whereas SHOW W($,*)lists the mass fraction of all stable phases.
If you SHOW a function, all functions are evaluated using the current values of the
state variables. But if you SHOW a variable, it retains its value from the time it was
ENTERED or last EVALUATED.
Therefore to save a value from one calculation to another, ENTER it to a variable. This is frequently
done in the PARROT module to transfer values between equilibria.
STABILITY_CHECK
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
Settings
Stability check on? /Y/:
Check also for unstable phases? /Y/:
If the automatic stability-check option is switched on choose to also check the stability for
unstable phases. The default is Y and if an unstable phase is found to be located in a
miscibility gas during a subsequent single-point equilibrium or MAP/STEP calculation, a
warning message informs you to selectively make adjustments in the calculation settings
[e.g. suspending the unstable phase, or using FORCED automatic start values for phase
constituents by the S_A_S_V F command-sequence, or creating other composition sets, etc.].
By answering N the stability check is enforced only to stable phases in the system.
STEP_AND_MAP
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
The integer number determines how often the Global Minimization should be used during
STEP_WITH_OPTIONS and MAP calculations. If it is set to 0 (zero), the recommended global
test interval is used: i.e. every tenth step and at each phase change during STEP calculations,
and only at node points during MAP calculations. Any other positive integer number, n,
suggests it performs a Global Minimization test at every -th step during STEP and MAP
calculations. Of course, the Global Minimization test is always carried out at a phase change
or a node point. The Thermo-Calc software is installed with 0 (zero) as the default value, but
such a configuration for the default value can be changed by using SET_TC_OPTIONS in the
SYS module.
Automatically add initial equilibria /Y/:
An integer for how many intervals of initial equilibrium points to be added along an edge in
the diagram. For example, if set to 2 (two), initial equilibrium points are added at the
beginning, center, and end of each axis-variable forming 2 intervals.
Use inside meshing points /N/:
If N the INITIAL_EQUILIBRIUM mesh consists of initial equilibrium points added only along
the edge/border of the diagram defined by the axis-variables. If Y, the initial equilibrium
points added are also added to the inside edge.
STEP_WITH_OPTIONS
This command is for the POLY module.
The STEP_WITH_OPTIONS (short name, STEP) command initiates the stepping procedure to
make a calculation of property diagrams in a multicomponent heterogeneous system. A
property diagram is usually stepped under one defined independent stepping axis-variable,
and is often constructed by the defined independent mapping axis-variable against a chosen
property (for the system, or for a specific phase, or for a certain species).
In the POLY module, it is possible to compute a series of equilibria with one condition as the
stepping axis variable. This is achieved by first calculating a single equilibrium, and then
selecting one of the conditions as the axis variable. The minimum and maximum value and
the incremental step along the axis must also be given. By default, the global minimization
technique is used .
A property diagram consists of property lines that change (normally) along with
the stepping axis-variable. From a single STEP calculation, many different types
of property diagrams in the defined multicomponent heterogeneous systems
can be plotted. Various types of property diagrams are generated by the
stepping calculations.
Normally, before the command can be invoked, you need to have already calculated an
initial equilibrium point and set one independent variable (i.e. the controlling condition in
the system) . This is done using SET_AXIS_VARIABLE. You then list the current values of the
axis variable for each calculated equilibrium, as well as the corresponding information when
the set of stable phases changes.
By default, the global minimization technique is enabled, You can turn this off by using the
command-sequence ADVANCED_OPTIONS → GLOBAL_MINIMIZATION.
You can choose how often to do a global minimization test using the command-
sequence ADVANCED_OPTIONS → STEP_AND_MAP → GLOBAL TEST INTERVAL.
Syntax STEP_WITH_OPTIONS
Option? /Normal/: <A chosen option, N, I, S, O, E, M, T, or P>
Prompt N = Normal, I = Initial equilibria, S = Separate phases, O = One phase at a time, E = Evaluate, M =
Mixed Scheil, T= T0, and P Paraequilibrium
Normal (N)
When you accept the default, Normal (N), it allows a stepping calculation with the chosen
independently-varying equilibrium condition (axis-variable). Only the step axis value is
changed between each step.
When you repeat the STEP → NORMAL command-sequence, you can make several stepping
calculations while still keep all the stepping-calculation results in the current POLY3
workspaces.
The calculation results are saved in the default RESULT.POLY3 file or you can
specify to save it in the <MyName>.POLY3 file. This is as long as there is no SAVE_
WORKSPACES command before the second set of command sequences (STEP →
NORMAL). Repeated stepped results can be restored into the same current
POLY3 workspaces/file.
Linux and Mac are case sensitive so ensure you enter .POLY3.
The addition of several steps enables you to generate special types of property diagrams and
to calculate and plot special phase boundary lines on phase diagrams, such as:
l The missing part(s) of a specific property [that are calculated under another
controlling condition inside the range of the stepping-variable] on the same property
diagram.
l Two or more sets of a specific property [that are calculated under different
controlling conditions and stepped over the same stepping-variable range] on the
same property diagram for the same system.
l Calculate some special phase-boundary lines [especially for some defined secondary
phase transformations or alike, e.g. the BCC_A1 <--> BCC_B2 phase-boundary, or
equal-Gm for two specific phases, or equal-fraction or equal-activity for a certain
species in two specific phases, that shall be calculated under different controlling-
conditions and also be stepped over different stepping variable(s)], and then plot (or
impose) them onto a corresponding phase diagram (which can be resulted from
several such STEP → NORMAL calculations or even from a separate MAP
calculation) for the same system.
Initial_Equilibria (I)
An initial equilibria is added at each calculated point. This can be useful, for instance, to
generate a set of isothermal calculations.
When you choose I, an initial equilibrium is stored at each calculated equilibria. It is
intended to generate a matrix of calculated initial equilibria, first stepped under a STEP
INITIAL_EQUILIBRIA command-sequence and then repeated by another STEP NORMAL
command-sequence (or even continued by a MAP command).
For example, you can first use the temperature condition as the stepping axis-variable with
this option, which calculates a number of initial equilibrium points and automatically adds
each one as an initial equilibria for another STEP → NORMAL command-sequence (or even
for a MAP command). Before the second STEP command (i.e. the STEP → NORMAL
command-sequence), you can chose a compositional condition as the new stepping axis-
variable; then the STEP → NORMAL command-sequence uses those created starting
equilibrium points (at different temperatures) and steps in such a new compositional
variable. As a result, these two STEP commands together give a matrix of values.
Separate_Phases (S)
In this way, you can calculate how the Gibbs energy for a number of phases varies for
different compositions. This is particularly useful to calculate Gibbs energies for complex
phases with miscibility gaps and for an ordered phase that is never disordered (e.g.
SIMGMA-phase, G-phase, MU-phase, etc.).
One_Phase_at_Time (O)
This option is recommended for STEPPING heterogeneous systems with both ordered phases
and the disordered pairs.
When you choose O, the stepping calculation is conducted individually for one phase at a
time. That is, it is stepped over the whole stepping variable range, but the stepping is
repeated for all the entered phases in the defined system. This is particularly useful to
properly step in composition for an equilibrium heterogeneous system with both ordered
phases and the disordered pairs. Thus, instead of calculating for the same composition for
each of the phases at each composition step, it starts the stepping in each of the phases in
the default most-stable compositions (the major constitutions).
Evaluate (E)
Evaluate E is an advanced option and is useful when additional conditions (instead of the
stepping variable) require changing during a stepping calculation. It allows a stepping
calculation in a single axis with simultaneous evaluation of one or more variables after each
step. As variables can be used as conditions, it means that you can change the conditions
during the stepping. After a successful EVALUATE calculation, you can go to the POST
module to manually define and plot property diagrams.
The variables given are evaluated after each step, which may change other
conditions. This can be useful to perform the Ordinary ScheilGulliver Approach
(non-equilibrium transformations) for simulating alloy solidification without
back diffusion of fast-diffusing interstitial components in solid phases. However,
it is recommended you use the SCHEIL module.
The names of the variables that shall be evaluated after each step must be typed here.
The miscibility gap test is automatically used during stepping (see ADVANCED_
OPTIONS) if a phase has two or more composition sets.
The miscibility gap test means that you can start calculating from high temperatures in a
steel where the MC carbide is not stable. During the calculation, the MC carbide first
becomes metastable with a composition different from the metallic FCC phase and later
also becomes stable.
Mixed_Scheil (M)
This is an advanced stepping calculation designed for the Extended Scheil-Gulliver Approach
(partial-equilibrium transformations) to simulate alloy solidifications with back diffusion of
one or more fast-diffusing interstitial components (such as C, N, O, S, etc.) in solid phases is
performed. It also will consider BCC-->FCC phase transformation (practically for steels)
along the alloy solidification process.
To ensure a successful stepping calculation of mixed Scheil-Gulliver simulation of
solidification process of a defined alloy system with a certain initial overall composition, it is
important to note the following:
l For solution phases with possibility of miscibility gap existence, you have
appropriately added the necessary composition set(s);
l You have already set the temperature condition as the stepping SET_AXIS_VARIABLE
command, with minimum and maximum temperature points as well as an
appropriate s temperature step for the cooling process).
l There must be a composition condition for each of the back diffusion components
(i.e. fast-diffusing interstitial components, such as C, N and/or other elements) that
are already defined in terms of mole-fraction or mass-fraction, e.g. X(C) and W(N).
Otherwise, a stepping calculation with this option can fail.
l An initial equilibrium in which the LIQUID mixture phase is the only stable must be
calculated. This is why it is good to start with a relatively high temperature condition
for the initial equilibrium calculation. It is always necessary to reject or suspend the
GAS mixture phase (if it exists) before the C-E and STEP commands, to avoid its
formation along with LIQUID.
l In cases where fast-diffusing interstitial components are specified as back diffusion
components, you can choose to allow BCC>FCC phase transformation (practically for
steels) during the alloy solidification process.
l If there is only one fast-diffusing interstitial component (e.g. C or N), type its name;
l If there are two or more fast-diffusing interstitial components (e.g. C, N and S),
always type the names on the same line at once (separated by an empty space in
between, e.g. C N S);
l If there is no fast-diffusing interstitial component to be considered, type NONE to
ignore back diffusion entirely, meaning a normal Scheil-Gulliver simulation is
performed.
LIQUID
FCC_A1#1
1742.5250 0.9960 0.0040 -1.1824
1742.4000 0.9795 0.0205 -202.1585 . . . . . .
Phase Region from 1.733150E+03 for:
LIQUID
BCC_A2
FCC_A1#1
1733.1500 0.3294 0.6707 -8032.6240
1733.0250 0.3237 0.6763 -8095.1490 . . . . . .
After a successful calculation, you can go to the POST module to manually define and plot
property diagrams for the alloy solidification process according to the chosen Scheil-Gulliver
model, or to impose existing relevant experimental information or other types of calculated
solidification results [e.g. Scheil-Gulliver simulation with or without considering fast-diffusing
interstitial component(s), full-equilibrium approach, or Diffusion Module (DICTRA)-type
simulation with moving-boundary conditions] onto the same plotted property diagrams.
Normally, the solidus temperature (T in Celsius) is set as one of the axis variables (usually as
Y-axis in most cases), while the other plotted quantity on the other axis can be the amount of
overall formed solid alloy phases (NS in mole-fraction or BS in mass-fraction), the amount of
remaining liquid phase (NL in mole-fraction or BL in mass fraction), the heat of latent along
the solidification process (NH in J/mol or BH in J/gram), among many other properties in the
solidified alloy phases or in the whole alloy system.
T-zero (T)
See Console Mode example 41.
This advanced option allows a stepping calculation of the so-called T0 (T-zero) line in a
diffusionless transformation (where two specific partially-equilibrated phases have the same
Gibbs energy) along a composition variable which has already set as the stepping variable
with SET_AXIS_VARIABLE.
The temperature condition cannot be set as the stepping variable if you want to
make a STEP T-ZERO calculation.
The names of the target phases, for which the Gibbs energies equal to each other at each
point on the T0 line, must be entered.
During the calculation, the T0 values are shown after the corresponding scanned conditions
(of the stepping composition variable), e.g.
Phase Region from 1.000000E-01 for:
BCC_A2
FCC_A1
1.000000E-01 940.24
9.250000E-02 941.20
. . . . . .
2.500000E-03 977.61
7.500000E-09 979.34
Phase Region from 1.000000E-01 for:
BCC_A2
FCC_A1
1.000000E-01 940.24
1.075000E-01 939.62
. . . . . .
2.950000E-01 1084.87
3.000000E-01 1080.99
After a successful calculation, you can go to the POST module to plot the T0 line against the
stepping composition variable or another varying axis, or to impose the calculated T0 line
onto a normal phase diagram [normally plotted as a T-X isopleth].
Paraequilibrium (P)
See Console Mode examples 42 and 43.
This is an advanced option. Select P to calculate the paraequilibrium state between two
specific phases (the paraequilibrium lines). It allows a stepping calculation of
paraequilibrium lines where the chemical potential for one or more interstitial components
(that are considered as back diffusion elements, such as C and N) but not for the other (s) in
two partially equilibrated phases are equal.
More than one interstitial component can be treated as fast-diffusion species (such as C, N,
O, S, etc., as individual or combined) in a paraequilibrium stepping calculation.
The composition condition for the interstitial components cannot be set as the
stepping variable if you want to make this calculation.
By doing this, you get a clear picture on u-fractions of various substitutional and interstitial
components, which are different from the overall composition in the system. The SPECIAL
status means that specified component(s) are not included in summations for mole or mass
fractions. Therefore, all the composition variables plotted from the paraequilibrium
calculations are u-fraction related quantities.
Always make a single-point paraequilibrium calculation by the command-sequence of
ADVANCED_OPTIONS → PARAEQUILIBRIUM, prior to performing this STEP →
PARAEQUILIBRIUM command-sequence, although this might not be always necessary for
some systems.
With this stepping calculation specify the following:
Name of first phase: <Phase A>
Name of second phase: <Phase B>
The names of the two target phases A and B, between which the paraequilibrium states
establish, must be typed at the above two prompts subsequently or on the same (first) line at
once (separated by an empty space, e.g. FCC BCC, FCC#2 M23C6).
1. Both chosen phases must have similar interstitial/vacancy sublattices where the fast-
diffusion interstitial component(s) occupy.
2. The choice on the target phase pair must be reasonable for the defined system and
specified initial overall composition.
3. Both target phases should have phase constitution definitions that cover all the
defined substitutional and interstitial components of the current alloy system; or
4. It is impossible to calculate the paraequilibrium state between the target phase pairs
with given interstitial component(s) in the currently defined system.
Fast diffusing component: /C/: <Interstitial component(s)>
Fast diffusing component: /None/: <Interstitial component(s)>
After a successful STEP → PARAEQUILIBRIUM calculation, you can go to the POST module to
plot a paraequilibrium phase diagram, or to impose the calculated paraequilibrium states
onto a normal phase diagram [normally plotted as a T-X isopleth with one of the considered
interstitial component(s) as the x-axis variable].
However, the stepping calculation procedure for the currently specified paraequilibrium
states between the two specified phases may find difficulties at some steps due to some
possible numerical problems (normally regarding to the u-fractions of the interstitial
components under some composition ranges), or it may completely fails. In the latter case,
it implies that the chosen target phase pair may be unreasonable for the defined alloy
system or for the defined initial overall composition, or one or both phases may have
inappropriate phase constitution definitions regarding the specified interstitial component(s)
and substitutional components. Then, you must either modify the settings of initial overall
composition or specify the reasonable target phase pair with an appropriate choice of the
fast diffusion interstitials in the defined alloy system.
The figure shows the plot of a paraequilibrium calculation of isopleths: Formation of para-pearlite
in two Fe-based alloys, with equilibrium results appended.
The calculated paraequilibrium phase boundaries (black lines) are shown with
tie-lines (in green-colour). In the Fe-2.5Mn-C alloy system, C is considered as
fast diffusing interstitial component in the BCC+FCC and FCC+Cementite
paraequilibrium stepping calculations; while in the Fe-3Cr-N alloy system, N is
treated as fast diffusing interstitial components in the BCC+FCC and FCC+FCC_
M1N (i.e. FCC#1+FCC#2) paraequilibrium stepping calculations.
During a STEP calculation, the value of the stepping axis variable for each
calculated equilibrium is listed and also the set of stable phases.
If there is any convergence problem in finding a stable solution at any stage during a
calculation procedure enforced by a STEP_WITH_OPTIONS command-sequence, this message
displays:
Convergence problems, increasing smallest site-fraction from 1.00E-30 to hardware
precision 2.00E-14. You can restore using SET-NUMERICAL-LIMITS
This implies that smallest site fraction in the current POLY3 workspace is automatically
increased from the default value 1.00E-30 to the hardware-dependent precision (under
Linux, as 2.00E-14). For other subsequent POLY-module calculation in the current TC run,
you can use the POLY command SET_NUMERICAL_LIMITS to restore or reset the smallest site
fraction to the previous or another preferred value, as well as to reset other numerical
limits.
Complex miscibility gaps of various solution phases are automatically detected during a
stepping calculation, and two or more composition sets for each of such solution phases are
automatically generated as well, through an automatic Global Minimization Test procedure
(by specifying a Global Test Interval value and confirming the Automatically add
initial equilibria in the ADVANCED_OPTION STEP_AND_MAP command-sequence). As a
particular case, such an automatic Global Minimization Test ensures that you can now start
calculating from high temperatures in an austenitic steel (metallic FCC_A1 solution phase)
where the MC carbides/nitrides/carbonitrides (i.e. the C-/N-rich sides of the FCC_A1
miscibility-gap, often (while not always) being referred to as FCC_A1#2, FCC_A1#3, etc.) are
not stable, and during the MAP command the MC carbides/nitrides/carbonitrides may first
become metastable with a composition different from the metallic FCC_A1 phase and later
also stable.
Occasionally, it may be necessary to have a specified increment other than the default value
for the defined stepping axis-variable, in order to calculate/plot a smoother property
diagram.
To get a complete property diagram, sometimes (especially in some earlier Thermo-Calc
versions) it may also be required to have more than one starting equilibrium-points (under
another starting equilibrium condition), and repeat the stepping calculation over the same
stepping axis-variable range (while without over-writing the same POLY3 workspaces via a
SAVE_WORKSPACE command). However, using the current STEP procedure such a
requirement become less necessary.
TABULATE
This command is available for a table entered in either the POLY or POST
module.
For any entered table, this command gives a table of values from equilibria calculated with
a STEP command.
Unlike the TAB module's command (also called TABULATE) it is not possible to
plot columns from the tabulated tables. For this use normal POST commands.
Syntax TABULATE
Name: <Name of a table entered in either POLY or POST>
Prompts
Specify a table name that is entered in either the POLY or POST module.
Output on screen or file /Screen/:
Specify a file name if you want to save on a file the table values along the defined STEP calculation,
or press <Enter> if want to see the table values displayed.
TOGGLE_ALTERNATE_MODE
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
Toggle the ALTERNATE mode for experimental equilibrium calculation between DEFAULT,
ALWAYS and NEVER, during data-assessments using the PARROT optimization.
Set alternate toggle to DEFAULT, ALWAYS, or NEVER?
Set global toggle to DEFAULT, ALWAYS, or NEVER?
T-ZERO_TEMPERATURE
This is an option that is available with the ADVANCED_OPTIONS command with
the POLY and ED-EXP modules.
ADVANCED_OPTIONS
This calculates the temperature when two specific phases have the same Gibbs energy, i.e.
the so-called T0 temperature. You must calculate an equilibrium state at an estimated
temperature before performing this advanced-option calculation; however, it is unnecessary
to obtain an equilibrium state in which either one or both of the target phases is stable.
The following prompts are shown.
Name of first phase: <Phase A>
Name of second phase: <Phase B>
The names of phases A and B must be given, for which the T0 temperature (where the Gibbs
energies are equal) is to be calculated.
If the T0 temperature between the two specified phases is successfully calculated, a
message displays, e.g.
The T0 temperature is 840.82 K. Note: LIST-EQUILIBRIUM is not relevant
The first message shows the calculated T0 temperature between the two specified phases.
The second message indicates that after this option calculation with LIST_EQUILIBRIUM is
irrelevant and does not list the equilibrium for the system at the T0-temperature.
REINITIATE 337
SAVE_GES_WORKSPACE 338
SAVE_WORKSPACES 339
SET_R_AND_P_NORM 341
l The first models the non-ideality as excess parts, i.e. by amending the phase’s
EXCESS_MODEL and/or TERNARY_EXTRAPOLAT models.
l The second models the non-ideality as ADDITIONAL parts, i.e. by amending the
phase’s other subjects in this command, e.g. MAGNETIC_ORDERING for the Magnetic
Ordering Model, DISORDERED_PART for the CVM Approach in modelling chemical
ordering/disordering phenomenon, QUASICHEM_IONIC for using a quasi-chemical
entropy term for an ionic two-sublattice liquid solution phase, QUASICHEM_FACT00
or QUASICHEM_IRSID for describing a substitutional liquid solution phase, DEBYE_
HUCKEL for the DHLL/SIT Model in describing a dilute aqueous solution phase, etc.
l The third implements the model entirely or partially into the GIBBS module and
related database(s), such as for the electrostatic contribution in an AQUEOUS
solution phase by the Complete Revised_HKF Model, the Murngham Model, Birch-
Murngham Model or Generalized PVT Model for high-pressure/temperature volume
contribution in a solid or liquid phase, the SUPERFLUID Model for the non-ideal EOS
and non-ideal mixing in a gaseous mixture.
NEW_CONSTITUENT
Use this if you want to add a new constituent to a phase. It is illegal to add new constituents
to an ionic two-sublattice liquid phase.
RENAME_PHASE
Use this to change the names of some specific phases. For example, a phase called FE3O4_S
may be better named Magnetite to help identify it during the calculations and
postprocessing. This is also a way to delete a phase by hiding it under a new name.
SITE_RATIOS
Use this to change the number of sites (i.e. the stoichiometric coefficients of various
sublattices) in a sublattice phase.
COMPOSITION_SETS
Use this for solution phases that may have miscibility gap(s). However, this is less important
today and often unnecessary to define additional composition set(s), since the implemented
Global Minimization Technique can usually detect and add such composition set(s) in an
automatic manner where it is really necessary during equilibrium calculations (of single-
points, stepping or mapping).
MAJOR_CONSTITUENT
Use this to set major constituent(s) on each sublattice in each composition set for a solution
phase. This is useful to make calculations converge faster because it may simplify giving
start values when calculating the equilibrium as those phases with miscibility gaps should
have different major constituents for each composition set. The databases often set major
constituents for several phases automatically when data are retrieved.
FRACTION_LIMITS
Use this to limit the application range (in terms of mole-fractions of all the involved
elements) of a particular solution phase. This is useful to avoid automatic creations
(enforced by the Global Minimization Technique) of additional composition sets for some
solution phases (such as AQUEOUS solutions or dilute Fe-based liquid mixtures) of which the
used models [e.g. the SIT Model or the Complete Revised_HKF Model for AQUEOUS
solution, or the modified dilute solution parameters (plus a quadratic term, according to
Hillert (1986) based on the SigworthElliot Model (Sigworth and Elliot, 1974) for Fe-rich liquid
mixture] cannot be appropriately applied on a full scale.
Globally set the composition limits (in terms of mole fractions of various elements) in a
specific solution phase, so that whenever the program finds a potential phase composition or
a new composition set of possible miscibility gap(s) but that is out of this globally-set
composition range, the program automatically ignores such a phase composition in an
equilibrium calculation. This can be done either permanently inside a database (by enforcing
this option for amending the phase-description of the solution phase) or temporarily within
the GIBBS module (by using this phase-description amendment option).
This is important for solution phases for which the thermodynamic models and assessed data
for the phases are for specific composition ranges, for example, the FE_LIQUID phase in the
SLAG database is only applicable for Fe-rich liquid mixture, and the AQUEOUS phase in the
TCAQ/PAQ and AQS/PAQS databases is only applicable for H2O-dominant aqueous solution
phase.
Specify the low and high mole-fraction limits for each of the elements possibly available
within the considered phase (in the currently defined system, or in a certain database). Do
this for all the possible elements (defined in the phase) in a single AMEND_PHASE_
DESCRIPTION FRACTION_LIMITS command-sequence, for example:
TYPE_DEFINITION R GES AM_PH_DES FE_LIQUID FRACTION_LIMITS Fe 0 0.6
Ag 0 0.01 Al 0 0.05 Ca 0 0.05 Co 0 0.01 Cr 0 0.01
Cu 0 0.02 Mg 0 0.05 Mn 0 0.05 Mo 0 0.05 Nb 0 0.05
Ni 0 0.05 Pb 0 0.05 Si 0 0.10 Sn 0 0.02 Ti 0 0.05
U 0 0.01 V 0 0.02 W 0 0.02 Zr 0 0.03
B 0 0.01 C 0 0.01 H 0 0.01 N 0 0.01 O 0 0.01
P 0 0.01 S 0 0.01 !
DISORDERED_PART
This command is needed for the special treatment of chemically-ordered phases where the
contributions from the disordered state are described by a phase without ordering
sublattices (the disordered phase name must be specified).
Several checks are made that the ordered and disordered phases are compatible
(sublattices, sites and constituents). A link is then created between the phases, and the
disordered phase is hidden from application programs. The Gibbs energy for the ordered
phase also includes the Gibbs energy for the disordered phase.
Phases which can have an order/disorder transformation have parameters split on two
phases and are referred to as the two phase description in the GIBBS module. One of them
has sublattices for chemical ordering, the other one represents the disordered state.
Normally, the ordered BCC and FCC or HCP phases may have either 2 or 4 substitutional
sublattice (plus one additional interstitial site), that are handled by the Two Substitutional-
Sublattice Ordering Model or Four Substitutional-Sublattice Ordering Model, respectively.
Two phase means that the ordered phase has parameters that describe the ordering. The
disordered phase has all parameters for the reference state and those for describing the
disordered phase. The ordered phase may occur only is some systems whereas the
disordered phase may occur frequently, typical examples are the disordered FCC and BCC
which may become ordered as L12 or B2 in certain systems. In order to treat
multicomponent systems where some subsystems have ordering it would be necessary to
transform all parameters of BCC into a B2 model.
The parameters describing the disordered phase are not changed but the Gibbs Energy
system is informed that the Gibbs Energy for the two phases should be added.
The method used calculates the Gibbs Energy of a two phase model with two or four
substitutional sublattices for ordering.
The mole fractions xi are calculated from the site fractions yi. The last term
means that the contribution from Gmord in a disordered state (same site
fraction, equal to the mole fraction, on both sublattices) is subtracted. The
effect of this is that the parameters in the ordered phase have no contribution
to the disordered state.
MAGNETIC_ORDERING
Change the magnetic ordering parameter for a certain phase with magnetic ordering
contribution, in terms of its anti-ferromagnetic factor. By default this is –1 for BCC phase
and –3 for all other phases (FCC, HCP, etc.). The fraction value of the total enthalpy (due to
short-range ordering above the magnetic transition temperature) is by default 0.40 for BCC
phase and 0.28 for all other phases (FCC, HCP, etc.).
EXCESS_MODEL
See example tcex52.
Use this to change the default Excess Model (for interaction energies) from the default
(REDLICH-KISTER_MUGGIANU). The model handles the excess interaction energies in a
solution phase is chosen from:
For extrapolations of excess energies from related binary systems to ternary or higher-order
systems, the Redlich-Kister binary excess interaction parameters may be extrapolated with
either a Muggianu extension (i.e. the default REDLICH-KISTER_MUGGIANU model) and a
Kohler extension (i.e. the alternative REDLICH-KISTER_KOHLER model), where there is no
ternary, quaternary or higher-order interaction parameter.
The MIXED-EXCESS-MODELS option works only for a substitutional phase with no sublattice
(such as the metallic LIQUID phase) and it can be used to invoke asymmetrical simple or
Legendre polynomial as binary excess energy models in addition to the default symmetrical
Redlich-Kister model for the chosen pair of constituents in a substitutional phase with no
sublattice. Asymmetrical here means that the power series depend only on one of the
constituents, for example with expansions based on the [1-2*X(B)] term rather than [X(A)X
(B)].
TERNARY_EXTRAPOLAT
See example tcex52.
Use this to change the extrapolation method from the default REDLICH-KISTER_MUGGIANU to
another extrapolation model. This method extrapolates from binary to ternary (and higher-
order) excess interaction parameters in a solution phase and is chosen from:
Only when all the relevant binary excess energies in the current solution phase
are treated by the default Redlich-Kister Model (i.e. the Mixed-Excess-Model
should have not been used), the MUGGIANU_RESTOR method for ternary
extrapolations is equivalent to the Redlich-Kister_Muggianu Model, or the
KOHLER-ALL method to the RedlichKister_Kohler Model.
DEBYE_HUCKEL
To use the DHLL (Debye-Hückel Limiting Law) model and SIT (Specific Ionic Interaction
Theory) model for a dilute AQUEOUS solution phase, switch the DEBYE_HUCKEL part on, and
it removes previously set (if any) ADDITIONAL part on the non-ideality for the chosen
AQUEOUS phase.
HKF_ELECTROSTATIC
To use the hypothetical electrostatic contribution for the chosen phase (it must be an
aqueous solution phase using the Complete Revised_HKF Model). It removes previously set
(if any) ADDITIONAL part on the non-ideality for the chosen AQUEOUS solution phase.
QUASICHEM_IONIC
To use the Quasichemical-Ionic model for the chosen liquid phase, you must have already
entered/retrieved a liquid phase as an ionic two-sublattice liquid solution phase (normally,
that is the IONIC_LIQ phase), and then use this amending option to switch QUASICHEM_
IONIC on. It creates a completely new liquid solution phase [namely the QUAS_IONIC phase
which uses the Quasichemical Model for the entropy, according to Mats Hillert (2001: J of
Alloys and Compounds, 320, 161-176)], while the original IONIC_LIQ phase remains in the
system and is not changed by this option.
QUASICHEM_FACT00
See example tcex49.
To use the Quasichemical Model developed by Kongoli et al. [1998, Kongoli], you must have
entered/retrieved a liquid phase using a normal substitutional liquid model with specified
associates or species (on a single lattice site), and then turn on the option QUASICHEM_
FACT00. This removes the previously-set (if any) ADDITIONAL part on the non-ideality for the
chosen liquid phase.
Reference
[1998, Kongoli] F. Kongoli, A. D. Pelton, Y. Dessureault, Thermodynamic modeling of liquid
Fe-Ni-Cu-Co-S mattes. Metall. Mater. Trans. B. 29, 591–601 (1998).
QUASICHEM_IRSID
To use the Kapoor-Frohberg-Gaye Quasichemical Cell Model (i.e. the Quasichemical Model
developed by ISRID, France) for a liquid SLAG solution phase, you can use a normal liquid
model with specified associates or species.
GLASS_TRANSITION
To use the special model for glass transition of a liquid phase. It removes previously set (if
any) ADDITIONAL part on the non-ideality for the chosen liquid phase.
REMOVE_ADDITION
To remove all the selected ADDITIONAL part from the Gibbs energy description for the
chosen phase. If preferred, set a specific phase-status bit for a phase, use the PHASE_BITS
option as long you know the restrict meaning of each part of a phase- status bits.
DEFAULT_STABLE
Set phases as default-stable, which helps you to have a better guess of which phases that
should be stable at the first calculation.
With the command ENTER_PHASE, the phase name, phase-type, sublattice number, and
constituents or constituent array(s) for the phase are entered into the GIBBS workspaces.
The F and B phase-types are useful for ordered FCC (or HCP) and BCC solution phases
handled by the so-called Four Substitutional-Sublattice Ordering Model, which always
requires that the solution phase must have four sublattices for substitutional ordering and
can additionally have an interstitial sublattice.
For ordered FCC or HCP phases, these four substitutional sublattices represent four corners
of the regular tetrahedron on these lattices all of which are the nearest neighbours. A
Normal 4-Sublattice Model requires that all the G parameters for each of end-members with
the same elements but distributed on different sites be given separately. However, as these
corners are identical lattice points, the phase-type option F means that the G parameters
need be given only once. The possible permutations are handled automatically. To be more
clarified: An A-B binary solution phase (with the element A locates on one sublattice site and
B on three sublattice sites) treated by the Normal 4-Sublattice Model has to have 4 G
parameters for 4 end-members, i.e. G(phase,A:B:B:B), G(phase,B:A:B:B), G(phase,B:B:A:B)
and G(phase,B:B:B:A), because of that in the general case these G parameters can be
different from each other. But for the FCC and HCP orderings, these are identical and thus
all G parameters of such end-members need be given only once, and the possible
permutations are then automatically handled by the GIBBS module. This significantly
simplifies the usage of this model (Four Substitutional-Sublattice Ordering Model) in
multicomponent alloys.
There are restrictions on the excess parameters allowed with the phase-type option F. You
can only have excess parameters of these types:
L(phase,A,B:*:*:*;0…9)
L(phase,A,B:C,D:*:*;0…9)
The asterisk * means that the interaction parameter is independent on the constituents on
its corresponding sublattice. No ternary interaction parameters (i.e. with three elements on
one sublattice site) are allowed. The reason for this restriction is that it would be too
complicated to handle all possible permutations. In the current Four Substitutional Sublattice
Ordering Model, the binary interaction between A and B atoms is thus independent of the
constituents on the other sublattices, where there are many other parameters to model the
composition-dependence of the Gibbs energy (both in the ordered and disordered parts of
the phase). The model for these ordered phases are always partitioned in a disordered part
(with a single substitutional sublattice) and an ordered part (with four substitutional
sublattices for ordering).
For ordered BCC phases, the phase-type option B means the same thing but the situation is
more complicated, as the 4-sublattice ordering phase represents an irregular tetrahedron
with two pairs of sites that are next nearest neighbours. Thus, for an A-B binary solution
phase (with the element A locates on two sublattice site and B on other two sublattice sites)
treated by the Normal 4-Sublattice Model, the end-member described by the G
(phase,A:A:B:B) term has four nearest neighbour bonds between A and B atoms, whereas the
end-member described by the G(phase,A:B:A:B) term has two nearest neighbour bonds
between A and B atoms and two next nearest neighbour bonds
For detailed reference visit the Crystal Lattice Structure web page
https://www.nrl.navy.mil/mstd/6390.
The first end-member (described by the G(phase,A:A:B:B) term) represents B2- ordering and
the second (described by the G(phase,A:B:A:B) term) stands for B32-ordering. There are two
permutations of the G(phase,A:A:B:B) term and four permutations of the G(phase,A:B:A:B)
term, automatically conducted in the Four Substitutional-Sublattice Ordering Model. And
there are also two kinds of reciprocal interaction parameters, i.e.
L(phase,A,B:C,D:*:*;0…9) L(phase,A,B:*:C,D:*;0…9)
An advanced feature with the phase-type options F and B is that a composition set that
represents the solution phase has a suffix (indicating that it is really as an ordered or
disordered phase) that is automatically added to its phase name in some listings of
equilibrium calculations (when performing either single-point or stepping or mapping
calculations, and when plotting the calculated property diagrams or phase diagrams). Such
suffix indications can be:
Solution Phase Suffix for Disordered Phase Suffix for Ordered Phase
PHASE_L12
FCC PHASE PHASE_A1
PHASE_L10
PHASE_B2
PHASE_B32
BCC PHASE PHASE_A2
PHASE_D03
PHASE_L21
Solution Phase Suffix for Disordered Phase Suffix for Ordered Phase
PHASE_D019
HCP PHASE PHASE_A3
PHASE_B19
ADD_COMMENT
This command is for the Gibbs Energy System (GES) module.
Use the ADD_COMMENT command to add a comment or make notes about parameters.
AMEND_ELEMENT_DATA
This command is for the Gibbs Energy System (GES) module.
The data for an element (in the SER, the Stable Element Reference, state) can be changed by
this command. It should only be used for the elements that do not have any data in the
database because the element data available in the database is set by the database-
developer for the purpose of internal consistency. Except for the mass, the other values have
no influence on the calculations.
Syntax AMEND_ELEMENT_DATA
Element name: <Element name>
Prompts
Specify the name of the element for which you want to change the data.
New stable element reference /ABCD/: <Name of ser>
Press <Enter> to accept the default SER or specify a new SER for the element. Important: The
default name should not be changed if this data is retrieved from a database. This name is used
when parameters for a phase are listed and the database assumes that the stable element
reference is the same as in the database. Only if the element's data have not been fetched from a
database, e.g. entered manually, can you enter a new SER.
New atomic mass /xx.xxxx/: <yyyyyy>
Press <Enter> to accept the default atomic mass or specify a new value for the element. The
atomic mass of the element is given in g/mol.
New h(298.15)-h(0) /xxx.xxx/: <yyyyy>
Press <Enter> to accept the default H(298.15)-H(0) or specify a new value for the element. H
(298.15)-H(0) is the enthalpy difference between 298.15 K and 0 K for the element in its SER
state.
New s(298.15) /xx.xxxx/: <yyyyy>
Press <Enter> to accept the default S(298.15) or specify a new value for the element. S(298.15) is
the absolute value of the entropy at 298.15 K for the element in its SER state.
Default element reference state symbol index /#/: <index>
The index only changes the symbol, not any value. Normally the index is set
correctly by the database. Only when manually entering data, you must set the
index to get the correct symbol.
Specify an index for the default listing parameters (symbol), or press <Enter> to accept the pre-
set index. 0 is for G, 1 is for H298 and 2 is for H0.
The index is to define the symbol printed in parameter listings. The symbol can be:
Syntax AMEND_ELEMENT_DATA
l G the data are referred to Gibbs energy at a variable temperature (also called lattice
stability).
l H298 the data are referred to the enthalpy of the element at 298.15 K and 1 bar.
l H0 is the same as H298 but at the temperature 0 K.
AMEND_PARAMETER
This command is for the Gibbs Energy System (GES) module.
Syntax AMEND_PARAMETER
Parameter: <Parameter name>
Specify a correct parameter name. If a parameter name is not acceptable or you only press
Prompts <Enter>, the error message displays:
Error, please re-enter each part separately
The program prompts for separate input for each part for a parameter name.
Identifier (/X/): <G or L, or TC, or BM, or V0 or VA or VC or VK>
Specify the interacting constituent name: If there is no interacting constituent, press <Enter>.
Interacting constituent (in sublattice # /xyz/): <Species name>
If there are more than one interacting constituents, specify them; otherwise press <Enter>.
Degree /#/: <Degree>
After the parameter name is specified correctly, the program lists its current definition (either
present in the database or defined by the ENTER_PARAMETER command), such as:
L(PHASE2,AL,MG;1)=
298.15<T<2000.00: +5000
2000.00<T<4500.00: +4500
4500.00<T<6000.00: +4000
Syntax AMEND_PARAMETER
Then you are prompted to change the parameter definition, as shown below:
Do you want to change the number of ranges /No/:
Enter Y if you want to change the number of ranges for the chosen function, or change some of
the temperature limits in the definition. Then retype both the low/high temperature limits and
functions.
If you do not want to change the number of ranges but want to change the function(s) in one or
more ranges, press <Enter> to accept the default N, then the whole definition of the chosen
parameter in all ranges (if any) is listed on screen, such as:
DIFFERENT FUNCTIONS IN THESE RANGES
298.15<T<2000.00
2000.00<T<4500.00
4500.00<T<6000.00
If there is more than one range, this question is prompted press <Enter>.
Range number (0 to exit) /0/: <Range number>
If the function of a parameter is different in two or more temperature ranges, you must specify
the range of the function of which you want to amend. Or press <Enter> or type 0 to exit this
command without making any changes.
Function:
The previous function is available for editing. The editing is performed within the general
subroutine FOOLED, as described in AMEND_SYMBOL. This routine prompts as follows:
1:+:>
The prompt consists of the current position in the string and the character at that position
between colons, (::).
Commands
These commands can be given:
l Help: ?
l Move CP to last or first character: <+/-> A
l Delete characters from CP: <+-#characters> D
l Exit: E
l Find: <#occurrences> F<string>@
l Insert: I<string>@
l Move: <+-#positions> M
l Restore string: R
Syntax AMEND_PARAMETER
l Substitute: S<OLD>@<NEW>@
l Type string: T
Where CP denotes the current position in a string, # means number of, @ is a terminator of an
input or search string.
When the string is typed the character at the current position is replaced by an
underscore _.
AMEND_PHASE_DESCRIPTION
This command is for the Gibbs Energy System (GES) module.
Also see Solution Models in the GIBBS (GES) Module for detailed information
about this command and its options.
Specify/amend phase descriptions if a phase has a miscibility gap, uses a special excess
energy model, or has a specific additional contribution to its Gibbs energy, for example.
Syntax AMEND_PHASE_DESCRIPTION
Phase name: <Phase name>
Several subjects for the phase can be amended but most often this command is used to
Prompts
enter two or more composition sets for a phase. If a phase has a miscibility gap it is
necessary to have two composition sets, one for each possible composition that can be
stable simultaneously.
Enter a question mark at the prompt to get a list of all possibly amended subjects for a
phase.
New_ Specify the sublattice where the new constituents are located.
constituent Species: <Species name>
Syntax AMEND_PHASE_DESCRIPTION
The default value (#) is usually one higher than the current value. All phases have initially
one composition set. If a lower value (i.e. lower than the default one) is given, that specific
composition sets are deleted.
Specify the new major constituent(s) for the sublattice #, or press <Enter> to accept the
default which was automatically set according to the specified composition set of the phase.
This prompt is repeated for all available sublattices in the chosen phase. The major
constituents in each sublattice can be given. This may simplify giving start values when
calculating the equilibrium as phases with miscibility gaps should have different major
constituents for each composition set.
Composition set /1/: <Composition set number>
Give the composition set (digit number) for the chosen phase, or press <Enter> if you want
to set major constituents for the specified composition set.
Major constituent(s) for sublattice #: /AB/: <Major constituent(s)>
Specify the new major constituent(s) for the sublattice #, or press <Enter> to accept the
Major_
default which is automatically set according to the specified composition set of the phase.
constituent
This prompt is repeated for all available sublattices in the chosen phase for the specified
composition set.
The major constituents in each sublattice can be specified. This is useful in order to make
calculations converge faster and more easily (because it may simplify giving start values
when calculating the equilibrium as those phases with miscibility gaps should have different
major constituents for each composition set). The databases often set major constituents for
several phases automatically when data are retrieved.
Element : <el1>
Low fraction limit /0/ : <Appropriate low limit>
High fraction limit /1/ : <Appropriate high limit >
Element : <el2>
Fraction_
Low fraction limit /0/ : <Appropriate low limit>
limits
High fraction limit /1/ : <Appropriate high limit>
Element : <eln>
Low fraction limit /0/ : <Appropriate low limit>
High fraction limit /1/ : <Appropriate high limit >
Magnetic_ Specify the anti-ferromagnetic factor for the chosen phase. This should be –1 for BCC phase
ordering and –3 for all other phases (FCC, HCP, etc.).
Short range order fraction of the enthalpy /XX/: <YY>
Syntax AMEND_PHASE_DESCRIPTION
The magnetic ordering is a second-order transformation and part of the enthalpy due to this
transformation is due to short-range order. This value is the fraction of the total enthalpy
that is due to short-range ordering above the magnetic transition temperature.
The default value (xx) is 0.40 for BCC phase, and 0.28 for all other phases (FCC, HCP, etc.).
Disordered phase name: <Phase name>
Disordered_
part
Give the disordered phase name for which there is no ordering sublattice.
Model name /ABCDEFG/: <Model name>
The default model is the pre-set model for the solution phase, normally the REDLICH-
KISTER_MUGGIANU model, or choose another model for the phase to be amended:
l REDLICH-KISTER_MUGGIANU
l REDLICH-KISTER_KOHLER
l FLORY-HUGGINS POLYMER MODEL
l MIXED-EXCESS-MODELS (R-K default)
l HKF
l PITZER
l CENTRAL_ATOM_MODEL
Specify the binary pair of constituents in the current substitutional solution phase (the first
one as the so-called independent constituent, and the second one as the dependent
constituent), for which you wish to change the binary excess model from the default
REDLICH-KISTER model to another model (LEGENDRE or POLYNOM).
You are prompted with the first sub-option (i.e. First (the independent) constituent after
you have specified the desired binary Excess model type. To make further changes of binary
excess model for other specific binary pairs in the current substitutional solution phase,
press <Enter> (implying that there are no more changes of binary excess model for all other
possibly-remaining binary pairs that shall still use the default REDLICH-KISTER model).
Excess model type: /Legendre/: <Desired binary excess model type>
For the currently-specified binary pair, choose one the legal binary excess models:
LEGENDRE, POLYNOM or REDLICH-KISTER. If the default binary excess model REDLICH-
KISTER is used for a certain binary pair, you can either specify the model name (or in short as
R-K) or press <Enter>. After this sub-option, it returns to the first sub-option First (the
independent) constituent: either for further change(s) of binary excess model of any other
binary pair(s) or for termination (by pressing <Enter>) in the MIXED-EXCESS-MODELS option.
Extrapolation method: /Toop-Kohler/: <Ternary model>
Ternary_
extrapolat
Choose a ternary extrapolation model for the current solution phase:
Syntax AMEND_PHASE_DESCRIPTION
Specify the so-called Kohler constituents (entered as the basis constituent and first
interacting constituent) and Toop constituent on a given sublattice in the current solution
phase.
To use the Quasichemical Model for the chosen liquid phase, you must first enter it as an
ionic liquid phase, and then use this amending option. It creates a completely new phase,
Quasichem_ the original IONIC_LIQUID phase remains in the system and is not changed.
ionic
Number of bonds/atom /2/: <Number of bonds per atom>
Correct the phase status bits. It is important to fully understand this command before using
it:
New status word (in hexadecimal) /04204000/: <New status bits>
LIST_STATUS
Status_bits
Normally, these should never be changed in this way, because such phase status bits are
automatically set on when all the phase descriptions (predefined in databases and amended
in the GIBBS module) are defined properly. The only exceptions are for the Kapoor-
Frohberg-Gaye cell model for liquid SLAG solution phase, which can be set only as
04208000; and for the complete Revised HKF AQUEOUS solution model, which can be set
as 02084000.
AMEND_SYMBOL
This command is for the Gibbs Energy System (GES) module.
Interactively calculate the current values of a function or table (predefined by the switched
database or previously entered with ENTER_SYMBOL) at the current temperature and pressure
condition, and also possible to modify the definitions of variables or functions.
The current values of the temperature and pressure used to calculate the
functions or tables are the ones listed with LIST_STATUS. There is no way to
change the current temperature and pressure values interactively.
Syntax AMEND_SYMBOL
Name: <Symbol name>
For variables and functions (or parameters), there are additional prompts and depend on the
symbol type.
For a variable, its current value is displayed, and you can change it to a new value:
Value /Current value/: <New value>
Syntax AMEND_SYMBOL
Enter Y to change the number of ranges for the function, or change some of the temperature
limits in the definition, then retype both the low/high temperature limits and functions (see all the
remaining details in the ENTER_SYMBOL command.
If you do not want to change it, press <Enter>. The definition of the chosen function in all ranges
(if any) is listed, for example:
DIFFERENT FUNCTIONS IN THESE RANGES
298.15<T<2000.00
2000.00<T<4500.00
4500.00<T<6000.00
If a function is different in two or more temperature ranges, you must specify the range of the
function of which you want to amend. Or press <Enter> or type 0 to exit this command without
making any change.
Range number (0 to exit) /0/: <Range number>
Function:
The previous function is available for editing. The editing is performed within the general
subroutine FOOLED. This routine prompts as follows:
1:+:>
The prompt consists of the current position in the string and the character at that position
between colons (::).
Commands
These commands can be given:
l Help: ?
l Move CP to last or first character: <+/-> A
l Delete characters from CP: <+-#characters> D
l Exit: E
l Find: <#occurrences> F<string>@
l Insert: I<string>@
l Move: <+-#positions> M
l Restore string: R
l Substitute: S<OLD>@<NEW>@
l Type string: T
Where CP denotes the current position in a string, # means number of, @ is a terminator of an
input or search string.
Syntax AMEND_SYMBOL
When the string is typed the character at the current position is replaced by an
underscore _.
CHANGE_STATUS
This command is for the Gibbs Energy System (GES) module.
The status of an element or species or phase can be either ENTERED or SUSPENDED. The
suspended status can be either implicit or explicit. The implicitly suspended status can be set
e.g. for a species if any of the elements in its chemical formula is explicitly suspended. A
species that is implicitly suspended becomes entered automatically if all its elements are set
entered. After this command, a message shows which elements/species/phases are
suspended or restored (entered). Consequently, the status bits for the specified elements or
species or phases are changed, as listed with LIST_STATUS.
Syntax CHANGE_STATUS
For Element, Species or Phase /Species/: <Keyword>
Prompts
Specify the keyword (element, species or phase).
Suspend /Y/:
Specify the names or indices of those elements or species or phases that shall become suspended
or active. For names, these should be separated by a space and terminated with a semicolon (;) or
an empty line. For indices it is possible to give a range by separating two numbers by a hyphen (-).
The list should be terminated by a semicolon (;). Example: 5 1 7-12 FE;
ENTER_ELEMENT
Specify a system interactively. The program searches the currently switched or preset
database for data for the given elements. The data for the elements in the database are the:
l mass in g/mol
l name of the Selected Element Reference State (SER) which normally is the stable
phase for the element at 298.15 K
l enthalpy difference for the element in the SER state at 298.15 K and zero K
l absolute entropy for the element in the SER state at 298.15 K.
The two predefined elements, i.e. electrons and vacancies, have the chemical symbols /-
and VA, respectively. Initially, these are suspended but can be entered either by this
command or CHANGE_STATUS.
If an aqueous solution phase is involved, in the GIBBS module you enter a special aqueous
electron called, ZE. This is specially designed for appropriately calculating the standard
electric potential in the aqueous solution system.
Syntax ENTER_ELEMENT
Element name: <Element name>
Prompt Specify several elements on one line. The name of an element is its chemical symbol. The chemical
symbols must be separated by spaces. Fictitious element names are legal but naturally no data are
found in the database for them.
An element name (maximum 2 characters) can either have its first letter in upper
and the second (if any) in lower case (i.e. Lower Case Mode) or both letters can be
in upper or lower case (i.e. Upper Case Mode). The Upper or Lower Case Mode is
selected by the command REINITIATE, which removes all data, and should be
executed before any other command.
ENTER_FUNCTION
This command is available with the GES and TAB modules.
Used to define a new thermodynamic function to be included in the sixth column of tabular
output. The last entered function is listed in the 6th column of all tables, and can be plotted
(if choosing the Plot Column value 6) in all graphs, for all subsequently tabulated substances
or reactions.
Syntax ENTER_FUNCTION
Name: <Name>
Prompt
Function: <Definition>
A limited number of state variables, G, H, S, T, P, V and H298 can be used in the function definition.
For example, -(G-H)/T can be defined as a function which is identical to S for a substance or ΔS for
a reaction, G+T*S-P*V can be defined as a function which is U (internal energy) for a substance or
ΔU (internal energy change) for a reaction.
Nameof thefunction (maximum 8 characters) and Definition of the function. A long function can
Options
be typed over several lines. A function should be terminated by a semicolon (;) or an empty line.
Example
For the pure substance Fe (using the SSUB database), by entering a function as G+T*S-P*V,
the following table is obtained by typing <Enter> in the prompt Output file /Screen/:,
and the figure by typing 6 in the prompt Plot column /2/:
TAB: ENTER-FUNCTION
Name: InEnergy
Function: G+T*S-P*V;
TAB: TABULATE_SUBSTANCE
Substance (phase): Fe
Pressure /100000/: <Enter>
Low temperature limit /298.15/: <Enter>
High temperature limit /2000/: <Enter>
Step in temperature /100/: <Enter>
Output file /try1/: try2
Graphical output? /Y/: <Enter>
Plot column? /2/: 6
O U T P U T F R O M T H E R M O - C A L C
Column 6: InEnergy G+T*S-P*V
Phase : FE_S Pressure : 100000.00
Specie: FE
***************************************************************
T Cp H S G InEnergy
(K) (Joule/K) (Joule) (Joule/K) (Joule)
***************************************************************
298.15 2.48446E+01 2.17972E-06 2.72800E+01 -8.13353E+03 2.17972E-06
300.00 2.48905E+01 4.60049E+01 2.74338E+01 -8.18414E+03 4.60049E+01
400.00 2.71299E+01 2.64957E+03 3.49085E+01 -1.13138E+04 2.64957E+03
500.00 2.93561E+01 5.47211E+03 4.11976E+01 -1.51267E+04 5.47211E+03
600.00 3.19293E+01 8.53245E+03 4.67701E+01 -1.95296E+04 8.53245E+03
700.00 3.50985E+01 1.18777E+04 5.19207E+01 -2.44667E+04 1.18777E+04
800.00 3.92042E+01 1.55830E+04 5.68623E+01 -2.99068E+04 1.55830E+04
900.00 4.49645E+01 1.97726E+04 6.17903E+01 -3.58387E+04 1.97726E+04
1000.00 5.42147E+01 2.46891E+04 6.69619E+01 -4.22728E+04 2.46891E+04
1100.00 4.55851E+01 2.99025E+04 7.19412E+01 -4.92328E+04 2.99025E+04 $
Stable phase is FE_S2
1200.00 3.40840E+01 3.51037E+04 7.64466E+01 -5.66322E+04 3.51037E+04
1300.00 3.49398E+01 3.85549E+04 7.92086E+01 -6.44162E+04 3.85549E+04
1400.00 3.57994E+01 4.20918E+04 8.18293E+01 -7.24692E+04 4.20918E+04
1500.00 3.66636E+01 4.57149E+04 8.43287E+01 -8.07780E+04 4.57149E+04
1600.00 3.75330E+01 4.94247E+04 8.67226E+01 -8.93314E+04 4.94247E+04 $
Stable phase is FE_S3
1700.00 4.05217E+01 5.41173E+04 8.95609E+01 -9.81363E+04 5.41173E+04
1800.00 4.12595E+01 5.82055E+04 9.18975E+01 -1.07210E+05 5.82055E+04 $
Stable phase is FE_L
1900.00 4.60000E+01 7.74165E+04 1.02377E+02 -1.17099E+05 7.74165E+04
2000.00 4.60000E+01 8.20165E+04 1.04736E+02 -1.27456E+05 8.20165E+04
ENTER_PARAMETER
This command is for the Gibbs Energy System (GES) module.
Use this command to enter TP-function(s) for a specific parameter for a phase interactively
with this command. If there is already a parameter expression defined (for this parameter),
that is deleted and replaced with newly entered one.
The entered TP-Function(s) for the parameter can be changed later with the command
AMEND_PARAMETER.
Syntax ENTER_PARAMETER
Parameter: <Parameter name>
<Identifier>(<Phase>,<Constituent array>;<Digit>)
Prompts
If a parameter name is not acceptable or <Enter>, is pressed, a message displays:
*** Error, please re-enter each part separately
and you are prompted for input for each required part for a parameter name.
A parameter is identified by the constituents on a specified sublattice site of the given phase,
the stoichiometric coefficients of which are multiplied with the parameter. The name of the
constituent can be abbreviated.
Constituent
If this command is used one or more times, the previous value on this prompt is set as default.
Accept it by pressing <Enter> if the constituent is the same, or specify a new species name.
Syntax ENTER_PARAMETER
For phases with several sublattices, the program asks for one constituent in each sublattice.
Interacting constituent (in sublattice # /XYZ/): <Species name>
If this command is used one or more times, the previous value on this prompt is set as default.
Press <Enter> to accept it if the constituent is the same, or specify a new species name.
Interacting
constituent
To cancel the default value of the interacting constituent type NONE or the name
of another constituent.
This question is repeated until all the interested interacting constituent(s) on a specific
sublattice in the phase are specified, and finally an <Enter> is enforced.
Degree /#/: <Degree>
After this prompt, the program echoes on the screen the full TP-Function of the phase
parameter.
Low temperature limit /298.15/: <Lowest temperature limit in K>
Specify the lowest temperature limit (in Kelvin), or the lowest-pressure limit (in Pascal but
entered as a negative number), for the current TP-Function.
Function: <Definition for a function>
Specify the high temperature limit (in Kelvin), or the high-pressure limit (in Pascal; only if the
lowest limit is entered as a negative number) for the current TP-Function.
Any more ranges? /N/:
ENTER_PHASE
See About the ENTER_PHASE Command for details about the phase-type and
other prompts.
With this command, the phase name, phase-type, sublattice number, and constituents or
constituent array(s) for the phase are entered into the GIBBS workspaces. However, for the
remaining parts of thermodynamic descriptions (i.e. thermochemical and physical
parameters, excess model, and possibly additional contribution term) for the phase, the
GIBBS commands ENTER_PARAMETER and AMEND_PHASE_DESCRIPTION, should be used
sequentially.
Normally, data for a system are retrieved from the preset database after the elements and
species are specified. This is automatically done through GET_DATA. In some cases, specify a
phase interactively.
Syntax ENTER_PHASE
The phase name is any string starting with a letter and containing only letters, digits or the
underscore character. The phase name must be unique.
Phase name
Type code: <Phase-type code>
The Phase-type code must be specified for the phase if it is not an ordinary solution phase.
Press <Enter> if the phase is ordinary.
Phase-type
F
An ordered FCC or HCP solution phase with four substitutional sublattices (additionally, such a
phase can also have an interstitial sublattice).
B
An ordered BCC solution phase with four substitutional sublattices (additionally, such a phase
can also have an interstitial sublattice).
Syntax ENTER_PHASE
Number of sublattices /1/: <Sublattice number>
Phases with stoichiometric constraints usually have two or more sublattices. On each
sublattice one or more species can be entered as constituents. The number of sublattices
must not exceed 10. Substitutional phases with no sublattices are treated as phases with one
sublattice.
Sublattice
number Number of sites on sublattice # /1/: <Site number>
For phases with sublattices, the ratio of the sites on each sublattice (donated with #) must be
given. The program asks for values for all sublattices (by repeating this question for each
sublattice), but these may have a common factor extracted. It is recommended to use
integer numbers as sites if possible. For substitutional phases with no sublattices, this
question does not show up.
Name of constituent: <Constituent name(s)>
For each sublattice specify at least one species as constituent. Several constituents can be
given consequently (on the repeated prompt) or on the same line separated by a space. This
question is repeated till pressing <Enter> or giving a semi-colon (;), meaning that the list of
constituents is terminated by (;) or an empty line.
Will you add constituents later /N/:
Constituents
For Y add other constituents to the phase by specifying new components in e.g. an ENTER_
PARAMETER command.
If illegal constituents are used, you get a message e.g. when parameters are entered.
Do you want a list of possible parameters /N/:
Enter Y for a list of all possible parameters up to the fifth interaction order for the entered
phase.
ENTER_SPECIES
Specify a species from the already entered elements. The stoichiometry of the species is the
chemical formula of the species. For each species, its name and chemical formula must be
given.
Syntax ENTER_SPECIES
Species name: <Species name>
Enter a unique species name. This is usually its chemical formula but it can be any string which
starts with a letter and contains only letters or digits. Parenthesis () and an underscore _ are
permitted. The combination /- or /+ used to denote charge.
The species name can be used to separate isomers with the same stoichiometry, e.g. C2H2Cl2,
(CHCl)2_cis, (CHCl)2_trans, CH2_CCl2.
The elements in the chemical formula are normally separated by stoichiometric numbers. Neither
parenthesis () nor an underscore _ is allowed in the chemical formula, while the special
combination /- or /+ can be used.
In upper case mode (see REINITIATE), the stoichiometric number unity can be excluded only if the
element symbol consists of two letters. In lower case mode, the element must be typed with the
first letter in UPPER case and the second in lower, and it is thus possible to distinguish CO (carbon
monoxide) from Co (cobalt) without any stoichiometry number.
ENTER_SYMBOL
This command is for the Gibbs Energy System (GES) module.
There are also a POLY and POST module commands with the same name.
However, symbols entered in the GIBBS module are not the same symbols as
defined in the POLY and POST modules.
In the GIBBS module, a symbol can be used to represent a numeric quantity (e.g. a variable),
a function, or a table. The entered symbol (with a symbol name of maximum eight
characters) can be used later when parameters are entered, and this is a flexible way to
manipulate thermodynamic functions. Symbols are especially useful if the same function or
table is used in several thermochemical parameters. A parameter symbol is used to assign
the values of phase parameters (which are defined with the command ENTER_PARAMETER) to
specific characterized symbols. If you want to define a constant quantity, enter it as a simple
function with a constant value in all (temperature) ranges.
The symbols entered in the GIBBS module can also be listed and used in the PARROT module
(for data optimization) where you can use the GIBBS-entered symbols (variables, functions
or parameters) to define parameters that shall be optimized.
Syntax ENTER_SYMBOL
Variable, function, table or parameter? /Function/: <Keyword>
l Variables are similar to functions because these can also be expressions of state
variables. It is possible to enter a variable with a new expression anytime.
l Functions are expressions of state variables or other functions.
l Tables are used for listing results. A table consists of a list of any number of state
Prompt variables, functions or variables.
l Parameter symbols are used to assign the values of phase parameters (which are
defined by the command ENTER_PARAMETER) to specific characterized symbols. If the
phase parameter is not defined yet, the parameter symbol is assigned zero or a symbol
which is valued as zero. In this way it is easy to refer to entered phase parameters in
further defining other phase parameters.
Name: <Name of the symbol>
Each symbol has a unique name that must start with a letter and can have maximum 8
Syntax ENTER_SYMBOL
characters.
The following prompts are based on the type of symbol.
Value: <Numeric value of a variable>
Variable
symbol Only a constant numeric value, not an expression, is accepted.
Enter the lower-temperature limit, the expression, an upper-temperature limit and if there is
another expression above this upper limit:
Low temperature limit /298.15/: <Lowest temperature limit in K>
Specify the lowest-temperature limit, below which its (first) expression is not applicable. The
default lowest limit of all kinds of data is 298.15 K.
If a negative number is given as the lowest-temperature limit, it is assumed that there are
breakpoints in pressure for this function; in such a case, it is interpreted as the lowest-pressure
limit (in Pascal), and the other limits in the current function are also taken as pressure limit
values (in Pascal).
The temperature/pressure limits for the functions are checked during calculations. An indicator
is set if the actual temperature/pressure condition is below the lowest temperature/pressure
limit or above the highest temperature/pressure limit; and in such a case, an extrapolation is
conducted using the TP-FUNCTIONS valid in the nearest temperature/pressure range.
Function: <Definition for a TP-function>
A function can have several temperature ranges, and a different expression (i.e. a
TP-Function) for each region; if required, a single function can have up to ten
different temperature ranges (and thus have up to ten different TP-Functions).
This question is repeated if the current function has more than one expression (TPFunction) in
various temperature ranges [or pressure ranges; only if the lowest limit is entered as a negative
number)].
& <Continuation of the definition for the current TP-Function>
This is for a continuation of the definition for the current TP-Function. The ampersand & means
that you can continue to write the function on the new line if one line is not enough for the
current TP-Function. If you are finished the current TP-Function, press <Enter> again.
High temperature limit /6000/: <High temperature limit in K>
For a TP-Function, specify the high-temperature limit, above which its current expression is not
applicable. The default high-temperature limit for all kinds of data is always 6000 K.
Syntax ENTER_SYMBOL
This question is repeated if the function has more than one expression (TPFunction) in various
temperature ranges.
Answer N to finish the definition of the current function. If Y the program asks for a new function
valid above the last high temperature limit and below a new high temperature limit. The
maximum number of temperature ranges is 10.
Important note: Make sure that the function and its first derivatives are continuous across break
points.
Specify the low and high temperature limits, temperature step and tabled value at each
specified temperature:
Low temperature limit /298.15/: <Low temperature limit in K>
The value of the table at the specified temperature (xx) must be given. The default value (yy) is
the last value.
Input the correct name of a phase parameter (including its identifier, phase name, constituent
Parameter and interacting constituent(s) in various sublattices (if exist), and degree of the parameter. Most
symbol of the settings are the same as in the ENTER_PARAMETER command or the Function symbol
prompts above.
Syntax ENTER_SYMBOL
Parameter: <Parameter name>
Specify a correct and complete parameter name, which should contain all the necessary parts of
the general form:
<Identifier>(<Phase>,<Constituent array>;<Digit>)
If a parameter name is not acceptable or <Enter> is pressed, this error message displays:
*** Error, please re-enter each part separately
The program prompts for separate input for each required part for a parameter name.
Identifier (/X/): <G or L, or TC, or BM, or V0 or VA or VC or VK>
Specify the constituent name on the specified sublattice site of the given phase.
Interacting constituent (in sublattice # /XYZ/): <Species name>
Specify the interacting constituent name on the specified sublattice site of the given phase; if
there is no interacting constituent, press <Enter>.
Interacting constituent (in sublattice # /XYZ/): <Species name>
If there is more than one interacting constituent on the specified sublattice site of the given
phase, specify them; otherwise press <Enter>.
Degree /#/: <Degree>
Specify an integer number (a value from 0 through 9) as the degree for the phase parameter.
Low temperature limit /298.15/: <Lowest temperature limit in K>
Specify the lowest-temperature limit (in Kelvin), or the lowest-pressure limit (in Pascal but
entered as a negative number), for the current TP-Function.
Function: <Definition for a function>
Specify the desired TP-Function for the current temperature range (or current pressure range;
only if the lowest limit is entered as a negative number).
& <Continuation of the definition for the current TP-function>
Specify the desired TP-Function continuation for the current temperature range (or current
pressure range; only if the lowest limit is entered as a negative number).
High temperature limit /6000/: <High temperature limit in K>
Specify the high-temperature limit (in Kelvin), or the high-pressure limit (in Pascal; only if the
lowest limit is entered as a negative number) for the current TP Function.
Any more ranges /N/:
LIST_CONSTITUTION
This command is for the Gibbs Energy System (GES) module.
Syntax LIST_CONSTITUTION
List all the constitutions (as site-fractions) for all the phases in the defined system.
This is mainly for software managers. There are no commands in the GIBBS monitor
to set the constitution.
LIST_DATA
This command is for the Gibbs Energy System (GES) module.
Use the LIST_DATA command to retrieve and then list the data included with a database in
the DATA module or directly entered in the GIBBS module. All data for the current system
that is defined within the current GIBBS workspace is written in a readable manner in the
output file. If no output file is specified, by default the data displays on screen. The behavior
of this command differs slightly based on whether you are using GES6 (the default) or GES5.
For encrypted commercial databases you may not be able to use this command
to list any retrieved data. However, it can be used to list some basic definitions
(such as phase models and phase-constituents) retrieved from an encrypted
database, as well as all the references related to original assessments (but not
thermodynamic parameters) for the currently-defined system.
Command Prompts
After entering the command in the console, the following prompt options are available.
Syntax LIST_DATA
Output to screen or file /Screen/: <File name>
Prompts Specify the name of a file in which the data shall be written in a readable manner. The default
value is the screen (by pressing <Enter>).
Options?: <Option(s)>
See the section about the differences between GES5 and GES6 output for these
options.
l N the output is written as a user database format. For GES6, and only for an unencrypted
database, this option has a subcommand that allows filtering of phase parameters with
respect to the property type e.g., to include only volume parameters and/or viscosity
parameters in the output.
l The subprompt is Property type /All/. Choose All or enter the property type.
The valid alternatives (when available) are: V0, VA, VB, VC, VK, TC, TN, BM, MQ,
MF, DQ, DF, OQ, VS, G, L, THCD, ELRS, ESPD, VISC, GD, SIGM or XI
l P the output is written as a macro file for future input. This is useful for creating *SETUP
files for data assessments.
Syntax LIST_DATA
GES6 is a re-write and new implementation of the Gibbs Energy System module
of Thermo-Calc and it is the default engine. The previous version, GES5, is still
available and will continue to work in the background of the program where
necessary. The main purpose of GES6 is to support faster development of new
features.
As required you can set Thermo-Calc to use GES5 instead of the default with the
SET_GES_VERSION command. The application may also automatically and
temporarily switch to GES5 when a database is being used that is not compatible
with GES6.
For both GES5 and GES6 and when you enter P, S, R, or L, the output data consists of a list of
all elements and the data followed by a list of all phases and the data associated with each
phase. The thermochemical parameters listed for each phase are always in SI units.
For GES6, and only when option N is entered, the output data consists of a list of all elements
and the data followed by a list of all phase definitions and the data associated with the
phases, sorted by system. In this mode, and only for unencrypted databases, there is a
subcommand that allows filtering of phase parameters with respect to the property type
e.g., to include only volume parameters and/or viscosity parameters in the output.
Other differences between the GES5 and GES6 output are related to the output as shown
below.
Includes implicitly defined zero-valued Only contains parameters that are actually
Parameters
thermodynamic parameters defined in the database
Automatically
Does not include Includes
suspended phases
Contains references of functions and parameters with Retains the original reference names
References
generic names, such as "REF123" that are used in the database
LIST_PARAMETER
This command is for the Gibbs Energy System (GES) module.
List the TP-function(s) of a specific parameter for a phase. You must supply the name of the
phase parameter:
The parameter name: <Identifier>(<Phase>,<Constituent array>;<Digit>)
For encrypted commercial databases, you may not be able to use this command
to list any retrieved parameter.
Syntax LIST_PARAMETER
Parameter: <Parameter name>
Specify a correct and complete parameter name, which should contain all the necessary parts of
the general form: <identifier>(<phase>,<constituent array>;<digit>)
The program prompts for separate input for each required part for a parameter name.
Identifier (/X/): <G or L, or TC, or BM, or V0 or VA or VC or VK>
Specify the constituent name on the specified sublattice site of the given phase.
Interacting constituent (in sublattice # /XYZ/): <Species name>
Specify the interacting constituent name on the specified sublattice site of the given phase; if
there is no interacting constituent, press <Enter>.
Interacting constituent (in sublattice # /XYZ/): <Species name>
If there is more than one interacting constituent on the specified sublattice site of the given
phase, specify them; otherwise press <Enter>.
Syntax LIST_PARAMETER
Degree /#/: <Degree>
LIST_PHASE_DATA
This command is for the Gibbs Energy System (GES) module.
All data for a specific phase are written in a readable manner on screen. The
thermochemical parameters listed for the phase are always in SI units.
For encrypted commercial databases you may not be able to use this command
to list any phase data. However, this command can be used for listing some
basic definitions (such as phase model and phase-constituents) for the specified
phase, as well as all the references related to original assessments (but not
thermodynamic parameters) for the currently-defined system.
Syntax LIST_PHASE_DATA
Phase name: <Phase name>
Prompt
Specify a phase name (if abbreviated, it should be unique).
LIST_STATUS
This command is for the Gibbs Energy System (GES) module.
Syntax LIST_STATUS
List the entered elements, phases and species with the status word. The command is included for
system managers.
Each element, species, phase and symbol has a set of status bits. The values of these
bits are listed with this command.
The bits are listed as hexadecimal, i.e. four bits are written as a hexadecimal number. Two
hexadecimal numbers make a byte. In hexadecimal, 0 to 9 mean normal digits. A to F means values
10 to 15. The number E4000000 has thus bit 1, 2, 3 and 6 equal to one. The bits are numbered
starting with 1 for the most significant (leftmost) bit.
7. Positive charge
8. Vacancy
9. Component (by default the elements are the components)
1. Constant
2. Variable
3. Function
4. Table
5. Value must not be amended
6. Undefined
LIST_SYMBOL
This command is for the Gibbs Energy System (GES) module.
List the symbols available in the current GIBBS workspace, which are defined (retrieved
from database in the DATA module, or directly entered in the GIBBS module) and used in TP-
functions for the entered model parameters for various phases in the defined system.
For encrypted commercial databases you may not be able to use this command
to list any retrieved symbol.
Syntax LIST_SYMBOL
Name: <Symbol name>
Specify a symbol name (either as the full name of a defined symbol, or as the first
few common characters of several symbols which have names starting with such
common characters).
Prompts
Only those symbols that match this name are listed.
Or press <Enter> for a list of all the symbols defined (retrieved from database in the
DATA module, or directly entered in the GIBBS module) for the current system,
which are available in the current GIBBS workspace.
Output to screen or file /Screen/: <File name>
Specify the name of a simple-textual file in which the entered symbols shall be
written in a readable manner (such a basic textual file can later on be opened and
edited by any text editor). The default value is the screen (by pressing <Enter>).
READ_GES_WORKSPACE
This command is for the Gibbs Energy System (GES) module.
Workspace Files
The data saved into a *.GES5 with SAVE_GES_WORKSPACE can be read back into the GIBBS
workspace.
Syntax READ_GES_WORKSPACE
Enter a File name and specify the working directory where to save the file in the Look in field.
Normally the default file-type in the Files of type field is the correct one for the GES workspace
format.
The saved *.GES5 files are unique for each CPU type, and therefore a file saved on
one CPU type cannot be read and used on another CPU type.
READ_WORKSPACES
This command is used in both the POLY and GES (GIBBS) modules.
Workspace Files
The POLY3 and GIBBS workspaces and the calculated results from the MAP and STEP
commands can be READ from a file where they are saved with SAVE_WORKSPACES. Such a
*.POLY3 file is not printable.
Syntax READ_WORKSPACES
File name is thename of a saved POLY3-file where the POLY3 and GIBBS workspaces shall be read
from must be specified. You do not need to type the extension if it is the default *.POLY3,
otherwise type the whole POLY-file name.
A reminder that Linux and Mac are case sensitive; when applicable ensure you
Options enter file extensions with capital letters.
A window opens so that the path (in the Look in field) and File name can be specified. The Files of
type (i.e. POLY3) cannot be changed. Click Open to open the POLY3 and GIBBS workspaces from
the saved *.POLY3 file.
When reading back an original POLY3 workspace that has already been saved as an *.POLY3 file in
the current Thermo-Calc (Console Mode) run or had been read from an existing POLY3 file under
the current work area, while some additional changes in the settings may be made but do not
need to be kept in further steps in the current Thermo-Calc (Console Mode) run or any diagram is
plotted in the POST module, you can type READ,, or READ_WORKSPACE ,,
RECOVER_START_VALUES
Syntax RECOVER_START_VALUES
REINITIATE
This command is for the Gibbs Energy System (GES) module.
All data in the stored GIBBS workspace are erased, and all variables are initiated to their
default values.
Syntax REINITIATE
Upper case only /Y/:
Press <Enter> to keep the default where the name of elements and species is in only UPPER case.
Or choose N to have the elements with two letter names with the first letter in Upper case and
Prompts the second in lower case.
In upper case mode all input in lower case is automatically converted to upper
case.
This value is used as the lower temperature limit when data are entered interactively.
Upper temperature limit /6000/: <Highest T in K>
This value is used as the upper temperature limit when data are entered interactively.
Default element reference state symbol index /1/: <1 or 2 or 3>
Specify a proper index for the default listing parameters (symbol), or press <Enter> to accept the
preset index 1.
The index is for defining the symbol printed in listings of parameters. The symbol can be:
l G:the data are referred to Gibbs energy at a variable temperature (also called Lattice
Stability).
l H298: the data are referred to the enthalpy of the element at 298.15 K and 1 bar.
l H0 is the same as H298 but at the temperature 0 K.
The index only changes the symbol, not any value. Normally the index is set
correctly by the database. Only when manually entering data must you set the
index to get the correct symbol. Set the index value to 0 to get the symbol G, to 1 to
get the symbol H298 and to 2 to get H0.
SAVE_GES_WORKSPACE
This command is for the Gibbs Energy System (GES) module.
Workspace Files
The data used by the GES workspace can be saved in a file with a default extension *.GES5.
The default file name is RESULT.GES5 or equal to the one used in a previous READ_GES_
WORKSPACE command.
Syntax SAVE_GES_WORKSPACE
Enter a File name and specify the working directory where to save the file in the Save in field.
Normally the default file-type in the Files of type field is the correct one for the GIBBS workspace
format.
SAVE_WORKSPACES
This command is available for both the POLY and GES (GIBBS) modules.
Workspace Files
You can save the current status and workspaces, including thermodynamic data, conditions,
options and results from a single, stepping or mapping calculation on a *.POLY3 file. The
workspaces are saved to a file with this command. This is useful so you have access to the
workspace for later use or when you need to terminate the current Console Mode session.
l In the Gibbs (GES) module workspace, all thermochemical data are stored.
l In the POLY module workspace, all the last set of conditions and equilibrium state,
changed status, entered symbols, advanced options, defined stepping/mapping
variables, added initial equilibria, stepped/mapped results, etc., are stored, so it also
contain the GES workspace.
l When you are in a response-driven module such as POTENTIAL or SCHEIL for
example, a workspace file is automatically opened. In the workspace file, system
definitions, conditions for the calculation, calculation results, and plot settings are
saved. The file is saved in the current working directory, and is named after the
name of the module that created it. For example, the POTENTIAL module saves a
workspace file called POT.POLY3 ; the POURBAIX module saves a file called
POURBAIX.POLY3 and so forth.
After a SAVE_WORKSPACES command, you can always come back to exactly the
state you had when you issued the command by giving a READ_WORKSPACE
command. For example, after saving the POLY and GIBBS workspaces to a file,
you can leave the program and at a later time READ the file and continue from
the saved state.
A STEP or MAP command automatically saves the workspace with the most
recently specified name. Do not use the SAVE_WORKSPACES command after a
MAP or STEP command.
The results from the STEP or MAP commands are destroyed by the SAVE_WORKSPACE
command. You can append several results obtained by sequential STEP or MAP calculations
without destroying the previous results, whilst SAVE_WORKSPACE erases them all. Keeping this
in mind is important and useful particularly for calculating various isothermal (or isoplethal)
sections and plotting them on the same diagram in a single Thermo-Calc run.
To suspend some of the STEP or MAP results, use the AMEND_STORED_EQUILIBRIA command.
Syntax SAVE_WORKSPACES
A file name must be specified. The default extension of the POLY workspace file is *.POLY3 but
you can have any other file extension.
Linux and Mac are case sensitive so ensure you enter .POLY3.
A Save window displays if a file name is not given after the command, so that the path (in the Save
in field) and File name can be specified. The Files of type cannot be changed.
If there is already a file with the same file name under the directory a warning message displays.
Click OK to overwrite the current POLY or GIBBS workspace onto the existing file. Click Cancel to
Options return to the module. You can use the SAVE command with an unspecified name (i.e. through SAVE
,,, command-sequence) to save the POLY or GIBBS workspace.
When saving a POLY3 workspace under a name that already exists under the
current work area, which is saved by default (after running a special module, e.g.
BIN, TERN, POT, SCHEIL and POURBAIX) or in an earlier stage of the current Console
Mode session or in a previous run (which is READ into the current POLY3
workspace), you can type SAVE,,Y or SAVE_WORKSPACE ,,y. However, this must also
be avoided if some results from previous MAP or STEP calculations shall not be
destroyed.
SET_R_AND_P_NORM
The value of the gas constant (R) is used to define the energy units that are used for input of
data. On output, all data are in SI units. The value of the pressure 1 atm is used to interpret
values of the pressure given by application programs.
Syntax SET_R_AND_P_NORM
Value of gas constant in your energy units /8.31451/: <New value>
Prompts The default value of the gas constant is in SI units (i.e. 8.31451). If you change this value, it only
affects the interpretation of energy data given interactively from the terminal, e.g. if the value is
set to 1.98717 you can give values in Calories.
Value of one bar in your presure units /100000/: <New value>
The value of the pressure given in application programs is divided by this value and then
multiplied with the value of one bar expressed in Pascal before it is used inside the GIBBS module.
BCC_TO_FCC_TRANSFORMATION 343
EVALUATE_SEGREGATION_PROFILE 344
GLOBAL_MINIMIZATION 345
LIQUID_PHASE_NAME 346
SAVE_FILE_NAME 347
SET_NUMERICAL_LIMITS 348
START_WIZARD 350
TEMPERATURE_STEP 353
TERMINATION_CRITERIA 354
USE_BACK_DIFFUSION 355
BCC_TO_FCC_TRANSFORMATION
This command is for the SCHEIL module.
Use this command to allow transformations in the solidified part of the alloy caused by each
of the components specified to be fast diffuser.
Syntax BCC_TO_FCC_TRANSFORMATION
Allow bcc → fcc ? /N/
Prompt
Enter Y to allow transformations.
EVALUATE_SEGREGATION_PROFILE
This command is for the SCHEIL module.
Use this command in order to evaluate a segregation profile while performing the Scheil
calculation. The Scheil calculation itself does not contain a spatial dimension. However, if it
is assumed that the molar volume is constant and equal for all elements, and if a length is
provided over which solidification occurs (for example the secondary dendrite arm spacing)
then the generated profile corresponds to the segregation that would be obtained under the
assumptions of a Scheil calculation. The grid is then equidistant and can be used as input for
a DICTRAsimulation.
The generated text file contains, on each line, the mole fractions of all elements in
alphabetical order at a certain grid point. If the composition is the same on several
consecutive lines it means that the composition of the then remaining liquid has reached a
state in which there are no degrees of freedom.
Syntax EVALUATE_SEGRATION_PROFILE
Evaluate segregation profile? /N/
Prompt If the answer is Y, a segregation profile will be evaluated and saved to disc. Note that
this feature is not supported with back diffusion; if back diffusion is enabled no
segregation profile will be generated.
Enter the number of grid points for the segregation profile. A file dialogue window opens and
allows you to specify the name of the file in which the segregation profile is written.
In a macro file it is possible to enter all arguments on a single line, e.g. EVALUATE_SEGREGATION_
PROFILE Y 100 XF.TXT, meaning that the segregation profile is evaluated over 100 grid points and
saved to a file (XF.TXT) in the current working directory.
GLOBAL_MINIMIZATION
This command is for the SCHEIL module.
Syntax GLOBAL_MINIMIZATION
Use global minimization? /N/
The default (N) does not use global minimization. If you choose Y, the global minimization is done
Prompt 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.
LIQUID_PHASE_NAME
This command is for the SCHEIL module.
Use this command to use the liquid phase name from the database definitions or enter
another phase name.
Syntax LIQUID_PHASE_NAME
Liquid phase name /Default/
Prompt
Default selects the liquid phase from the database definitions, otherwise enter a phase name.
SAVE_FILE_NAME
This command is for the SCHEIL module.
Use this command to save the file. The files get the console number added to this name, e.g.
005.->Scheil_006.POLY3 and Scheil_segregation_profile.txt).
Syntax SAVE_FILE_NAME
SET_NUMERICAL_LIMITS
This command is available for the POLY, Scheil and ED-EXP modules.
Change the criteria for convergence. This is to speed up a calculation in a complex system.
If there is any convergence problem in finding a stable solution at any stage during a
calculation procedure enforced by COMPUTE_EQUILIBRIUM, STEP_WITH_OPTIONS, MAP or
ADVANCED_OPTION S), this message displays:
This implies that smallest site fraction in the current POLY workspace is automatically
increased from the default value 1.00E-30 to the hardware-dependent precision (under
Linux, as 2.00E-14). For other subsequent POLY module calculations, you can use this
command to restore or reset the smallest site fraction to the previous or another preferred
value, as well as to reset other numerical limits.
Syntax SET_NUMERICAL_LIMITS
Maximum number of iterations /500/:
Prompt By default, the program tries 500 iterations before it gives up. As some models give computation
times of more than 1 CPU second/iteration, this number is also used to check the CPU time and
the calculation stops if 500 CPU seconds/iterations are used.
Required accuracy /1E-6/:
This is a relative accuracy, and the program requires that the relative difference in each variable
must be lower than this value before it has converged. A larger value normally means fewer
iterations but less accurate solutions. The value should be at least one order of magnitude larger
than the machine precision.
Smallest fraction /1E-12/:
This is the value assigned to constituents that are unstable. It is normally only in the gas phase you
can find such low fractions.
The default value for the smallest site-fractions is 1E-12 for all phases, except for IDEAL phase with
one sublattice site (such as the GAS mixture phase in many databases) for which the default value
is always as 1E-30 (unless you have used the SET_NUMERICAL_LIMITS command to reset an even-
lower value (e.g. 1E-45, that is naturally enforced to all the phases in the system).
Approximate driving force calculation for metastable phases /Y/:
Normally the POLY module only requires that the set of stable phases is in equilibrium in order to
terminate the iterations. By default, the metastable phases are included in all iterations but these
may not have reached their most favourable composition and thus their driving forces may be only
approximate.
Syntax SET_NUMERICAL_LIMITS
If it is important that these driving forces are correct, choose N to force the
calculation to converge for the metastable phases. This may require more iterations,
and the STEP and MAP command may also terminate due to bad convergence in a
metastable phase.
START_WIZARD
This command is for the SCHEIL module.
Use this command to use the START_WIZARD with step-by-step prompts to create a basic
Scheil simulation.
You are prompted for settings including the major element or alloy, composition input in
mass (weight) percent, the alloying elements, the temperature, fast diffusing components,
and whether any phase should have a miscibility gap check. If back diffusion is enabled using
the USE BACK DIFFUSION command, there are additional prompts included in the Start Wizard
and described below.
The Scheil with back diffusion feature is only available for systems with diffusion
data, i.e. it requires the use of a mobility database.
Use the other commands to make changes to settings that are not included in this wizard.
l BCC_TO_FCC_TRANSFORMATION
l EVALUATE_SEGREGATION_PROFILE
l GLOBAL_MINIMIZATION
l LIQUID_PHASE_NAME
l SAVE_FILE_NAME
l STORED_COMPOSITION_TYPE
l TEMPERATURE_STEP
l TERMINATION_CRITERIA
Syntax START_WIZARD
The following is a list of the prompts. Press <Enter> to accept the defaults that are shown
between the forward slashes (/default/).
Database /<Default>/:
The available thermodynamic database and its version are available to enter (based on license).
Prompt Enter ? for a list.
Major element or alloy:
Syntax START_WIZARD
Set whether to specify the Composition input in mass (weight) percent (the default) or in Mole
percent. Enter Y for mass percent and N for mole percent.
You can specify all the alloying elements and their corresponding compositions on
the same line when you are prompted to specify your first alloying element. For
example, you can enter Cr 5 Ni 1 Mo 0.5 C 0.01 N 0.02.
You can directly specify mass or mole percent after the name (for example, enter Cr 5). If this is
not specified, then you are prompted to enter it separately.
Mass (weight) percent /1/
2nd alloying element:
Specify the other alloying elements in the same way as you specify the first (for example, c 1).
Mass (weight) percent /1/
Next alloying element:
After you have specified your last alloying element, press <Enter> when requested to specify the
next element. This ends the process of defining the bulk composition of the alloy system.
Temperature (C) /2000/:
Enter a value for the temperature in degrees C (Celsius) . This value should be sufficiently high so
that the solidification simulation starts with the alloy system in the liquid single-phase region.
Decide which phases (if any) to reject at the Reject phase(s) prompt. Enter the name of the
phases to reject or press <Enter> for NONE.
Decide whether to Restore phase(s). You may want to restore a phase that you rejected when
you ran the simulation earlier, or you may want to restore a phase that is rejected by default in
your database. Enter the name of the phases to restore or press <Enter> for NONE.
Then you are asked to confirm whether these phases should be retained in this system:
OK? /Y/:
Press <Enter> to accept the default Y or type N and press <Enter>. Thermodynamic data about the
alloy system you defined is retrieved from the database.
Should any phase have a miscibility gap check? /N/:
If you answer Y, you are prompted to specify the Phase with miscibility gap. Answer with a
solution phase name(s) (e.g. FCC) as well as the Major constituents for sublattice (for each
sublattice site) (for this example, Cr is entered for sublattice 1 and C for sublattice 2).
Press Enter to specify another phase.
Fast diffusing components: /None/:
Enter the elements that diffuse fast in solid phases and can assume to be in equilibrium in the
whole phase. E.g. C in a steel.
Syntax START_WIZARD
If the USE_BACK_DIFFUSION command is set to Y to enable back diffusion, the following prompts
are included with the Start Wizard at various points in the set up:
Mobility Database /<Default>/:
The available mobility database and its version are available to enter (based on license). Enter ?
for a list.
You then are shown a list of what phases are available for the database and the defined system
and have the opportunity to reject or restore phases at the next prompts.
Reject phase(s) /NONE/:
Restore phase(s): /NONE/:
Then you are asked to confirm whether these phases should be retained in this system:
OK? /Y/:
Specify the type of temperature time dependence. Press <Enter> to accept this default.
An increased value moves the result from equilibrium toward a Scheil-Gulliver calculation.
Specify the cooling rate in Kelvin per second (K/s). An increased value moves the result from
equilibrium toward a Scheil-Gulliver calculation.
Expression for secondary dendrite arm spacing /CONSTANT/:
Secondary dendrite arm spacing is the distance in meters (m) between two secondary dendrite
arms. Specify the type of secondary dendrite arm spacing by entering CONSTANT (the default) or
POWER_LAW.
An increased value moves the result from equilibrium toward a Scheil-Gulliver calculation. Use
l CONSTANT for a constant dendrite arm spacing. If you choose this, then enter a value for
the Secondary dendrite arm spacing (m) /5E-05/: prompt.
l POWER_LAW in the form c*(cooling rate)^-n where c and n are entered in the next
prompts. If you choose this, then enter a value for the Exponent n /.33/: and Scaling
factor c /5E-05/:
Specify the phase name or Automatic (default) for the primary phase. The primary phase is the
phase where the back diffusion takes place. If Automatic is selected, the program tries to find the
phase which will give the most back diffusion. That behavior can be overridden by selecting a
specific primary phase.
TEMPERATURE_STEP
This command is for the SCHEIL module.
Syntax TEMPERATURE_STEP
TERMINATION_CRITERIA
This command is for the SCHEIL module.
Use this command to define the termination criteria for the fraction of liquid or
temperature.
Syntax TERMINATION_CRITERIA
USE_BACK_DIFFUSION
This command is for the SCHEIL module.
The Scheil with back diffusion feature is only available for systems with diffusion
data, i.e. it requires the use of a mobility database.
The USE_BACK_DIFFUSION command enables back diffusion in the solid primary phase. Once
enabled, there are additional prompts and settings that are included and described with the
START_WIZARD command.
Syntax USE_BACK_DIFFUSION
Use back diffusion? /N/
Prompt
The default (N) does not use back diffusion. If you choose Y, then back diffusion is used.
In this section:
SET_EXTERNAL_PARAMETER 394
SET_FIX_VARIABLE 395
SET_OPTIMIZING_CONDITION 396
SET_OPTIMIZING_VARIABLE 398
SET_OUTPUT_LEVELS 399
SET_SCALED_VARIABLE 400
SET_STORE_FILE 401
For the PARROT Module, this command is the same and is described here. See
ENTER_PARAMETER for the command details.
The identifier must be followed by an opening parenthesis, a phase name, a comma and a
constituent array. Optionally, the constituent array can be followed by a semicolon and a
digit. The parameter name is terminated by a closing parenthesis. The parameter form is
defined as:
l <xxx> and <yyy> are the low and high temperature limits respectively for the
applicable temperature range of the parameter expression;
l <keyword Y or N> is the indicator on if there is continuation for the parameter
expression or not;
l <zzz> is the reference index/number for the assessment of this parameter;
l The exclamation point ! is used to indicate that the current parameter definition is
ended.
Parameter Name
The GES parameter name has a general form of:
<identifier>(<phase>,<constituent array>;<digit>)
The parameter name consists of several parts. The first is a type-identifier and these can be
used:
For more information about the high pressure volume,see X.-G. Lu, M. Selleby,
B. Sundman, ÄImplementation of a new model for pressure dependence of
condensed phases in Thermo-Calc,Ä Calphad. 29, 49–55 (2005).
Phase Name
Specifying the PHASE NAME in uppercase is recommended; however, if you prefer to write it
as a mixture of uppercase and lowercase, it automatically converts all lowercase to
uppercase, as the GIBBS module only recognises uppercase phase names. It is important that
if a phase bears a legal phase-type (among G, A, Y, L, I, F and B) in its phase definition
(already by the PHASE keyword; such as GAS:G, LIQUID:L,SLAG:L, IONIC-LIQ:Y, SPINEL:I, FCC_
L12:F, HCP_D021:F, BCC_B2:B, AQUEOUS:A), such a valid phase-type code should not be
attached to the phase name when ENTER_PARAMETER is executed.
Constituent Array
The constituent array consists of a list of constituent names. Interaction parameters have
two or more constituents from the same sublattice separated by a comma. If the phase has
sublattices, at least one constituent in each sublattice must be specified. The constituents in
different sublattices must be given in sublattice order and are separated by a colon.
After the component array, a sub-index digit can be specified after a semicolon. This digit
must be in the range 0 to 9. The interpretation of the sub-index depends on the excess
energy model used for the phase. If no semicolon and digit are given, the sub-index value is
assumed to be as zero.
The excess energy parameters, e.g. the regular/subregular (binary) parameter or ternary
parameters, are multiplied with two or more fractions of the constituents from the same
sublattice of the solution phase. These additional constituents must be given as interacting
constituents (as the following prompt).
Interaction Parameter
An interaction parameter, which is used to describe the excess term of a quantity, must have
two or more constituents that interact with each other on a specified sublattice site of the
given phase. It is arbitrary which of these constituents is given as the first constituent and
what is given as the interacting constituents. The software always sorts the constituents (in
each sublattice) in alphabetical order when the parameter name is written as a prompt (for
entering its parameter value) and when the parameter is listed (using the GIBBS commands
LIST_PARAMETER or LIST_PHASE_DATA). This is important for all asymmetric interaction
parameters where the sign of the interaction parameter must depend on the appearance
order.
Use an asterisk* to denote that the excess interaction parameter is independent of the
constituents of a specific sublattice. For example, L(FCC_L12,AL,NI:*) means that the
interaction parameter is for the binary interaction between constituents AL and NI on the
first sublattice in the FCC_L12 solution phase, while it is independent of all constituents on
the second sublattice. An interaction parameter in the list of constituents is always added to
the Gibbs energy and the asterisk * is calculated with the term of [1∑y(specified
constituents)], which implies that in an A-B binary system these L parameters are identical
(but in higher-order systems, these are different):
If you press <Enter> when you are asked for a parameter name or if you have improperly
input the entire parameter name, you are asked for each of these items in the name.
AMEND_PARAMETER
This command is for the PARROT module.
There is also a Gibbs (GES) module command with the same name.
Interactively modify the TP-function(s) for a specific parameter for a phase with this
command. This is useful in order to correct typing errors because the old function is made
available for interactive editing on the terminal.
Syntax AMEND_PARAMETER
Parameter: <Parameter name>
Specify a correct parameter name. If a parameter name is not acceptable or <Enter> is pressed,
Prompts the error message displays:
*** Error, please re-enter each part separately
The program prompts for separate input for each part for a parameter name.
Identifier (/X/): <G or L, or TC, or BM, or V0 or VA or VC or VK>
ENTER_PARAMETER
Specify the interacting constituent name; if there is no interacting constituent, press <Enter>.
Interacting constituent (in sublattice # /XYZ/): <Species name>
If there is more than one interacting constituent, specify these; otherwise press <Enter>.
Degree /#/: <Degree>
After the parameter name is specified correctly, the program lists its current definition (either
preset in database or defined by the ENTER_PARAMETER command), such as:
L(PHASE2,AL,MG;1)=
298.15<T<2000.00: +5000
2000.00<T<4500.00: +4500
4500.00<T<6000.00: +4000
Syntax AMEND_PARAMETER
Enter Y to change the number of ranges for the chosen function, or change some of the
temperature limits in the definition, then retype both the low/high temperature limits and
functions
If you do not want to change the number of ranges but want to change the function(s) in one or
more ranges, press <Enter> and the whole definition of the chosen parameter in all ranges (if
any) is listed such as:
DIFFERENT FUNCTIONS IN THESE RANGES
298.15<T<2000.00
2000.00<T<4500.00
4500.00<T<6000.00
If there is more than one range, this question is prompted. Press <Enter>.
Range number (0 to exit) /0/: <Range number>
If the function of a parameter is different in two or more temperature ranges, you must specify
the range of the function of which you want to amend. Or press <Enter> or type 0 to exit this
command without making any change.
Function
The previous function is available for editing. The editing is performed within the general
subroutine FOOLED, as described in AMEND_SYMBOL. This routine prompts as follows:
1:+:>
The prompt consists of the current position in the string and the character at that position
between colons, (::).
Commands
These commands can be given:
l Help: ?
l Move CP to last or first character: <+/-> A
l Delete characters from CP: <+-#characters> D
l Exit: E
l Find: <#occurrences> F<string>@
l Insert: I<string>@
l Move: <+-#positions> M
l Restore string: R
Syntax AMEND_PARAMETER
l Substitute: S<OLD>@<NEW>@
l Type string: T
Where CP denotes the current position in a string, # means number of, @ is a terminator of an
input or search string.
When the string is typed the character at the current position is replaced by an
underscore _.
Give a range number to edit that function, or press <Enter> or type 0 to exit this command.
AMEND_SYMBOL
This command is for the PARROT module.
The same command is also available for the Gibbs (GES) module.
Interactively calculate the current values of a function or table (predefined by the switched
database or previously entered with ENTER_SYMBOL) at the current temperature and pressure
condition, and also possible to modify the definitions of variables or functions.
The current values of the temperature and pressure used to calculate the
functions or tables are the ones listed with LIST_STATUS. There is no way to
change the current temperature and pressure values interactively.
Syntax AMEND_SYMBOL
Name: <Symbol name>
For variables and functions (or parameters), there are additional prompts and depend on the
symbol type.
For a variable, its current value is displayed, and you can change it to a new value:
Value /Current value/: <New value>
Syntax AMEND_SYMBOL
Enter Y to change the number of ranges for the function, or change some of the temperature
limits in the definition, then retype both the low/high temperature limits and functions (see all the
remaining details in the ENTER_SYMBOL command.
If you do not want to change it, press <Enter>. The definition of the chosen function in all ranges
(if any) is listed, for example:
DIFFERENT FUNCTIONS IN THESE RANGES
298.15<T<2000.00
2000.00<T<4500.00
4500.00<T<6000.00
If a function is different in two or more temperature ranges, you must specify the range of the
function of which you want to amend. Or press <Enter> or type 0 to exit this command without
making any change.
Range number (0 to exit) /0/: <Range number>
Function:
The previous function is available for editing. The editing is performed within the general
subroutine FOOLED. This routine prompts as follows:
1:+:>
The prompt consists of the current position in the string and the character at that position
between colons (::).
Commands
These commands can be given:
l Help: ?
l Move CP to last or first character: <+/-> A
l Delete characters from CP: <+-#characters> D
l Exit: E
l Find: <#occurrences> F<string>@
l Insert: I<string>@
l Move: <+-#positions> M
l Restore string: R
l Substitute: S<OLD>@<NEW>@
l Type string: T
Where CP denotes the current position in a string, # means number of, @ is a terminator of an
input or search string.
Syntax AMEND_SYMBOL
When the string is typed the character at the current position is replaced by an
underscore _.
COMPILE_EXPERIMENTS
The descriptions of the experimental equilibria saved on a textual *.POP file, given as
commands in the POLY and ED_EXP syntax, is compiled by this command into the PARROT
structured data, i.e. stored into the current work *.PAR file which is created with CREATE_
NEW_STORE_FILE, set by SET_STORE_FILE , or opened with READ_PARROT_WORKSPACES,
all done before COMPILE_EXPERIMENTS.
This command also lists the compilation details on screen or onto a listing file (*.TXT).
After a successful compilation, the program translates all the experimental data points in
the *.POP file into a graphical experimental data file (*.EXP) in the DATAPLOT syntax, which
can be further edited and used as a graphical experimental data file (*.EXP) for the purposes
of imposing onto calculated/plotted phase diagrams and/or property diagrams for
comparisons during the assessment process.
Syntax COMPILE_EXPERIMENTS
A window displays to open the original experimental data file (*.POP). Enter a *.POP File name
box, and specify the working directory in the Look in box. Normally the default file-type in the
Files of type field is the correct one for the experimental data format (i.e. *.POP file). Click Open
or Cancel button as applicable.
Output to screen or file /Screen/: <*.pop file name>
Prompts A list of the source code in the *.POP file and error messages during compilation is written on
screen (by pressing <Enter>) or on a list *.TXT file under a specific file name which can later on be
opened and edited by any basic textual editor.
Initiate store file /Y/:
After a successful compilation, the data in the POLY workspace is stored as a new block of
equilibria on the current work (store) file. By default the store file is initiated before compilation
and only the compiled block is stored on the current work file (consequently, the *.PAR file is
updated).
A window displays to generate/store the graphical experimental data file (*.EXP) in the DATAPLOT
syntax. Enter a *.EXP file name in the File name field and specify the working directory when
opening the *.EXP file in the Look in field. Normally the default file type in the Files of type field is
the correct one for the graphical experimental data format (i.e. *.EXP file). Click Open or Cancel
as applicable.
To keep the current work file, enter N.
CONTINUE_OPTIMIZATION
This command is for the PARROT module.
This command continues the optimization using the same Hessian matrix.
Syntax CONTINUE_OPTIMIZATION
Are you sure? /N/: <N or Y>
You can accept the default (N) in order to cancel this special attempt.
Number of iterations /N/: <Integral number of iteration>
Specify an integral number for the optimization iteration. The specified iteration number is shown
as the default number. The PARROT program tries this exact number of different sets of values of
the optimizing variables without stopping the optimization even it would have converged earlier
or should give up earlier.
CREATE_NEW_STORE_FILE
This file is hardware dependent and cannot be read by any text editor.
Create a binary file to be used as a work file (also called store file) before any optimization
can be done. The workspace used by the GIBBS, POLY and PARROT modules is stored
automatically on the work file but not any experimental information. The binary work file
has a default extension of PAR under MS-Windows or par under Linux/UNIX.
A work file that is created at a previous run can be used in the PARROT module with the
other command SET-STORE-FILE.
Syntax CREATE_NEW_STORE_FILE
Prompt A Save window displays. Enter a File name and specify the working directory in the Save in field.
Normally the default file-type in the Files of type field is the correct one for the PARROT
workspace format (i.e. PAR file). Click Save or Cancel as applicable.
EDIT_EXPERIMENTS
Initialize and make available the sub-module for editing experimental equilibria, i.e. the ED_
EXP module. All experimental equilibria compiled from the *.POP file can be accessed in the
ED_EXP module.
The ED_EXP module is similar to the normal POLY module, but some commands are special
and some POLY commands are not available. In the ED_EXP module, you can calculate each
equilibrium separately or together, provide start values for equilibria which failed to
converge, set weights, and modify the values of experiments or conditions.
Syntax EDIT_EXPERIMENTS
You are now in this submodule and can start using the commands.
l The first required command after entering the ED_EXP module for the first time
(from the PARROT module GOTO MODULE ED-EXP) should always be READ_BLOCK in
order to load the experimental data block from the current work *PAR-file for
editing.
l The READ_BLOCK command must also be used prior to any other ED_EXP command if
the module is reinitiated, or if no experimental data block is not previously read from
a work file compiled with a proper experimental data .POP file, or if you want to
change to another data block for editing.
l If any change is made in the ED_EXP module remember to use the command SAVE_
WORKSPACE before going BACK to the PARROT module.
ENTER_PARAMETER
This command is for the PARROT module.
There is also a Gibbs (GES) module command with the same name.
Use this command to enter TP-function(s) for a specific parameter for a phase interactively
with this command. If there is already a parameter expression defined (for this parameter),
that is deleted and replaced with newly entered one.
The entered TP-Function(s) for the parameter can be changed later with the command
AMEND_PARAMETER.
Syntax ENTER_PARAMETER
Parameter: <Parameter name>
<Identifier>(<Phase>,<Constituent array>;<Digit>)
Prompts
If a parameter name is not acceptable or <Enter>, is pressed, a message displays:
*** Error, please re-enter each part separately
and you are prompted for input for each required part for a parameter name.
A parameter is identified by the constituents on a specified sublattice site of the given phase,
the stoichiometric coefficients of which are multiplied with the parameter. The name of the
constituent can be abbreviated.
Constituent
If this command is used one or more times, the previous value on this prompt is set as default.
Accept it by pressing <Enter> if the constituent is the same, or specify a new species name.
Syntax ENTER_PARAMETER
For phases with several sublattices, the program asks for one constituent in each sublattice.
Interacting constituent (in sublattice # /XYZ/): <Species name>
If this command is used one or more times, the previous value on this prompt is set as default.
Press <Enter> to accept it if the constituent is the same, or specify a new species name.
Interacting
constituent
To cancel the default value of the interacting constituent type NONE or the name
of another constituent.
This question is repeated until all the interested interacting constituent(s) on a specific
sublattice in the phase are specified, and finally an <Enter> is enforced.
Degree /#/: <Degree>
After this prompt, the program echoes on the screen the full TP-Function of the phase
parameter.
Low temperature limit /298.15/: <Lowest temperature limit in K>
Specify the lowest temperature limit (in Kelvin), or the lowest-pressure limit (in Pascal but
entered as a negative number), for the current TP-Function.
Function: <Definition for a function>
Specify the high temperature limit (in Kelvin), or the high-pressure limit (in Pascal; only if the
lowest limit is entered as a negative number) for the current TP-Function.
Any more ranges? /N/:
LIST_ALL_VARIABLES
This command is for the PARROT module.
Create a list of the values and status of all variables in the PARROT workspace on screen or
in a text file. After an optimization some statistical information is also written. The
correlation matrix is written if that option is chosen.
SET_OUTPUT_LEVELS.
Syntax LIST_ALL_VARIABLES
Output to screen or file /Screen/: <File name>
Prompt A list of the current values and status, as well statistical information (if after optimization) and the
correlation matrix (optionally), for all variables is written on screen (by pressing <Enter>) or on the
list file under a specific file name which can later on be opened and edited by basic text editor.
Example
The following is the listed variables for the example TCEX36, after the first optimization when
having set all variables available for optimization.
== OPTIMIZING VARIABLES ==
AVAILABLE VARIABLES ARE V1 TO V00
VAR. VALUE START VALUE SCALING FACTOR REL.STAND.DEV
V1 2.03729090E+04 2.03688352E+04 2.03688352E+04 3.41524152E+00
V2 -2.94286372E+01 -2.94286372E+01 -2.94286372E+01 2.37944771E+00
V11 -2.17373936E+04 -2.18095983E+04 -2.18095983E+04 3.97086303E-02
V12 1.52107184E+01 1.51660547E+01 1.51660547E+01 5.84552327E-02
V15 2.42082351E+04 2.45139169E+04 2.45139169E+04 5.00914471E+00
V16 -8.38723972E+00 -8.83460472E+00 -8.83460472E+00 1.60961318E+01
V17 3.08916533E+03 3.15802558E+03 3.15802558E+03 9.63738108E+00
V19 2.20292586E+04 2.21385673E+04 2.21385673E+04 4.14274011E+01 V20 -
7.04217974E+00 -7.22424882E+00 -7.22424882E+00 1.00561540E+02
NUMBER OF OPTIMIZING VARIABLES : 9
ALL OTHER VARIABLES ARE FIX WITH THE VALUE ZERO
THE SUM OF SQUARES HAS CHANGED FROM 8.00002729E+04 TO 8.00002719E+04
DEGREES OF FREEDOM 45. REDUCED SUM OF SQUARES 1.77778382E+03
LIST_CONDITIONS
This command is for the PARROT module.
Use this command to generate a list of the current values of optimization conditions, as well
the current status of listing, either on screen or in a basic text file which can be opened and
edited by a text editor.
Syntax LIST_CONDITIONS
Output to screen or file /Screen/: <File name>
Prompt
Press <Enter> to output to screen or on the list file under a specific file name.
LIST_PARAMETER
This command is for the PARROT module.
There is also a Gibbs (GES) module command with the same name.
List the TP-function(s) of a specific parameter for a phase. You must supply the name of the
phase parameter:
The parameter name: <Identifier>(<Phase>,<Constituent array>;<Digit>)
For encrypted commercial databases, you may not be able to use this command
to list any retrieved parameter.
Syntax LIST_PARAMETER
Parameter: <Parameter name>
Specify a correct and complete parameter name, which should contain all the necessary parts of
the general form: <identifier>(<phase>,<constituent array>;<digit>)
The program prompts for separate input for each required part for a parameter name.
Identifier (/X/): <G or L, or TC, or BM, or V0 or VA or VC or VK>
Specify the constituent name on the specified sublattice site of the given phase.
Interacting constituent (in sublattice # /XYZ/): <Species name>
Specify the interacting constituent name on the specified sublattice site of the given phase; if
there is no interacting constituent, press <Enter>.
Interacting constituent (in sublattice # /XYZ/): <Species name>
If there is more than one interacting constituent on the specified sublattice site of the given
phase, specify them; otherwise press <Enter>.
Syntax LIST_PARAMETER
Degree /#/: <Degree>
LIST_PHASE_DATA
This command is for the PARROT module.
List all the phase from the Gibbs (GES) module for a specific phase. These are displayed on
screen. The thermochemical parameters listed for each phase are always in SI units.
Syntax LIST_PHASE_DATA
Phase name: <Phase name>
Prompt
Specify a phase name.
LIST_RESULT
This command is for the PARROT module.
List the result of the current optimization run on screen or in a specified file. The level of
detail listed can be prescribed by the command SET_OUTPUT_LEVELS.
The LIST_RESULT command has an option G for creation of an experimental data file with
two columns, one for the experimental value and the other for the calculated value. It allows
plotting a diagram and visualizing the fitting results. The plot is automatically plotted and
you can scale it giving commands in the POST module. The option D lists all experiments,
including those with fulfilled inequalities which are suppressed with the default option C.
Syntax LIST_RESULT
Choose a format.
A list of the current optimization results are written on screen (by pressing <Enter>) or on the list
file under a specific file name which can later on be opened and edited by basic text editor.
Syntax LIST_RESULT
l A paragraph describing the alternate equilibria (and possible error during optimization);
l A detailed list on all the equilibrium points used in the current optimization. If the
alternate-mode is used in the optimization, only an error value is shown. For normal-
mode calculations, a list is shown for the experimental equilibrium numbers (first column)
and corresponding original experimental data (second column, in the form quantity =
value) which are used in optimization (i.e. non-zero weighted points). Such experimental
data are by each point compared by the calculated value (third column) after the last
optimization. Also listed are the experimental error (column 4), the difference between
the calculated value and original experimental data (column 5), and the contribution to
the sum of least square (column 6).
Example
The following is the listed result after the first optimization based on the prescribed
definitions in the TCEX36a.TCM and TCEX36b.TCM, but having set all variables available for
optimization.
=====================================================
OUTPUT FROM P A R R O T.
*** SUCCESSFUL OPTIMIZATION. *** NUMBER OF ITERATIONS: 10
== OPTIMIZING CONDITIONS ==
RELATIVE STANDARD DEVIATIONS FOR EXPERIMENTS: N
MINIMUM SAVE ON FILE: Y
ERROR FOR INEQUALITIES = 1.00000000E+00
RELATIVE STEP FOR CALCULATION OF DERIVATIVES = 1.00000000E-04
ARGUMENTS FOR SUBROUTINE VA05AD (HSL)
MAXFUN = 1 DMAX = 1.00000000E+02 H = 1.00000000E-04 ACC = (INITIAL
SUM OF SQUARES) * 1.00000000E-03
== OPTIMIZING VARIABLES ==
AVAILABLE VARIABLES ARE V1 TO V00
VAR. VALUE START VALUE SCALING FACTOR REL.STAND.DEV
V1 2.03749463E+04 2.03729090E+04 2.03729090E+04 3.41455863E+00
V2 -2.94286372E+01 -2.94286372E+01 -2.94286372E+01 2.37944774E+00
V11 -2.17395673E+04 -2.17373936E+04 -2.17373936E+04 3.98405298E-02
V12 1.52107184E+01 1.52107184E+01 1.52107184E+01 5.82861832E-02
V15 2.42106560E+04 2.42082351E+04 2.42082351E+04 5.07239609E+00
V16 -8.38723972E+00 -8.38723972E+00 -8.38723972E+00 1.69546796E+01
V17 3.08947424E+03 3.08916533E+03 3.08916533E+03 9.85220694E+00
LIST_STORE_FILE
This command is for the PARROT module.
Use the LIST_STORE_FILE command to display the name of the store file and its full path.
LIST_SYMBOL_IN_GES
This command is for the PARROT module.
Lists TP-function(s) for the entered model parameters for phases in the system on screen. In
many cases, the optimizing variables are parts of the TP-functions which in turn are entered
in model parameters for various phases in the GIBBS workspace.
This command is a way to find out how the functions depend on the optimizing variables. In
the PARROT module the list is only shown on screen, not written to any file (which the LIST_
SYMBOL command in the GIBBS module does).
Syntax LIST_SYMBOL_IN_GES
Name: <Symbol name>
OPTIMIZE_VARIABLES
This command is for the PARROT module.
Perform variable optimization. All system-definition data needed for the optimization is read
from the current work file (*.PAR). The result of the optimization is automatically stored in
the current work file.
Syntax OPTIMIZE_VARIABLES
Number of iteration /N/: <Integral number of iteration>
Prompt Specify an integral number for the optimization iteration. The specified iteration number is shown
as the default number. The PARROT module tries this number of different sets of values of the
optimizing variables unless it has converged earlier, or has given up earlier.
It initially takes a small step in each variable to find the steepest slope. You can give
zero iteration to calculate the error in all selected experiments, and then use LIST_
RESULT to check how good (bad) the current fit is.
READ_PARROT_WORKSPACES
This command is for the PARROT module.
Workspace Files
Syntax READ_PARROT_WORKSPACES
The previous PARROT/GIBBS/POLY workspaces are always associated with the latest action to either
open a work file by SET_STORE_FILE, or to create a work file by CREATE_NEW_STORE_FILE (either
interactively in the PARROT module or through a MACRO_FILE_OPEN of an *SETUP.TCM file), or to
update the work file by SAVE_PARROT_WORKSPACES.
Unlike the READ commands in other modules (e.g. GIBBS or PLOY), this command in the PARROT
module does not ask for the file name where to read a previously opened/created/updated
PARROT/GIBBS/POLY workspaces, for the reason described above.
You cannot use this command if there is no work file opened or created already.
RECOVER_VARIABLES
The RECOVER_VARIABLES command is used to set back the values of all variable to the start
values.
REINITIATE
This command should not be used unless you want to destroy the current
PARROT workspace. However, this PARROT command does not reinitiate the
GIBBS/POLY3 workspaces.
The REINITIATE command is used to reinitiate the workspace used by PARROT. All output and
optimizing conditions are given their default values. All variables are set fixed with their
value equal to zero.
RESCALE_VARIABLES
When using the RESCALE_VARIABLES command, the current values of all the parameters are
copied to their start values and the scaling factors for further optimization. Thus it should be
done now and again, in particular if you think the optimization results are improved after
the previous run(s), or if any variable changes more than a factor of 10.
SAVE_PARROT_WORKSPACES
This command is for the PARROT module.
If the latest changes made through various PARROT/GIBBS/POLY commands are as required,
use this command to save the current workspace (i.e. data area) used by the PARROT
program (also including the current GIBBS and POLY workspaces), onto the present work
*.PAR file which has already been opened by SET_STORE_FILE or been created by CREATE_
NEW_STORE_FILE (either interactively in the PARROT module or through a MACRO_FILE_OPEN
of an *SETUP.TCM file).
Workspace Files
Syntax SAVE_PARROT_WORKSPACE
Unlike the SAVE commands in other modules (e.g. GIBBS or PLOY), this command in
the PARROT module does not ask for the file name where to save the current
PARROT/GIBBS/POLY workspaces, for the reason described above. You cannot use
this command if there is no work *.PAR file opened or created already.
SET_ALTERNATE_MODE
Turn the alternate mode on or off.
With the ALTERNATE mode is possible to include functions to be evaluated together with an
alternate calculation and to select ALTERNATE mode for each experimental equilibrium.
The alternate mode is described in About Alternate Mode. It should be used only
to optimize start values of the model parameters in the beginning of the
assessment.
Syntax SET_ALTERNATE_MODE
On /Y/:
Prompt
By default alternate mode is ON.
SET_EXTERNAL_PARAMETER
This command is for the PARROT module.
Optimize model parameters of the so-called external models, which may not be as fully-
implemented/integrated parts inside the GIBBS system and thus are independently defined
within user-specified/written source codes. This command makes links between the PARROT
optimizing variables and external model parameters.
In order to be able to build the specified external model and to use this SET_
EXTERNAL_PARAMETER command, it requires you to first write codes for a
preferred external model (as it is not within the standard GIBBS system of the
Thermo-Calc software) and then provide it to a consultant at Thermo-Calc
Software AB for the purpose of including the external model in a separate DLL
that is interactively connected to the software. For more information, see
theConsultancy page on our website.
Syntax SET_EXTERNAL_PARAMETER
External name: <Parameter name in the external model>
Prompt
Correctly specify the parameter name defined within a specified/written external model.
As optimizing variable number: <n>
Give the number of the PARROT optimizing variable, which should have a unique link to the
specified parameter name of the external model.
For example, @@ Link PARROT variables to CAM parameters:
SET-EXTER-PAR GT(SLAG_A,O-2,SI+4,CA+2) 1
SET-EXTER-PAR ET(SLAG_A,O-2,SI+4,CA+2) 2
SET-EXTER-PAR EXT(SLAG_A,O-2,SI+4,CA+2) 3
SET_FIX_VARIABLE
Prescribe a fixed value to a variable. The variable is considered as a constant at the
optimization, usually after successful optimization runs for some specific variables (for some
of the phases in the system). Such fixed variables can also be set back for further
optimization run by using SET_OPTIMIZING_VARIABLE.
Syntax SET_FIX_VARIABLE
Variable number: <Variable number(s)>
Prompts Specify the number of the variable. It is possible to give a range by giving two numbers with a
hyphen in between (no spaces allowed), e.g. l. The parameters within the limits are set fixed to
their current values (no question of values).
Start value /xxxx.xxxxx/: <A value to be fixed>
Specify a numerical value to be fixed for the selected variable (only when one variable number is
specified at the previous prompt). The current value for the selected variable is shown as default.
If a range of variable numbers is specified at the previous prompt, this question is not prompted,
and the current values are used as fixed values.
SET_OPTIMIZING_CONDITION
This command is for the PARROT module.
Specify the conditions for the optimization. The default values are chosen automatically by
the PARROT program, and in most cases these should not be changed.
The optimization stops when the sum of errors decreases by this value, even
though it might be possible to increase it further with a new OPTIMIZE command.
Syntax SET_OPTIMIZING_CONDITION
Relative standard deviation for experiments? /N/:
By default the standard deviation of the experimental determinations are absolute values. Enter
Y if these are used as relative weighting factors.
The estimated standard deviations of the optimized variables might be different for
the two cases.
Specify whether the program should minimize the transfer of data to and from the current work
file during the optimization:
Prompt l If the default (N) is kept, the workspaces are stored on the current work file after every
iteration in the optimization procedure.
l Enter Y to speed up the optimization. After optimization use the SAVE_PARROT_
WORKSPACES command to update the progress onto the current work file.
In the calculation of the correlation matrix for equilibria with inaccuracy in the independent state
variables, some numerical derivatives might have to be calculated.
Specify the relative step (xxx) for the calculation of these derivatives.
Maxfun (va05ad): /100/: <n>
The maximum number of iterations in the optimization. The same value set by the OPTIMIZE
command.
Dmax (va05ad): /100/: <n>
An estimate of the maximum distance between the start and the final values of the variables. A
smaller value makes the program vary the parameters with smaller factors.
H (va05ad): /1e-04/: <xxx>
The step used in the scaled variables for calculating numerical derivatives during the optimization.
Syntax SET_OPTIMIZING_CONDITION
Acc/(initial sum of squares) (va05ad): /.001/: <xxx>
The break condition for the optimization. The accepted value is the difference between the true
minimum and the calculated one.
SET_OPTIMIZING_VARIABLE
This command is for the PARROT module.
Specify which variable value should be estimated at the optimization. Such a variable can
have a value of zero or another start value, or is fixed by SET_FIX_VARIABLE prior to the
previous optimization run.
For a good reference prior to this command, a list of all variables (which are used to define
various parameters for phases in the optimizing system, as pre-entered in the *SETUP.TCM
file or interactively entered in the GIBBS module) are obtained by using LIST_ALL_VARIABLES.
Syntax SET_OPTIMIZING_VARIABLE
Variable number: <Variable number(s)>
Specify the number(s) for the variable(s) to be set. Any non-zero parameter within the range is
allowed to be optimized. A parameter with a current value equal to zero must be specified
Prompts explicitly here in order to be optimized.
Specify a range by giving two numbers connected by a hyphen (no space allowed!), e.g. 2-8.
Under this circumstance, no question of start values are asked.
Start value /xxxx.xxxxx/: <A guess value>
Specify a start guess of the optimum value (only when one variable number is specified at the
previous prompt). The current numerical value for the selected variable is shown as default.
This guess is critical as the initial guess of all parameters must make it possible to
calculate the selected equilibria. If a range of variable numbers is specified at the
previous prompt, this question is not prompted, and the current values (as start
values) are not changed.
SET_OUTPUT_LEVELS
This command is for the PARROT module.
Choose the type of information the PARROT module gives during the optimization procedure
and when listing results.
Syntax SET_OUTPUT_LEVELS
List increment /1/: <Increment in iteration number>
Prompts Specify the increment in iteration number for which information is listed on screen during the
optimization. By giving a larger number it shortens the list.
List sum of squares: /Y/:
Choose whether the sum of squares is listed on screen during the optimization procedure.
List scaled variables: /Y/:
Choose whether the scaled variable values are listed on the terminal during the optimization
procedure.
List weighted residuals: /N/:
Choose whether the weighted residuals are listed on the terminal during the optimization
procedure.
List all parameters: /N/:
Choose whether the correlation matrix of the variables are listed with the commands LIST_RESULT
and LIST_ALL_VARIABLES.
SET_SCALED_VARIABLE
This command is similar to SET_OPTIMIZING_VARIABLE in that it specifies start values for
optimizing variables. The difference being it is functional for only one optimizing variable at
one time. It also prescribes a minimum and maximum value for the variable. During the
optimization runs, the variable value is limited within this min-max range.
Such a variable may have a value of zero or another start value, or may be fixed by SET_FIX_
VARIABLE prior to the previous optimization run. For a good reference prior to using this
command, a list of all variables (which are used to define various parameters for phases in
the optimizing system, as entered in the *SETUP.TCM file or interactively entered in the
GIBBS module) is obtained by using LIST_ALL_VARIABLES.
Syntax SET_SCALED_VARIABLE
Variable number: <Variable number(s)>
Prompts Specify the number for an optimizing variable to be set. Any non-zero parameter is allowed to be
optimized, and a parameter with a current value equal to zero must be specified explicitly here in
order to be optimized.
Start value /xxxx.xxxxx/: <A guess value>
Specify a start guess of the optimum value. The current numerical value for the selected variable
is shown as default.
This guess is critical as the initial guess of all parameters must make it possible to
calculate the selected equilibria.
Specify a minimum guess of the optimum value. It should be smaller than, at least equal to, the
current start value for the selected variable.
Max value /xxxx.xxxxx/: <A guess value>
Specify a maximum guess of the optimum value. It should be larger than, at least equal to, the
current start value for the selected variable.
SET_STORE_FILE
This command is for the PARROT module.
Specify a store file (work file) to be used for compilation and optimization. The *.PAR work
file must be created (CREATE_NEW_STORE_FILE) as a store file. The GIBBS, POLY and PARROT
workspaces are read from the specified store file (with a default extension of PAR).
Syntax SET_STORE_FILE
Enter a *.PAR file name in the File name field and specify the working directory in the Look in
Prompt field. Normally the default file-type in the Files of type field is the correct one for the PARROT
workspace format (i.e. *.PAR file). Click Open or Cancel as applicable.
In this section:
ADVANCED_OPTIONS 405
CHANGE_STATUS 406
COMMENT 411
COMPUTE_ALL_EQUILIBRIA 412
CREATE_NEW_EQUILIBRIUM 413
DEFINE_COMPONENTS 414
DELETE_SYMBOL 415
ENTER_SYMBOL 416
EVALUATE_FUNCTIONS 418
EXPERIMENT 419
EXPORT 421
FLUSH_BUFFER 422
GRAPHICS_PLOT 423
IMPORT 424
LABEL_DATA 425
LIST_ALL_EQUILIBRIA 426
LIST_CONDITIONS 427
LIST_EQUILIBRIUM 428
LIST_STATUS 429
LIST_SYMBOLS 430
MAKE_POP_FILE 431
READ_WORKSPACES 432
REINITIATE_MODULE 433
RESTORE_ALL_WEIGHTS 434
SAVE_WORKSPACES 435
SELECT_EQUILIBRIUM 436
SET_ALL_START_VALUES 437
SET_ALTERNATE_CONDITION 439
SET_CONDITION 442
SET_NUMERICAL_LIMITS 445
SET_REFERENCE_STATE 447
SET_START_CONSTITUTION 449
SET_START_VALUE 450
SET_WEIGHT 451
SHOW_VALUE 453
STORE_ALL_WEIGHTS 454
TABLE_HEAD, TABLE_VALUES and TABLE_END 455
TRANSFER_START_VALUES 457
ADVANCED_OPTIONS
This command is available with the POLY and ED-EXP modules.
Syntax ADVANCED_OPTIONS
CHANGE_STATUS
This command is available with the POLY and ED-EXP modules.
In the POLY module, set the status for components, species and phases in the defined system
for all the sequential calculations (single-point, stepping, and mapping) in equilibrium or
local/partial equilibrium state. Each component, species and phase has a status. The default
status is ENTERED.
The most important use is to calculate metastable equilibria and metastable phase diagrams
by setting some phases (that would otherwise be stable) to the SUSPENDED or DORMANT
phase-status. Another important applications is to calculate paraequilibria by setting some
components to the SPECIAL component-status.
For a component and for a species, the status can be one of the following:
l ENTERED: the component(s) or species are included in the calculation. This is the
default status.
l SUSPENDED: the component(s) or species are not considered in the calculation.
l SPECIAL: the specified component(s) are not included in summations for mole or
mass fractions. It only works for component(s).
Only component(s) can have the status SPECIAL, which implies that these are
not included in summations for mole or mass fractions.
For example, for the u-fractions or other normalized fractions, when one or more of the
components are excluded from the summation, you must specify which component(s) should
be excluded from the calculation of mole or mass fraction. This component status is
particularly useful when calculating paraequilibrium states. Such component(s) are normally
interstitial component, and must have the status SPECIAL. This is assigned by the CHANGE_
STATUS command.
Syntax CHANGE_STATUS
For phases, species or components? /Phases/: <Keyword>
Prompts
Keyword = phase or species or components
Phase name(s): <Name(s) of the phase(s)>
For phase as the keyword, the names of the phases that have their status changed must be given
(all on one line). A comma or space must be used as separator. The status to be assigned to the
phases can also be given on the same line if preceded with an equal sign (=).
Syntax CHANGE_STATUS
An asterisk, *, can be used to denote all phases. The special notations *S, i.e. a
wildcard * directly followed by an S, sign, means all suspended phases. In the same
way, *D means all dormant phases, and *E means all entered phases.
For species or components as the keyword, the names of the species or components that have
their status changed must be given (all on one line). A comma or space must be used as separator.
Similarly to the case of phase as the keyword, the status to be assigned to the species or
components can also be given on the same line if preceded with an equal sign =.
For the POLY module, using the Entered or Suspended status here has the same
result as using the commands MAKE_COMPONENT_ENTERED and MAKE_
COMPONENT_SUSPENDED. The exception is that any existing conditions that
depend on a suspended component are removed when using the MAKE_
COMPONENT_SUSPENDED command.
For components, the status ENTERED, SUSPENDED or SPECIAL can be given. SPECIAL means that this
component is excluded from sums for mole fractions and mass fractions, which is useful when
calculating the ufractions or other normalized fractions of system components.
For phases, the status ENTERED, SUSPENDED, DORMANT or FIXED can be given. DORMANT means the
same as suspended but the driving force is calculated. FIXED means that it is a condition that the
phase is stable at a certain amount.
For example, for the ufractions, when one or more of the components are excluded from the
summation, you must specify which component should be excluded from the calculation of the
mole fraction. This component must have the status SPECIAL. This is assigned by the CHANGE_
STATUS command: Change_Status comp C=special.
For ENTERED phases, an initial amount of the phase can be given. Normally, 0 is given if the
phase is not likely to be stable, and 0.5 or 1 or any positive number if the phase could be stable,
but such an initial amount is only used as the rough starting estimation in the equilibrium
calculations.
Number of mole formula units /0/: <Equilibrium amount>
For FIXED phases, the equilibrium amount of the phase [always using an initial estimation being
Syntax CHANGE_STATUS
the NPF(phase) value which it is the normalized mole number of components (per mole formula
unit) of the specific status-fixed phase] must be given. If the equilibrium amount is zero, then the
phase is at its stability limit.
If in the same Fe-Cr-Ni-C-N-O system the liquid solution phase is modeled by the Two-Sublattice
Ionic Liquid Model, i.e.:
IONIC_LIQ (Cr+3,Fe+2,Ni+2)p(VA,C,N,O-2,FEO3/2)q,7
where the stoichiometric coefficients p and q are also dependent upon the real equilibrium state
(rather than having fixed values in the system). Similar situations occur for other (solid) phases
which are described by a multiple sublattice model with ionic constituents, such as SPINEL and
HALITE phases in some databases.
There is no strange thing when using a zero value [i.e. 0] in a FIXED phase-status, since it means
the specified phase is stable in equilibrium state but has a zero-amount of mass in the equilibrium
calculations; in other words, on a phase diagram, the specific phase is on a zero-fraction line (ZFL),
i.e. it starts becoming stable on one side of a corresponding phase-boundary line or unstable on
the other side of the same boundary. It is often and efficient to do so when calculating e.g. solidus
equilibrium states.
Syntax CHANGE_STATUS
However, when a non-zero value [it must always be positive; e.g. 1 or 0.5 or 0.3 or 1.5] is to be
specified in a FIXED phase-status, it is unnecessarily the exactly same stable amount of the specific
FIXED-status phase in a calculated equilibrium state any longer; instead, the <equilibrium amount>
value is the NPF(phase) value that is only roughly used as the estimated starting-value of the
FIXED-status phase in the equilibrium calculations.
Therefore, a FIXED-status for a liquid phase being unity does not necessarily imply that it is a
liquidus equilibrium state (where the liquid phase is in equilibrium with some solid phases but the
liquid phase takes all the mass in the defined system). A unity value for setting the liquid phase
status in calculating liquidus equilibrium state can only be used when the liquid mixture phase is
predefined as a single-sublattice solution phase (such as metallic liquid phase in multicomponent
alloy systems) and the total system size as one mole (i.e. N=1).
When a phase is described by a solution model in which two or more sublattices are considered
and these sublattice sites may also have different stoichiometric coefficients [meaning that the
mixture phase could have more than one atom in formula [NA>1; see some examples above], the
unity value should not be used when setting the FIXED status for the phase; instead, you should
use an appropriate value that ranges from 0 to a NPF(phase) value that equals to or is smaller than
1/NA (if the total system size N=1) or 1/NA*N (if N differs from unity). For this reason, if a
multicomponent system bears an IONIC_LIQUID phase that is described by the Two-Sublattice
Ionic Liquid Model (or any other multiple-sublattice ionic solution phases), it is difficult to use a
proper NPF(ION_LIQ) value in setting its FIXED phase-status, because that should be less than (or
equal to) the complex value of
N/[p + q*yC2 + q*yN2 + q*yO22 + q*yFeO2 3/ 2 ].
Examples
For example, to obtain the metallic fraction in a system with carbon as an interstitial
component, you can set the component status for carbon as SPECIAL:
Change_Status comp C=special
The SUSPENDED status for components and species does not always work as
expected.
l ENTERED: the phase(s) are included in the equilibrium calculations and these are
stable if that minimizes the total Gibbs energy in the defined system. This is the
default status for all phases already retrieved from the chosen database(s). An
ENTERED phase-status is always associated with an initially-estimated amount [in
mole number; normally, as 0 if the phase is not likely to be stable, and as 0.5 or 1 or
any positive number if the phase could be stable] but it is only used as the rough
COMMENT
This command is for the ED-EXP module.
The COMMENT command is only used in the *.POP/*.DOP files (so can be included with
experimental data files) to write brief comments or descriptive information on a newly
created equilibrium (experimental) data point or a set of points given in a table.
A comment can have a maximum of about 60 characters written on the same line.
COMPUTE_ALL_EQUILIBRIA
This command is for the ED-EXP module.
In the DICTRA module, you work with a .DOP file instead of a .POP file.
With COMPUTE-ALL-EQUILIBRIA, all equilibria from the current to the last experimental
points are calculated. If an equilibrium calculation fails, the calculation is stopped at that
equilibrium. Equilibria with weight zero is skipped.
For this command there is always a list output on screen, which consists of six columns for
all experimental points available in the current data block:
l The first column is the equilibrium identifier (a number) assigned by this command,
l the second the data label assigned with LABEL_DATA,
l the third the number of iterations,
l the fourth the current weight, and
l the fifth the current temperature.
l In the sixth column the fixed stable phases are listed together with any comment text
given after a COMMENT in the *.POP or *.DOP file.
If the weight is zero for an equilibrium columns 3-5 are replaced by the text <unused>. If the
alternate mode is used for some experimental points, the listing is slightly different for such
points. The 3-4 columns are displayed with *alt*, instead. If an alternate calculation is failed
at one experimental point, the point is automatically assigned with a zero weight, and a
warning message is shown above the data line (with all six columns).
CREATE_NEW_EQUILIBRIUM
This command is available with the POLY and ED-EXP modules.
During data-assessments using the ED_EXP module (a submodule of PARROT), you can, in
the POLY module, create several equilibria with different sets of conditions and phases (but
normally with the same set of components). By default, there is one equilibrium. To keep the
set of conditions and phase for this equilibrium, create another one using this command, and
use another set of conditions for that. Two equilibria may be useful to calculate easily the
enthalpy difference between two states. In the PARROT module, the experimental
information is stored as a sequence of equilibria.
Syntax CREATE_NEW_EQUILIBRIUM
Equilibrium number /2/: <A new equilibrium number>
Prompts Each equilibrium in the POLY workspace is identified by a unique integer number. Such an
equilibrium number can be recalled with SELECT_EQUILIBRIUM.
Initiation code /2/:
When an equilibrium is created, you can choose to ENTER all components and phases (initiation
code 2), ENTER the components only (initiation code 1) or SUSPEND everything (initiation code 0).
No other values are legal.
The entered components and phases can later be changed with CHANGE_STATUS.
DEFINE_COMPONENTS
This command is available with the POLY and ED-EXP modules.
Change the set of components. By default, the elements are used as components. The set of
components can be important because some conditions are set using components, for
example, the amounts, activities or chemical potentials.
For example, in the system Fe-Si-O, you can define FEO, FE2O3 and SIO2 as components,
thus replacing the default FE, SI and O.
Syntax DEFINE_COMPONENTS
Give all new components / existing components/: <New components>
The new components must be specified all on one line. These replace the existing component
definitions.
Prompt
The number of components cannot be changed with this command. Use CHANGE_
STATUS instead.
To keep some existing components, it is recommended that you also enter these on the line.
Otherwise, the added new components may not be defined correctly. This is especially important
if some components are built out of several elements.
DELETE_SYMBOL
This command is available with the POLY and ED-EXP modules.
Syntax DELETE_SYMBOL
Name: <Name of a symbol>
Prompt
Specify the name of the symbol to be deleted. Only one symbol can be deleted each time.
ENTER_SYMBOL
This command is for the ED-EXP module.
The GES, POLY and POST modules also have a command with the same name.
Symbols are a useful feature modules to define quantities that are convenient. Symbols can
be constants, variables, functions or tables.
Syntax ENTER_SYMBOL
Constant, Variable, Function or Table? /Function/: <Keyword>
l CONSTANTS can only be entered once and is a means of using a name for a numeric
value. For example, the value of 1 atmosphere in Pascal can be denoted by P0 after the
command ENTER_CONSTANT P0=101325. Defined constants can be used as values in
condition assignments, for example, SET-COND P=P0.
l FUNCTIONS are expressions of state variables or other functions. These expressions are
saved, and whenever a function value is requested all functions are evaluated. The reason
for this is that they may depend on each other.
l VARIABLES are similar to functions because they can also be expressions of state
Prompt variables. However, contrary to functions, they are only evaluated when they are entered
or if they are explicitly named in an EVALUATE_FUNCTIONS command. It is possible to enter
a variable with a new expression any time. This expression is evaluated directly and its
value stored as the value of the variable. Defined variables can be used as values in the
SET-CONDITION command.
l TABLES are used for listing results from the STEP or MAP commands. A table consists of a
list of any number of state variables, functions or variables. Defined tables can also be
used in the post-processor POST.
Each symbol has a unique name that must start with a letter and can have maximum 8 characters.
Legal characters include letters (either UPPER or lower case), digits and underscore _. Any other
special character, such as parentheses ( and ), plus +, minus -, slash / or \, full stop (.), are illegal for
symbol names.
You can enter the symbol name and the value or function on the same line, these must be
separated with an equal sign =, for example, TC=T-273.15 or T_C=T273.15 which stands for a
definition of temperature in Celsius. Otherwise, these questions are asked.
Syntax ENTER_SYMBOL
For different types of symbol (constant, function, variable or table), the questions
have different prompts.
Functions and variables are evaluated from an expression of state variables or other functions,
constants or variables. The expression is a FORTRAN-like expression and operators +, -, *, = and **
can be used (** only with integer powers).
Unary functions like LOG, LOG10, EXP, SIN, COS and ERF can also be used. An expression can be
continued on more than one line. An expression should be terminated by a semicolon (;) or an
empty line (by pressing <Enter> at the next prompt).
Examples of function expressions:
The ampersand & means that you can continue to write the function on the new line if one line is
not enough for the function. If you finish the function press <Enter> again.
Value: <Value for a constant>
A table consists of a list of state variables or functions. One way to obtain results from a STEP
command is through a table.
Example:
ENTER TABLE K=T,X(LIQ,C),X(LIQ,CR),ACR(C)
Which means that the table called K contains four columns, i.e. the temperature, the mole
fractions of C and Cr in the LIQUID phase, and the activity of C.
To show the temperature in Celsius in a table, give the command ENTER_FUNCTION TC=T-273; and
then use the symbol TC in the table.
& <Continuation of the definition for the table>
The ampersand & means that you can continue to write the table on the new line if one line is not
enough for the table. If you finish the table press <Enter> again.
EVALUATE_FUNCTIONS
This command is available with the POLY and ED-EXP modules.
The value of one or more or all entered functions or variables are evaluated and listed.
Syntax EVALUATE_FUNCTIONS
Name(s): <Name(s) of defined function(s)>
The names of one or more entered functions or variables must be specified. By typing a wildcard
Prompt *, all functions and variables are evaluated.
EXPERIMENT
This command is for the ED-EXP module.
This command is used in original experimental data files (*.POP or *.DOP), but
can also be given interactively inside the ED-EXP module, to change the value or
uncertainty of an experiment or to add more experimental information.
In the DICTRA module, you work with a .DOP file instead of a .POP file.
An experiment usually consists of two parts with a colon (:) separating them:
The quantity relation can be a normal POLY module condition or an inequality (which is
similar to condition but the relation between the quantity and given value is not in equality,
i.e. < or >). The uncertainty can be expressed as an absolute value or relative to the value
(x%).
Syntax EXPERIMENT
The experiment must be typed after the command. Several experiments can be given on the same
line.
The syntax of EXPERIMENT is similar to a CONDITION. Usually, a state variable set equal to a value
with a given uncertainty is specified after the colon (:). For example, T=1273.15:5.
An inequality, < or >, can also be used. For example:
ACR(C)<-0.01:0.001, W(BCC,AG)>0.05:10%
DGM is the POLY variable for the driving force that is already divided by RT, and
it is dimensionless. Only dormant phases can have driving forces larger than
zero, as this indicates that these would be stable if allowed to form. The
experiment in the above case tries to modify the model parameters to make the
HCP phase unstable.
The first experiment above describes a tie-line where the experimentally measured mole
fraction of Pb is 0.1 in the liquid phase and 0.02 in the FCC phase, and its uncertainty is 0.01
for both measurements. The second experiment is that the activity of Pb should be 0.8 with
an uncertainty of 5 percent.
The reference state of the component Pb must be set with the command SET_
REFERENCE_STATE. The final one is that the temperature should be 700 K with an
uncertainty of 5 degrees.
Experiments that are functions of states variable(s) must be described as the defined
functions. For example:
ENTER_FUNCTION HTR=HM(LIQUID)-HM(FCC);
EXPERIMENT HTR=7000:1000
EXPORT
This command is for the ED-EXP module.
Syntax EXPORT
Function name: <Function name>#<n>
Specify the name of the function, the value of which should be transferred to a V variable. The
number (n) of the V variable must be given after the function name, separated by hash character #.
Prompt
The function name is UPPER/lowercase sensitive, and it should normally be given in
UPPER case.
Example
Enter_function strngy=gm(fcc).x(cu);
Export strngy#6
This transfers the value of the partial derivative of the Gibbs energy of the FCC phase with respect
to the mole fraction of Cu to the optimizing variable 6 (i.e. V6).
FLUSH_BUFFER
This command is for the ED-EXP module.
This command is only used in the *.POP file (i.e. it can also be used in the experimental data
files). It is needed if the number of experiments require more space than can be fitted into
one buffer.
In the DICTRA module, you work with a .DOP file instead of a .POP file.
When the PARROT program compiles experiments, it informs if any FLUSH commands are
needed. FLUSH_BUFFER terminates the current block, saves it to the work file and starts a
new block. With the READ command in the EDIT-EXP module, you can select the block to edit.
Syntax FLUSH_BUFFER
After a FLUSH_BUFFER command, the workspace is reinitiated and all functions or constants must be
entered again in the *.POP file. You can take advantage of this; for example, you can use the FLUSH
command to have blocks with different components in one *.POP file.
GRAPHICS_PLOT
This command is for the ED-EXP module.
This command can help create a experimental data file from the *.POP file. Several data
sets and different symbols are allowed.
In the DICTRA module, you work with a .DOP file instead of a .POP file.
Syntax GRAPHICS_PLOT
<Dataset#> <X value> <Y value> <Symbol index>
IMPORT
This command is for the ED-EXP module.
In the DICTRA module, you work with a .DOP file instead of a .POP file.
The IMPORT command is useful if several experiments are done at the same activity of a
component, but this activity is not known. The activity should then be optimized and all
equilibria with the same activity should use the same value. In this case the variable must be
set as an optimizing variable, and an initial guess of the activity should be given. During the
optimization, the PARROT program tries to find the activity that gives the best fit.
Syntax IMPORT
Constant name: <Constant name>#<n>
The value of the V variable must be assigned a symbolic constant. The number (n) of the V variable
must be given after the constant name, separated by hash character #.
Prompt
The constant name is UPPER/lowercase sensitive, and it should normally be given in
UPPER case.
Example
Enter_constant acu=0.1
Import acu#2
This transfers the value of the optimizing variable 2 (i.e. V2) to the constant ACU.
LABEL_DATA
This command is for the ED-EXP module.
Add a label to the experimental equilibrium point, either as a single point or several points
given individually or in a table. The label is maximum four characters and must start with
the letter A. Normally, it is directly used inside an experimental data file (*.POP).
In the DICTRA module, you work with a .DOP file instead of a .POP file.
Several experimental equilibria can be given the same label, and the label can be used with
SET_WEIGHT to assign the same weight to all equilibria with the same label.
Syntax LABEL_DATA
Label? /A1/: a<bcd>
Prompt Specify a textual label (as maximum characters and must start with the letter A) for the current
experimental equilibrium point(s).
LIST_ALL_EQUILIBRIA
This command is for the ED-EXP module.
Syntax LIST_ALL_EQUILIBRIA
List all the details (including equilibrium indicators, labels, iteration numbers, weight, and fixed
phases or comments) of all equilibrium points from the current one to the last one on screen. You
can always use SELECT_EQUILIBRIUM to select a specific point as the current equilibrium point for
such a list.
LIST_CONDITIONS
This command is available with the POLY and ED-EXP modules.
All the conditions that are set by the SET_CONDITION command and the command-sequence
CHANGE_STATUS PHASE =FIXED <0 or 1 or alike>, are listed. The current conditions are
also listed by the LIST_EQUILIBRIUM command. The degree of freedom in the defined system
is also shown.
Syntax LIST_CONDITIONS
P=100000, T=800, N(NI)=1E-1, N=1
FIXED PHASES
Example
FCC_A1=1 LIQUID=0 DEGREE OF
FREEDO 0
LIST_EQUILIBRIUM
This command is available with the POLY and ED-EXP modules.
The result (always in SI units) from the last calculated equilibrium is listed on screen or in a
text file.
Syntax LIST_EQUILIBRIUM
Output to screen or file /Screen/: <File name>
Prompt
The name of the text file where the list of the calculation results shall be written.
Options /VWCS/: <Option(s)>
Select the output units and formats by optionally specifying a combination of these letters.
Default options are VWCS. If the output fraction type should be in mole fraction (rather than mass
fraction), then give VXCS or type X (implying that in this case the options V, C and S are accepted as
the listing manners for fraction order, composition and phase).
If accepting all the default options, or if accepting all the altered options that had already changed
when using this command previously, you can type L_E,,, or LIST_EQUILIBRIUM ,,,
LIST_STATUS
This command is for the ED-EXP module.
Syntax LIST_STATUS
Default is CPS.
The results depend on the key word specified in the options for CHANGE_STATUS, a table with the
current status of phases or species or components, or the combinations, is shown:
The metastable phases are listed in descending order of stability. To avoid long
outputs only 10 metastable phases (in ENTERED status) are listed by lines, while all
other less stable phases are merged onto one line. For DORMANT phases, their
phase names and driving forces are listed. For SUSPENDED phases, only the phase
names are listed.
LIST_SYMBOLS
This command is for the ED-EXP module.
There are also POLY and POST module commands with the same name.
Use this command to list the definitions for all constants, functions, variables and tables. In
order to find the value of a function or variable, use SHOW_VALUE or EVALUATE_FUNCTIONS. A
table is tabulated with the TABULATE command.
Syntax LIST_SYMBOLS
The defined variables are listed up together with the defined functions, but variable names are
followed by a percentage sign %.
MAKE_POP_FILE
This command is for the ED-EXP module.
In the DICTRA module, you work with a .DOP file instead of a .POP file.
Use this command to make interactive changes and additions to the original experimental
data file (the *.POP or *.DOP file). For example, to document or transfer the current or final
experimental data to a *.POP file, this command will write it to a new *.POP file or
overwrite previous versions.
Check the output carefully for errors. Tables in original *.POP files are written
as individual experimental points. The output can be shown on screen or be
saved as a new *.POP file where to write or overwrite the edited experimental
information in a simple text format.
Syntax MAKE_POP_FILE
Output to screen or file /Screen/: <POP/DOP-file name>
Prompt Specify a name of the new *.POP file where to write or overwrite the edited experimental
information in a simple text format. If an existing *.POP file name is specified, it is overwritten.
READ_WORKSPACES
This command must be given each time the ED_EXP module is entered, unless it
is already given once in ED_EXP and does not use LIST_RESULT or OPTIMIZE_
VARIABLES in PARROT in between.
Syntax READ_WORKSPACES
Block number /#/: <n>
Prompt The number of a data block that should be edited must be given. If there is no FLUSH_BUFFER
command in the original POP file, then there is only one data block with the number 1.
READ_WORKSPACE = READ
This command is equivalent to READ_WORKSPACES in the POLY module, but it only reads the POLY
workspace from the work file set by SET_STORE_FILE in the PARROT module.
REINITIATE_MODULE
This command is for the ED-EXP module.
Syntax REINITIATE_MODULE
All the defined components, defined conditions, changed status, entered symbols, defined
independent axis-variables, calculated starting equilibrium-points, added initial equilibrium points,
stepped/mapped equilibrium data, and so forth, are removed completely. The saved file name is
restored to the default.
RESTORE_ALL_WEIGHTS
This command is for the ED-EXP module.
Restore a specific weight-set (previously saved by STORE_ALL_WEIGHTS) and assign all the
different experimental points in the current data block with the previously-set weights in the
sequential assessments.
Syntax RESTORE_ALL_WEIGHTS
Set number (0 for list) /0/: <weight-set number>
Prompt
The default value 0 is for a list on screen.
SAVE_WORKSPACES
This command is for the ED-EXP module.
In the PARROT workspace this command saves the current status of the ED_EXP submodule
before you switch back to the PARROT module. This is required when you want to save
equilibria changes, including changes to conditions, experimental data, and/or computed
equilibria results, as well as any newly added equilibria.
With this command all the changes made in the ED_EXP submodule are saved in the
PARROT workspace. This means you do not need to execute SAVE_PARROT_WORKSPACES in
the PARROT module.
However, when in the PARROT module, additional changes can only be saved with the SAVE_
PARROT_WORKSPACES command even if they have been made prior to executing SAVE_
WORKSPACES in ED_EXP.
When you exit the ED_EXP (or Thermo-Calc), the next time the file is opened it is in the
same state as when you executed the SAVE_WORKSPACES command. However, if you use
OPTIMIZE_VARIABLES the computed results are automatically updated.
Syntax SAVE_WORKSPACES
<File name>
SELECT_EQUILIBRIUM
This command is available with the POLY and ED-EXP modules.
If you create more than one initial equilibrium (during data-assessments using the
PARROT/ED_EXP modules), you can switch between them using this command.
Syntax SELECT_EQUILIBRIUM
Number /Next/: <Choice on equilibrium>
SET_ALL_START_VALUES
This command is available for the POLY and ED-EXP modules.
Set start values, e.g. if the calculation fails or if you have a miscibility gap or ordering. If
temperature and pressure are not conditions, you are asked for values of them. Then for
each phase prompt on if it should be stable and on its constitution.
Syntax SET_ALL_START_VALUES
T /XXXX/: <Temperature in K>
If the temperature is not a condition, supply a guess of its final value (in K).
P /100000/: <Pressure in Pa>
If the pressure is not a condition supply a guess of its final value (in Pa).
Automatic start values for phase constitutions? /N/: <Y, N or F>
l For N, enter an initial amount of each entered phase and the major constituents or site
fraction of each constituent.
l For Y, the program automatically sets the start values for phase constitutions in all
possible phases.
Prompts
l F is for force. In some cases the calculation fails because impossible conditions are set,
e.g. W(C)=1.5 [W(C) is mass fraction and must thus be less than unity. The program tries
to fulfill this condition by putting maximum amount of carbon in all phases, but can fail
anyway. When you detect the error and set W(C) to 0.015, the calculation may still fail
because it could start from the previous values. To get back to ‘fresh’ start values, choose
F.
A guess if this phase should be stable or not is requested. All entered phases are prompted for
this question and next two.
You cannot have more phases stable than you have components, but at least one
(which dissolves all constituents) must be set as stable. For backward compatibility,
this question can be answered by 1 (for Yes) or 0 (for No).
The phase name may have a hash sign # followed by a digit, e.g. BCC_A2#2. For phases with
miscibility gaps, there should be two phases with the same name but with different numbers after
the hash sign.
Major constituent(s): <Name of major constituent(s) in the phase>
The constituent with the largest fraction in the phase should be specified. If there are more than
one constituent with a large fraction, give them all on the same line. If the default major
constituents should be used answer with an asterisk (*). By giving $ the constitution is not
Syntax SET_ALL_START_VALUES
changed. If there should be no major constituent give NONE and or if the major constituent(s) are
improperly specified, you are asked for individual fractions in the phase.
Y(<phase>,<constituent>) /.XXXXXXXXXX/: <.YYYYY>
The current value (.XXXXXXXXXX) is default. You can accept the default by pressing <Enter> or give
a new value (.YYYYY).
The phase name or constituent name may have a hash sign # followed by a digit, e.g. Y(BCC_
A2#2,FE), Y(BCC_A2#2,C#2). For phases with miscibility gaps, there should be two phases with the
same name but with different numbers after the hash sign. For phases with sublattices, the
constituents in sublattice 2 or higher is also be suffixed with a hash sign # followed by a digit.
SET_ALTERNATE_CONDITION
This command is for the ED-EXP module.
A special command used in the experimental data *.POP file but also possible in
the ED_EXP module. It is used only when you have specified that the alternate
mode is set in the PARROT module.
In the DICTRA module, you work with a .DOP file instead of a .POP file.
The command syntax is almost the same as for the POLY command SET_CONDITION while the
uncertainty should also be specified.
The alternate condition (including the normally POLY module condition plus
uncertainly; see below) must be given explicitly, but can be given on the same
line or on separate lines with each one started with the command.
Syntax SET_ALTERNATE_CONDITION
State variable expression: <State variable name or linear expression>
Prompt
Give either a state variable or a linear expression of state variables.
Syntax SET_ALTERNATE_CONDITION
This question means that the previous question was not answered. The program is then
expecting a single state variable or a complete state variable expression, or the numeric factor
Additional in an expression with only one state variable. In a state variable expression a state variable may
prompts be preceded by a constant factor. An example of this is:
2*MUR(FE)+3*MUR(O)=-35000
This means that it should be a condition that two times the chemical potential of FE plus three
times the chemical potential of O should be -35000 J/mol.
State variable: <A specified state variable, or a continuation>
This question is prompted if a single state variable name has not given in either the prompt
State variable expression or Factor, or a state variable expression is given but the expression
is incomplete, for example, T- or 2*MUR(FE)+, for which the program is then expecting a
continuation of the unfinished expression. You need to specify a state variable or a complete
state variable expression, or complete the unfinished state variable expression. If a numeric
factor is given before this prompt, only one state variable can be specified; otherwise, the
program only takes the first state variable to complete the expression (i.e. the factor times the
state variable).
Value /X/: <A numeric value, a constant or a variable>
The value of the condition. This can be a numeric value, a constant or a variable. A suggestion is
given as the default value. The special value NONE means that the condition is removed.
Uncertainty /None/: <Uncertainty of the condition>
The uncertainty of the condition. This can be a numeric value, a constant or a variable. The
default value NONE means that the uncertainty for the value specified above is zero. The
uncertainty can either be expressed as an absolute value or relative to the value of the condition
in percent (x%).
There are more state variables that can be used in conditions. For more information, type an
INFO STATE_VARIABLES command in the POLY module. A condition is normally a value of a
single state variable with its value.
Notes
Example
T=1273.15 P=1E5
X(C)=.002
W(CR)=1.5
Syntax SET_ALTERNATE_CONDITION
ACR(CR)=0.85
X(FCC,C)=.001
H=-250000
HM(BCC)=-225000
A condition can also be a value of a linear expression involving more than one state variable.
Example
X(LIQ,S)-X(PYRR,S)=0
This means that it is a condition that the mole fraction of S should be the same in the LIQUID and
PYRRHOTITE phases. In practice that should be the congruent melting point.
SET_CONDITION
This command is available with the POLY and ED-EXP modules.
Specify the equilibrium conditions for the calculation. All kinds of state variables, as well as
most of the M/W/V/F-suffixed state variables (for normalization) and R-suffixed state
variables (with respect to chosen reference states), can be used as conditions. In addition to
temperature and pressure conditions, a multicomponent system can have mixed types of
conditions. You should repeat this command for a multicomponent system until the degree
of freedom in the defined system becomes zero. When a FIXED phase status is used on a
specific phase (use CHANGE_STATUS), it is equivalent to one condition (implying that
particular phase is stable in the defined system).
Syntax SET_CONDITION
Each condition must be given explicitly, but can be given on the same line (separated by a comma
(,) or an empty space) or on separate lines with each one started with the command.
Example
SET_COND T=1273, P=1E5, W(C)=.0015, X(LIQ,CR)=.22, ACR(N)=.2
or
SET_COND T=1273, P=1E5
SET_COND W(C)=.0015, X(LIQ,CR)=.22 ACR(N)=.2
In this example, the temperature is set to 1273 K, the pressure to 1 bar (1E5 Pascal), the mass
(weight) fraction of C to 0.0015 and the mole fraction of Cr to 0.22 and the activity of N to 0.2.
State variable expression: <State variable name or linear expression> or a linear
expression of state variables.
Syntax SET_CONDITION
There are many state variables that can be used in conditions. For more information, enter an INFO
STATE_VARIABLES command. A condition is normally a value of a single state variable with its value.
Example
T=1273.15 P=1E5
X(C)=.002
W(CR)=0.5
ACR(CR)=0.85
X(FCC,C)=.001
H=-250000
HM(BCC)=-225000
A condition can also be a value of a linear expression involving more than one state variable. For
example,
X(LIQ,S)-X(PYRR,S)=0
This means that it is a condition that the mole fraction of S component should be the same in the
LIQUID and PYRRHOTITE phases. In practice, that should be the congruent melting point.
After the equal sign only a numeric value is allowed in the expression.
This question means you did not answer the previous question. The program is then expecting a
single state variable or a complete state variable expression, or the numeric factor in an expression
with only one state variable. In a state variable expression a state variable may be preceded by a
constant factor. An example of this is:
2*MUR(FE)+3*MUR(O)=-35000
This means that it should be a condition that two times the chemical potential of FE plus three
times the chemical potential of O should be -35000 J/mol.
State variable: <A specified state variable, or a continuation>
This question is prompted if a single state variable name has not given in either the prompt State
variable expression or Factor, or a state variable expression is given but the expression is
incomplete, for example, T- or 2*MUR(FE)+, for which the program is then expecting a continuation
Syntax SET_CONDITION
of the unfinished expression. You need to specify a state variable or a complete state variable
expression, or complete the unfinished state variable expression. If a numeric factor is given
before this prompt, only one state variable can be specified; otherwise, the program only takes the
first state variable to complete the expression (i.e. the factor times the state variable).
Value /X/: <A numeric value, a constant or a variable>
The value of the condition. This can be a numeric value, a constant or a variable. A suggestion is
given as the default value. The special value NONE means that the condition is removed; for
example T=NONE takes away the temperature condition.
SET_NUMERICAL_LIMITS
This command is available for the POLY, Scheil and ED-EXP modules.
Change the criteria for convergence. This is to speed up a calculation in a complex system.
If there is any convergence problem in finding a stable solution at any stage during a
calculation procedure enforced by COMPUTE_EQUILIBRIUM, STEP_WITH_OPTIONS, MAP or
ADVANCED_OPTION S), this message displays:
This implies that smallest site fraction in the current POLY workspace is automatically
increased from the default value 1.00E-30 to the hardware-dependent precision (under
Linux, as 2.00E-14). For other subsequent POLY module calculations, you can use this
command to restore or reset the smallest site fraction to the previous or another preferred
value, as well as to reset other numerical limits.
Syntax SET_NUMERICAL_LIMITS
Maximum number of iterations /500/:
Prompt By default, the program tries 500 iterations before it gives up. As some models give computation
times of more than 1 CPU second/iteration, this number is also used to check the CPU time and
the calculation stops if 500 CPU seconds/iterations are used.
Required accuracy /1E-6/:
This is a relative accuracy, and the program requires that the relative difference in each variable
must be lower than this value before it has converged. A larger value normally means fewer
iterations but less accurate solutions. The value should be at least one order of magnitude larger
than the machine precision.
Smallest fraction /1E-12/:
This is the value assigned to constituents that are unstable. It is normally only in the gas phase you
can find such low fractions.
The default value for the smallest site-fractions is 1E-12 for all phases, except for IDEAL phase with
one sublattice site (such as the GAS mixture phase in many databases) for which the default value
is always as 1E-30 (unless you have used the SET_NUMERICAL_LIMITS command to reset an even-
lower value (e.g. 1E-45, that is naturally enforced to all the phases in the system).
Approximate driving force calculation for metastable phases /Y/:
Normally the POLY module only requires that the set of stable phases is in equilibrium in order to
terminate the iterations. By default, the metastable phases are included in all iterations but these
may not have reached their most favourable composition and thus their driving forces may be only
approximate.
Syntax SET_NUMERICAL_LIMITS
If it is important that these driving forces are correct, choose N to force the
calculation to converge for the metastable phases. This may require more iterations,
and the STEP and MAP command may also terminate due to bad convergence in a
metastable phase.
SET_REFERENCE_STATE
This command is available for the POLY, ED-EXP and POST modules.
The reference state for a component is important when calculating activities, chemical
potentials and enthalpies and is determined by the database being used. For each
component the data must be referred to a selected phase, temperature and pressure, i.e.
the reference state.
All data in all phases where this component dissolves must use the same
reference state. However, different databases can use different reference
states for the same element/component. It is important to be careful when
combining data obtained from different databases.
By default, activities, chemical potentials and so forth are computed relative to the
reference state used by the database. If the reference state in the database is not suitable
for your purposes, use this command to set the reference state for a component using SER,
i.e. the Stable Element Reference (which is usually set as default for a major component in
alloys dominated by the component). In such cases, the temperature and pressure for the
reference state is not needed.
In order to specify conditions in the specific reference state, you can append an R to the
state variables. Thus, AC is the activity (of a system component or of a species in a phase)
with respect to the default reference state, and ACR is the activity with respect to the
selected reference state; MU is the chemical potential of a system component with respect
to the default reference state, and MUR stands for the chemical potential with respect to the
selected reference state. The AC and ACR variables, for both components in a system and
species in a phase, can be specified in natural logarithm, e.g. LNAC(Fe), LNACR(C), LNAC
(O2,GAS), LNACR(O2,GAS).
For the POST module, and after calculating with the STEP_WITH_OPTIONS or MAP commands,
the reference state for a component can also be changed to plot various properties of the
component in the entire system or in a specific phase. Then you can set the diagram axes as
the chemical potential or activity quantities with the R suffix, i.e. MUR(comp), MUR
(comp,ph), ACR(comp), ACR(comp,ph) or the common logarithms [e.g. LNACR(comp,ph)].
Syntax SET_REFERENCE_STATE
Component: <Name of the component>
Prompts
The name of the component must be given.
Reference phase: <Name of a phase used as the new reference state>
Syntax SET_REFERENCE_STATE
If a component has the same composition as several end members of the chosen reference
phase, then the end member that is selected at the specified temperature and pressure will have
the lowest Gibbs energy.
The following are example using temperature. Pressure is used in the same way:
l In the Fe-C system, BCC can be a reference state for Fe but not for C since BCC can exist
as pure Fe but cannot exist as pure C.
l If GAS is chosen as the reference phase of component O at such a high temperature that
O1 has the lowest energy, then O1 remains the reference state even at calculations
performed at lower temperatures where O2 has a lower energy than O1.
l Setting the reference state for component O as gas (one sublattice) with constituents O1,
O2 and O3 results in O2 being the reference state if, at the present temperature, pure
O2 has the lowest energy of O1, O2 and O3. If the reference state is set above a critical
higher temperature, then O1 has the lowest energy and consequently becomes the
reference state.
Select the Temperature (in K) for the reference state. The wildcard value * means the current
temperature is used at the time of evaluation of the reference energy for the calculation.
The temperature set with this command does not affect the temperature used
when evaluating the energy of the reference state during the end member
selection process.
Select the Pressure (in Pa) for the reference state. The wildcard value * means the current
pressure is used for evaluating the reference energy at the time of calculation.
Examples
S-R-S Fe SER
S-R-S Cr FCC * 100000
S-R-S H2O AQUEOUS * 100000
S-R-S ZE REF_ELECTRODE * 100000
SET_START_CONSTITUTION
This command is available with the POLY and ED-EXP modules.
This command is similar to SET_ALL_START_VALUES, but is used for an individual phase that
may have a wrong constitution.
Syntax SET_START_CONSTITUTION
Phase name: <Name of a phase, and possible major constituent(s)>
Specify the name of a phase for which the constitution shall be set.
Prompts
If there is a major constituent of the phase, you must specify this on the same line
as the phase name. By giving an*, select the default major constituents. A $ means
keeping the same constitution, and NONE means to give individual site-fractions.
Y(<Phase>#<Composition_set>,<Constituent>#<Sublattice>) /xxx/: <SF>
The site fraction (SF) of the constituent shall be given. The default value xxx is the
last calculated one.
SET_START_VALUE
This command is available with the POLY and ED-EXP modules.
This command is not often required as the automatic start values can be
handled for most problems.
Syntax SET_START_VALUE
State variable: <Name of a state variable>
Prompts
The state variable must be given.
Value
SET_WEIGHT
This command is for the ED-EXP module.
Each experimental value has an uncertainty associated with it, specified by the value after
the colon (:) with the command EXPERIMENT. During an optimization the absolute difference
between the experimental and calculated values gives a contribution to the sum of error.
With the SET_WEIGHT command, you can change the scale of such a contribution (the
uncertainty) for a single experimental point, or the contributions (all uncertainties) for a set
of equilibria. The default weight is always unity. A value smaller than one means that the
experiments should have less weight. A value larger than one that these should have higher
weight. The special value zero means that the set of equilibria should be ignored in editing
in ED_EXP (as is given) and in OPTIMIZE_VARIABLES in PARROT.
Syntax SET_WEIGHT
Value /1/: <Weight value>
Specify a weight of the experiments in the specified equilibria (asked in the next prompt). The
contribution to the sum of errors of these experiments are multiplied by this weight.
Prompts
The weight is squared, thus use 0.7 to make the error half (0.49) as big, and 1.4 to
make it twice (1.96) as large.
Define the equilibria. These are available in the read data block from the current work file and are
given the above-defined weight.
The selection may be given as a range but the equilibrium numbers must then be separated only
by a minus sign.
The start and end equilibrium numbers must be available in the read data block
read from the current work file.
For example, 5-101, means that all equilibria starting from the identifier 5 until the identifier 101.
Some of numbers between these two identifiers may not exist in the data block.
The selection may also be given as one or more labels (which should be separated only by a
Syntax SET_WEIGHT
space). All equilibria with the specified label(s) in the read data block are given the above-defined
weight.
By pressing <Enter> to accept the default value present, the above defined weight is only assigned
to the current or present experimental point (which is selected by the POLY SELECT_EQUILIBRIUM
command).
If is used but no specific equilibrium point is selected afterwards, the last point in
the read data block remains the present point.
SHOW_VALUE
This command is available for the POLY and ED-EXP modules.
Syntax SHOW_VALUE
State variable or symbol: <Name(s) of state variable(s) or symbol(s)>
Prompt
A single or several state variables or symbols (entered functions or variables) can be specified.
You can use the dollar-sign $ to denote all stable phases. Thus, the command SHOW W(*,*)lists the
mass fraction of all phases, whereas SHOW W($,*)lists the mass fraction of all stable phases.
If you SHOW a function, all functions are evaluated using the current values of the
state variables. But if you SHOW a variable, it retains its value from the time it was
ENTERED or last EVALUATED.
Therefore to save a value from one calculation to another, ENTER it to a variable. This is frequently
done in the PARROT module to transfer values between equilibria.
STORE_ALL_WEIGHTS
Store a new weight-set that is the current situation of specified weights for all the different
experimental points read from the currently-selected experimental data block in an
assessment. This is useful when you want to try various weight-settings for some
experimental points or for all the points, and then compare the assessment results from
different weight-sets. Such a saved weight-set can be recalled and restored for all
experimental data point with RESTORE_ALL_WEIGHTS sequentially.
Syntax STORE_ALL_WEIGHTS
Command line: <Weight-set name>
Prompt
Give a weight-set name (comment line texts) for the current weight set for all experimental points.
In the DICTRA module, you work with a .DOP file instead of a .POP file.
TABLE_HEAD
Syntax TABLE_VALUES
TABLE_END
Prompt
After the TABLE-HEAD command, there must be an equilibrium description similar to a single
experimental equilibrium but with some special notation. Then, there is always a TABLE-VALUES
command, after which the actual data is given in columns. At the end of each table, there must be
a TABLE-END command.
The TABLE-HEAD command must be followed by a numeric value. This is used to generate unique
numeric identifiers for all the equilibria in the table. The numeric identifier is incremented by one
for each experimental (equilibrium) point in the table.
Example
An example of the use of a table for enthalpy measurements in the liquid is given here. Much
more elaborate tables can be used
$ Enthalpies of mixing, Topor and Kleppa, Met Trans 1984 TABLE-HEAD 1
CREATE—NEW @@ 1
CHANGE-STATUS PHASE LIQ=FIX 1
SET-REFERENCE-STATE AU LIQ * 1E5
SET-REFERENCE-STATE CU LIQ * 1E5
SET-CONDITION P=1E5 T=1379 X(LIQ,AU)=@1
LABEL ALH
EXPER HMR=@2:5%
TABLE—VALUES
TABLE_HEAD
Syntax TABLE_VALUES
TABLE_END
0.0115 -322
0.0563 -1520
0.8499 -2976
0.9002 -2114
TABLE—END
The equilibrium description between TABLE-HEAD and TABLE-VALUES is similar as for a single
experiment, except for these details:
TRANSFER_START_VALUES
This command is for the ED-EXP module.
In the ED_EXP module it is time consuming to calculate all equilibria when the optimization
is sensitive to start values of the composition of the phases. Usually in one data block there
are several experimental points with the same kind of equilibrium and each must have its
start value set. When you manage to calculate equilibriums of such experimental points, this
command is useful to transfer the site fractions from a successfully-calculated equilibria to
the present experimental point.
Syntax TRANSFER_START_VALUES
From equilibrium /Previous/: <Equilibrium number>
Prompt The equilibrium number is the numeric identifier for the equilibrium from which the start values
should be copied to the present experimental point. Previous is the default if you press <Enter>.
ENTER_FUNCTION 459
ENTER_REACTION 461
LIST_SUBSTANCES 463
SET_ENERGY_UNIT 466
SET_PLOT_FORMAT 467
SWITCH_DATABASE 468
TABULATE 470
TABULATE_DERIVATIVES 471
TABULATE_REACTION 476
TABULATE_SUBSTANCE 479
ENTER_FUNCTION
This command is available with the GES and TAB modules.
Used to define a new thermodynamic function to be included in the sixth column of tabular
output. The last entered function is listed in the 6th column of all tables, and can be plotted
(if choosing the Plot Column value 6) in all graphs, for all subsequently tabulated substances
or reactions.
Syntax ENTER_FUNCTION
Name: <Name>
Prompt
Function: <Definition>
A limited number of state variables, G, H, S, T, P, V and H298 can be used in the function definition.
For example, -(G-H)/T can be defined as a function which is identical to S for a substance or ΔS for
a reaction, G+T*S-P*V can be defined as a function which is U (internal energy) for a substance or
ΔU (internal energy change) for a reaction.
Nameof thefunction (maximum 8 characters) and Definition of the function. A long function can
Options
be typed over several lines. A function should be terminated by a semicolon (;) or an empty line.
Example
For the pure substance Fe (using the SSUB database), by entering a function as G+T*S-P*V,
the following table is obtained by typing <Enter> in the prompt Output file /Screen/:,
and the figure by typing 6 in the prompt Plot column /2/:
TAB: ENTER-FUNCTION
Name: InEnergy
Function: G+T*S-P*V;
TAB: TABULATE_SUBSTANCE
Substance (phase): Fe
Pressure /100000/: <Enter>
Low temperature limit /298.15/: <Enter>
High temperature limit /2000/: <Enter>
Step in temperature /100/: <Enter>
Output file /try1/: try2
Graphical output? /Y/: <Enter>
Plot column? /2/: 6
O U T P U T F R O M T H E R M O - C A L C
Column 6: InEnergy G+T*S-P*V
Phase : FE_S Pressure : 100000.00
Specie: FE
***************************************************************
T Cp H S G InEnergy
(K) (Joule/K) (Joule) (Joule/K) (Joule)
***************************************************************
298.15 2.48446E+01 2.17972E-06 2.72800E+01 -8.13353E+03 2.17972E-06
300.00 2.48905E+01 4.60049E+01 2.74338E+01 -8.18414E+03 4.60049E+01
400.00 2.71299E+01 2.64957E+03 3.49085E+01 -1.13138E+04 2.64957E+03
500.00 2.93561E+01 5.47211E+03 4.11976E+01 -1.51267E+04 5.47211E+03
600.00 3.19293E+01 8.53245E+03 4.67701E+01 -1.95296E+04 8.53245E+03
700.00 3.50985E+01 1.18777E+04 5.19207E+01 -2.44667E+04 1.18777E+04
800.00 3.92042E+01 1.55830E+04 5.68623E+01 -2.99068E+04 1.55830E+04
900.00 4.49645E+01 1.97726E+04 6.17903E+01 -3.58387E+04 1.97726E+04
1000.00 5.42147E+01 2.46891E+04 6.69619E+01 -4.22728E+04 2.46891E+04
1100.00 4.55851E+01 2.99025E+04 7.19412E+01 -4.92328E+04 2.99025E+04 $
Stable phase is FE_S2
1200.00 3.40840E+01 3.51037E+04 7.64466E+01 -5.66322E+04 3.51037E+04
1300.00 3.49398E+01 3.85549E+04 7.92086E+01 -6.44162E+04 3.85549E+04
1400.00 3.57994E+01 4.20918E+04 8.18293E+01 -7.24692E+04 4.20918E+04
1500.00 3.66636E+01 4.57149E+04 8.43287E+01 -8.07780E+04 4.57149E+04
1600.00 3.75330E+01 4.94247E+04 8.67226E+01 -8.93314E+04 4.94247E+04 $
Stable phase is FE_S3
1700.00 4.05217E+01 5.41173E+04 8.95609E+01 -9.81363E+04 5.41173E+04
1800.00 4.12595E+01 5.82055E+04 9.18975E+01 -1.07210E+05 5.82055E+04 $
Stable phase is FE_L
1900.00 4.60000E+01 7.74165E+04 1.02377E+02 -1.17099E+05 7.74165E+04
2000.00 4.60000E+01 8.20165E+04 1.04736E+02 -1.27456E+05 8.20165E+04
ENTER_REACTION
This command is for the TABULATE_REACTION (TAB) module.
This is the same as TABULATE_REACTION in that both the chemical reaction can be specified
and the thermodynamic property changes for the reaction can be generated as a table, and
plotted as a graph or saved as an experimental file (with an extension of .EXP). The
thermodynamic data are automatically retrieved from the SSUB database (by default), or
the current database set by SWITCH_DATABASE (thus there is no need to use the TDB module
before this command). You can select any other database by using the SWITCH_DATABASE
command in the TAB module. The rules to specify a reaction are the same as TABULATE_
REACTION .
Syntax ENTER_REACTION
Same reaction? /Y/:
Prompts This displays if there is at least one reaction already defined either by ENTER_REACTION or
TABULATE_REACTION. For Y the next prompt for defining reaction is not asked.
A long reaction can be typed over several lines. A reaction should be terminated by a semicolon
(;) or an empty line. A list showing the used database, defined elements, getting-data sequence,
references, etc.:
Pressure /100000/: <Pressure of interest, in pa>
Low temperature limit /298.15/: <T-low, in K>
High temperature limit /2000/: <T-high, in K> Step in temperature /100/: <T-step>
If you type Return for screen a list of thermodynamic property changes for the defined/chosen
reaction is shown up as a table (which is demonstrated in the example outputs given below), and
the command is terminated.
If typing a file name, the table is displayed and saved as an *.EXP or an *.TAB file. Then prompts:
Graphical output /Y/:
For N a table is output to the screen and this table is saved as a basic text file with the default
extension .TAB under the current working directory. In this case, the graph cannot be plotted.
By default a table is created with all thermodynamic functions as normal (which is displayed on
screen) and generates a graph with temperature on the X-axis and a chosen property on a certain
column in the table on the Y-axis (which is plotted on screen and saved as an *.EXP file). You are
also prompted for the plot column.
Plot column? /2/: <1 or 2 or 3 or 4 or 5 or 6>
Specify which property (as column number) to be plotted as the Y-axis (versus temperature as X-
axis) as a graph on the screen. Simultaneously, all tabulated properties and the Y-axis setting (i.e.
Syntax ENTER_REACTION
the plotted column) for the graph is written into an *.EXP file using the DATAPLOT format. The
default column 2 is heat capacity, 3 enthalpy, 4 entropy and 5 Gibbs energy, and the additional
column 6 is a user-entered function. The table displays on the screen. The plot then displays on
the screen, followed by a POST prompt. The POST module (postprocessor) automatically opens,
and all types of the POST-module commands to refine the plotted diagram may be used.
Possibilities include scaling the X/Y-axis, changing the X/Y-axis texts, etc. The command BACK or
EXIT at the POST prompt always takes you back to the TAB module.
LIST_SUBSTANCES
This command is for the TABULATE_REACTION (TAB) module.
List all species in the current database with a certain set of elements. This is useful to specify
species as pure substances in the command TABULATE_SUBSTANCE.
Syntax LIST_SUBSTANCES
With elements /*/ <* or a set of elements>
The elements building up various species must be specified. The wildcard * means all elements in
Prompts the current database.
If some elements are specified, it also prompts for how to list species with such elements.
Exclusively with those elements /Y/:
All species (not phases) in the current database are searched. Keep the default (Y) if you do not
want other elements included in the search except for those specified. Enter N to list all species
containing at least one of the specified elements.
Example
For the SSOL database, there are different lists, as shown below:
TAB: l-sub
With elements /*/: <Enter>
VA AG AL
AM AS AU
B BA BE BI BR C
CA CD CE
CL CO CR
CS CU DY
ER EU F
FE GA GD
GE H HF
HG HO I
IN IR K
LA LI LU
MG MN MO
NA NB
ND NI NP
OS P
PA PB PD
PR PT PU
RB RE RH
RU S SB
SC SE SI
SM SN SR
TA TB TC
TE TH TI
TL TM U
V W Y
YB ZN ZR
C1 C2 C3
C4 C5 C6
C7 N2 O2
P1 P2 P4
NA/+1 K/+1 CL/-1
H2O H1/+ LI1/+
CS1/+ RB1/+ O1H1/-
F1/- BR1/- I1/-
H1/+1 H1O1/-1 SI1O2 CA1O1 TAB:
TAB: l-sub
With elements /*/: fe cr ni c n o
Exclusively with those elements? /Y/: <Enter>
C CR FE
N NI O
C C2 C3
C C5 C6
C N2 O2
TAB:l-sub fe cr ni c n o
Exclusively with those elements? /Y/: n
C CR FE N NI O
C1 C2 C3
C4 C5 C6
C7 N2 O2
SET_ENERGY_UNIT
Set the energy unit as calories or Joule, in all the subsequent outputs (tables, graphs, and
files) in the current calculation operation.
Syntax SET_ENERGY_UNIT
SET_PLOT_FORMAT
This command is for the TABULATE_REACTION (TAB) module.
Set the plotting format while the result is plotted on screen or the file is saved as EXP file
[using DATAPLOT graphical format] and TAB file (as a basic text file and as displayed on
screen).
Syntax SET_PLOT_FORMAT
The default set Unitis 1 (Windows) or 9 (Linux) for graphical presentation on screen, or all other
units for outputs as *.EXP and *.TAB files.
Options Also set the format of the graphical output to different graphical devices. The default unit 22 (1 for
legacy Windows, and 9 for legacy Linux) may be altered with SET_PLOT_ENVIRONMENT in the SYS
monitor or by the TC.INI file.
SWITCH_DATABASE
This command is for the TABULATE_REACTION (TAB) module.
By default, the TAB module always automatically retrieves thermodynamic data for
substances or reactant/product substances in a defined reaction, or for pure phases or ideal
solution phases, from the SSUB Substances database. However, you can select
thermodynamic data for complex non-ideal solution phases from another database, which is
possible with this command.
Syntax SWITCH_DATABASE
Database /XYZ/: <new database name>
Specify a New database name. XYZ stands for the default SSUB database or the current database
which is switched on.
If an appropriate database name is not given and the USER option is not used, a list displays of
available databases.
Prompt
Use one of these databases:
This command switches (or changes) from the current database to a new one, and
reinitializes the entire TAB module for defining a substance or reaction and the GIBBS
workspace for storing retrieved data. All the directly connected databases as predefined by
the original database initiation file tc_initd.tdb are listed by pressing the <Enter> key
without giving any argument. You can also supply your own database by giving the argument
USER and then the database name and, if it is not located in the current working directory,
its correct path.
This command (when required to use another database for subsequent tabulations) must be
used before executing the TAB commands TABULATE_SUBSTANCE for substances, and ENTER_
REACTION or TABULATE_REACTION for reactions.
When a predefined database or an appropriate USER database is switched on, the DATA
command GET_DATA is automatically executed.
DATABASE NAME: The new database is specified by typing the abbreviation given in the
front of one of the available predefined databases. For convenience when
switching/appending databases you can add them to the predefined database list in the
database initiation file tc_initd.tdb of your installed software.
When this command is used in a macro (*.TCM) file, if the USER option is selected, the
database setup file name (*setup.TDB) containing the setup definitions of the user database,
and its correct path, must be provided.
If a USER database name or its path is not given on the same line of the SWITCH_DATABASE
command, or if it is incomplete or incorrect, an Open window displays to specify the
filename of the database setup file name (*setup.TDB) of the to-be-switched USER database.
Unlike in the TDB module, if a user database is chosen, the Gibbs energy system
is also reinitialized and only data from the user databases are retrieved for
tabulations.
After this command, those commands to define systems (in terms of either elements or
species), to reject/restore phases or species, retrieve data, as well as to append data from
additional database(s), can be done.
TABULATE
This command is for the TABULATE_REACTION (TAB) module.
Gives the values of an already-defined table (with various properties varied with the
stepping axis variable) from equilibria calculated with a STEP command. You can tabulate a
table even if the table is entered after the step calculation.
Syntax TABULATE
Name: <Name of a defined table>
Prompts
The name of the table must be given. The table must be entered.
Output to Screen or file /Screen/: <File name>
The table can be listed on the screen (by pressing <Enter>), on a file (the file name
must be specified here).
TABULATE_DERIVATIVES
This command is for the TABULATE_REACTION (TAB) module.
This command is mainly for system debugging purposes and for experienced
users. It automatically calculates all partial derivatives for a pure phase or
solution phase at a given composition.
Before using this command, the system must be defined and thermodynamic data retrieved
from an appropriate solution database in the TDB module. The phase name can be given in
either upper, lower or mixed cases, and can be abbreviated until it is unique, e.g. fcc, BCC,
cem, Liq, etc. as the SSOL database is used for the tabulations, or GAS, FE-S, wustite, Fe2O3-
hem, etc. as the SSUB database is used. The module then optionally goes through a specific
sublattice or all the possible sublattices for the specified phase, as well as through the whole
framework of a currently defined system (including all the defined elements/species, as well
as the default defined vacancy and electron if necessary for the current database), when it
prompts for inputs of site fractions for various species possibly occupying such sublattices.
Therefore, thermodynamic properties can be tabulated for a pure phase, or for a solution
phase as a pure end-member (with a composition definition for the corresponding non-
interacting species on all necessary sublattices in the end-member), or for a solution phase
as a real solution (with a composition definition for related interacting species on all
necessary sublattices in the solution).
Syntax TABULATE_DERIVATIVES
Phase name /XXXX/: <Name of the phase>
Syntax TABULATE_DERIVATIVES
Example Prompts
For example, these prompts and inputs can be seen for a LIQUID solution phase (from the SSOL
database) within the Fe-Cr-Ni-C-N-O framework (Note that by default, the unprompted Ni species
are assigned as the rest):
FRACTION OF CONSTITUENT (RETURN FOR PROMPT): <RETURN> C /1/: .05
CR /1/: .1
FE /1/: < RETURN>
SUM OF FRACTIONS EXCEED UNITY, PLEASE REENTER
FE /1/: .8
N /1/: .005
For a solution phase with two or more sublattices (such as FCC alloy solution, and ION_LIQ ionic
liquid solution), it first asks for which sublattice the site-fractions of constituents shall be specified:
the default value 0 for all possible sublattices, and a given positive number for a specific sublattice
(of course, this number must be reasonable for the currently specified phase, i.e. it must be
smaller than the total sublattice number of the phase). Then, for the given sublattice or for all
sublattices, it prompts for all the necessary inputs of site-fractions for the possible constituents on
each sublattice n-1 times if there are n species on such a sublattice in the defined phase; the nth
species on each of the sublattices is automatically assigned as the rest. For example, the following
prompts and inputs can be seen for an FCC solution phase (from the SSOL database) within the Fe-
Cr-Ni-C-N-O framework (Note that by default, the unprompted O species on its sublattice 1 and
VA on its sublattice 2 are assigned as the rest):
SPECIFY SUBLATTICE (0 FOR ALL) /0/: <RETURN>
FRACTIONS IN SUBLATTICE 1
CR /1/: .1
FE /1/: .8
NI /1/: .0995
FRACTIONS IN SUBLATTICE 2
C /1/: .05
N /1/: .05
Example Output
For the FCC phase in the Fe-Cr-Ni-C-N-O system (using the SSOL database), the following
table is obtained at a specified composition:
TAB: TAB_DER
Phase name /BCC/: FCC
SPECIFY SUBLATTICE (0 FOR ALL) /0/: <Enter>
FRACTIONS IN SUBLATTICE 1
CR /1/: .1
FE /1/: .8
NI /1/: .3
SUM OF FRACTIONS EXCEED UNITY, PLEASE REENTER
NI /0/: .0995
FRACTIONS IN SUBLATTICE 2
C /1/: .05
N /1/: .05
Temperature /1800/: <Enter>
Pressure /100000/: <Enter>
Gibbs energy: ..................... -1.27432533E+05
Helmholz energy: .................. -1.27433205E+05
Enthalpy: ......................... 5.95773994E+04
Internal energy: .................. 5.95767279E+04
Entropy: .......................... 1.03894407E+02
Molar volume: ..................... 6.71473258E-06
Thermal expansivity: .............. 7.63886416E-05
Isothermal compressibility: ....... 6.02925387E-12
Heat capacity at constant pressure: 4.33555074E+01
First partial derivative with respect to CR in sublattice 1 of Gibbs energy:
................ -1.26034739E+05 of enthalpy: ....................
4.63000206E+04 of entropy: ..................... 9.57415334E+01 of volume:
...................... 6.87203263E-06
Second partial derivative of Gibbs energy with respect to also
CR in 1: 1.54392858E+05
FE in 1: -1.53353158E+04
NI in 1: -1.71750366E+04
O in 1: 0.00000000E+00
C in 2: -1.82016870E+05
in 2: -3.73062665E+05
VA in 2: -9.36260878E+04
irst partial derivative with respect to FE in sublattice 1 of Gibbs energy:
................ -1.02869265E+05
of enthalpy: .................... 6.11738912E+04 of entropy:
..................... 9.11350866E+01 of volume: ......................
7.53441165E-06
Second partial derivative of Gibbs energy with respect to also
FE in 1: 1.82508696E+04
NI in 1: -3.07043434E+03
in 1: 0.00000000E+00
C in 2: -1.36027071E+05
in 2: -2.13007485E+05
VA in 2: -1.11741180E+05
First partial derivative with respect to NI in sublattice 1 of Gibbs energy:
................ -1.32427029E+05 of enthalpy: ....................
5.21563580E+04 of entropy: ..................... 1.02546326E+02 of volume:
...................... 0.00000000E+00
Second partial derivative of Gibbs energy with respect to also
NI in 1: 1.48390257E+05
in 1: 0.00000000E+00
C in 2: -7.70620431E+04
in 2: -1.61551726E+05
VA in 2: -1.12772206E+05
First partial derivative with respect to O in sublattice 1 of Gibbs energy:
................ -2.62929308E+05 of enthalpy: ....................
5.02555370E+04 of entropy: ..................... 1.73991581E+02 of volume:
...................... 0.00000000E+00
Second partial derivative of Gibbs energy with respect to also
in 1: 2.99322360E+07
C in 2: 0.00000000E+00
N in 2: 0.00000000E+00
VA in 2: -1.82377137E+05
First partial derivative with respect to C in sublattice 2 of Gibbs energy:
................ -1.59508417E+05 of enthalpy: ....................
1.21269096E+05 of entropy: ..................... 1.55987507E+02 of volume:
...................... 1.06885187E-05
Second partial derivative of Gibbs energy with respect to also
C in 2: 2.99322360E+05
N in 2: -1.90144000E+04
VA in 2: -2.78465070E+04
First partial derivative with respect to N in sublattice 2 of Gibbs energy:
................ -2.39671400E+05 of enthalpy: ....................
4.04456947E+04 of entropy: ..................... 1.55620608E+02 of volume:
...................... 0.00000000E+00
Second partial derivative of Gibbs energy with respect to also
N in 2: 2.99322360E+05
VA in 2: -3.30383665E+04
First partial derivative with respect to VA in sublattice 2 of Gibbs energy:
................ -9.52042686E+04 of enthalpy: ....................
5.37142294E+04 of entropy: ..................... 8.27324989E+01 of volume:
...................... 6.86700739E-06
Second partial derivative of Gibbs energy with respect to also
VA in 2: 1.66290200E+04
TABULATE_REACTION
This command is for the TABULATE_REACTION (TAB) module.
l The reaction is specified, by giving the reactants and products, such as Ga+S=GaS,
5Al+2Fe=Al5Fe2.
l Under Linux environments, the notation for a chemical formula treats upper and
lower cases as the same (such as ga+s=GaS, 5Al+2Fe=al5fe2); but under Windows,
the TAB module only accepts upper cases, e.g. GA+S=GAS, 5AL+2FE=AL5FE2.
l Elements with a single letter symbol must be followed by a stoichiometry factor,
even if it is 1; thus, the symbol CO is taken as cobalt, carbon monoxide must be given
as C1O1 (or O1C1).
l All the reactants and products must be defined as species-stoichiometries in the
currently-used database; in other words, the reaction definition only accepts already-
defined species-stoichiometries as reactants and products. For example, if a
database does not have a species defined with a stoichiometry of Al5Fe2 {e.g. the Al
and Fe (but not Al5Fe2) may be defined as species, and the Al5Fe2 phase may be
defined as a two-sublattice stoichiometric phase [Al]5[Fe]2, rather than a single
sublattice stoichiometric phase [Al5Fe2]}, then the reaction 5Al+2Fe=Al5Fe2 cannot
be tabulated.
l Make sure that the Gibbs free energy expression for a stoichiometric phase is really
corresponding to the species-stoichiometry. For example, if a database has a
definition of Function GAL5FE2 for 1/7 of the AL5FE2 formula, then the relation G
(Al5Fe2)=7*GAL5FE2 must be defined; otherwise, the tabulated thermodynamic
properties for the reaction 5Al+2Fe=Al5Fe2 is wrong.
Syntax TABULATE_REACTION
Same reaction? /Y/:
Prompts This prompt displays if there is at least one reaction already defined either with the commands
ENTER_REACTION or TABULATE_REACTION. The following prompts only display if N is entered.
Syntax TABULATE_REACTION
A long reaction can be typed over several lines. A reaction should be terminated by a semicolon
(;) or an empty line. A list showing the used database, defined elements, getting-data sequence,
references, etc.
Pressure /100000/: <pressure of interest, in pa>
Low temperature limit /298.15/: <T-low, in K> Specify the starting temperature K.
High temperature limit /298.15/: <T-high, in K> Specify the ending temperature K.
Step in temperature /100/: <T-step> Specify the temperature step for the tabulation.
If you type Return for screen, a list of thermodynamic property changes for the defined/chosen
reaction is shown as a table (which is demonstrated in the example outputs given below), and the
command is terminated.
If typing a file name, the table is both displayed on screen and saved as an *.EXP or a *.TAB file,
and the program prompts:
Graphical output /Y/:
l For N a table is output to the screen, and the same table is saved as a basic text file with
the default extension .TAB under the current working directory. In this case, the graph
cannot be plotted.
l For Y a table is created with all thermodynamic functions as normal (which is displayed
on screen) and generates a graph with temperature on the X-axis and a chosen property
on a certain column in the table on the Y-axis (which is plotted on screen and saved as an
*.EXP file), and it also asks which column is to be plotted on the resulting graph:
Specify which property (as column number) to be plotted as the Y-axis (versus temperature as X-
axis) as a graph on the screen. Simultaneously, all tabulated properties and the Y-axis setting (i.e.
the plotted column) for the graph is written into an *.EXP file using the DATAPLOT format. The
default column 2 is heat capacity, 3 enthalpy, 4 entropy and 5 Gibbs energy, and the additional
column 6 is a user-entered function. The table displays on the screen. The plot then displays on
the screen, followed by a POST: prompt. The POST module automatically opens, and all types of
the POST module commands to refine the plotted diagram may be used. Possibilities include
scaling the X/Y-axis, changing the X/Y-axis texts, etc. The command BACK or EXIT at the POST:
prompt always takes you back to the TAB module.
Example
For the reaction Ga+S=GaS (using the SSUB database), the following table is obtained by
typing <Enter> in the prompt Output file /SCREEN/, and the figure by typing 2 in the prompt
Plot column /2/:
O U T P U T F R O M T H E R M O - C A L C
Reaction: S+GA=GA1S1
stable as S_S
GA stable as GA_S
GA1S1 stable as GA1S1_S
Delta-Cp Delta-H Delta-S Delta-G
(K) (Joule/K) (Joule) (Joule/K) (Joule)
***************************************************************
298.15 -2.79489E+00 -2.09200E+05 -1.50580E+01 -2.04710E+05
300.00 -2.87516E+00 -2.09205E+05 -1.50755E+01 -2.04683E+05
302. ---- GA becomes GA_L ,delta-H = 5589.80
367. ---- S becomes S_S2 ,delta-H = 401.00
389. ---- S becomes S_L ,delta-H = 1721.00
400.00 -1.22278E+01 -2.17521E+05 -4.07488E+01 -2.01222E+05
500.00 -1.57686E+01 -2.19323E+05 -4.47280E+01 -1.96959E+05
600.00 -1.02518E+01 -2.20583E+05 -4.70410E+01 -1.92359E+05
700.00 -6.58954E+00 -2.21430E+05 -4.83534E+01 -1.87583E+05
800.00 -4.46246E+00 -2.21963E+05 -4.90686E+01 -1.82709E+05
900.00 -2.82671E+00 -2.22328E+05 -4.94995E+01 -1.77778E+05
1000.00 -1.21787E+00 -2.22530E+05 -4.97138E+01 -1.72816E+05
1100.00 3.71702E-01 -2.22572E+05 -4.97552E+01 -1.67841E+05
TABULATE_SUBSTANCE
This command is for the TABULATE_REACTION (TAB) module.
Syntax TABULATE_SUBSTANCE
Substance (phase): <Name of the species or phase>
In case of a substance, give its chemical formula, e.g. Fe, H2, C1H6, FeC1, CaC1O3, MgSiO3, etc.
When the TABULATE_SUBSTANCE <SUBSTANCE> command sequence is used for the first time in the
TAB module, it always uses the SSUB Substances database as the default. If SSUB is not available and
Prompt a specific database has not been switched on yet, it may prompt to specify an appropriate
substance or solution database (e.g. typing SSUB<version number>; SSOL<version number>;
TCFE<version number> etc.). Prior to this command, you can also use SWITCH_DATABASE to set the
current database. If a solution database is set as the current database, only the neutral species that
are valid substance standing by themselves as phases can be tabulated.
Syntax TABULATE_SUBSTANCE
Before other prompts, a list of the used database, defined elements, getting-data
sequence, references, etc. is displayed on screen. From such information, you know
what the TAB module is performing.
In case of a pure stoichiometric phase or a solution phase, give its phase name, e.g. FCC,
CEMENTITE, LIQUID, SLAG, AQUEOUS, GAS, Al5Fe2, Fe-S, Wustite, Fe2O3-Hematite, etc.
REMEMBER: It is important that you have already defined the system and gotten
thermodynamic data from an appropriate solution database in the TDB module
before using this TAB_SUB command. It automatically prompts for other options and
necessary inputs for the definition of the composition of the specified phase.
For a pure stoichiometric phase defined with one single sublattice (such as Fe-S, Wustite, and
Fe2O3-Hematite), no further composition definition is needed.
For a solution phase defined with one sublattice (such as AQUEOUS solution, GAS mixture and
SLAG solution), it requests n-1 site-fraction inputs for the phase constituents (if there are n species
in the defined phase within the whole framework of currently defined system, including all the
defined elements/species, as well as the default defined vacancy and electron if necessary for the
current database); the nth species is automatically assigned as the rest.
The sum of input site fractions must not exceed unity. For example, the following
prompts and inputs can be seen for a LIQUID solution phase (from the SSOL
database) within the Fe-Cr-Ni-C-N-O framework (Note that by default, the
unprompted Ni species is assigned as the rest):
For a pure stoichiometric phase defined with two or more sublattices (such as Al5Fe2 inter-
metallic stoichiometric phase) and for a solution phase defined with two or more sublattices (such
as FCC alloy solution, and ION_LIQ ionic liquid solution, Al5Fe4 inter-metallic solution phase), it first
asks for which sublattice the site-fractions of constituents shall be specified: the default value 0 for
all possible sublattices, and a given positive number for a specific sublattice (this number must be
reasonable for the currently specified phase, i.e. it must be smaller than the total sublattice
number of the phase). Then, for the given sublattice or for all sublattices, it prompts for all the
necessary inputs of site-fractions for the possible constituents on each sublattice n-1 times if there
are n species on such a sublattice in the defined phase; the nth species on each of the sublattices
Syntax TABULATE_SUBSTANCE
are automatically assigned as the rest. For example, these prompts and inputs can be seen for an
FCC solution phase (from the SSOL database) within the Fe-Cr-Ni-C-N-O framework (Note that by
default, the unprompted O species on its sublattice 1 and VA on its sublattice 2 is assigned as the
rest):
Specify sublattice (0 for all) /0/:
FRACTIONS IN SUBLATTICE 1
CR /1/: .1
FE /1/: .8
NI /1/: .0995
FRACTIONS IN SUBLATTICE 2
C /1/: .05
N /1/: .05
If you type Return for screen a list of basic thermodynamic functions for the chosen substance or
for the specified pure or solution phase with the fixed composition is shown up as a table (which is
demonstrated in the example outputs given below), and the command is terminated.
If typing a file name, the table is both displayed on screen and saved as an *.EXP or a *.TAB file, and
the program further prompts:
Graphical output /Y/:
l For N a table is output to the screen, and the same table is saved as a basic text file with
the default extension .TAB under the current working directory. In this case, the graph
cannot be plotted.
l For Y a table is created with all the thermodynamic functions as normal (which is
displayed on screen) as well as generates a graph with temperature on the X-axis and a
chosen property on a certain column in the table on the Y-axis (which is plotted on screen
and saved as an *.EXP file), and it also ask which column is to be plotted on the resulting
graph:
Specify which property (as column number) to be plotted as the Y-axis (versus temperature as X-
axis) as a graph on the screen. Simultaneously, all tabulated properties and the Y-axis setting (i.e.
the plotted column) for the graph is written into an *.EXP file using the DATAPLOT format. The
Syntax TABULATE_SUBSTANCE
default column 2 is heat capacity, 3 enthalpy, 4 entropy and 5 Gibbs energy, and the additional
column 6 is a user-entered function. The table displays on the screen. The plot then displays on the
screen, followed by a POST: prompt. The POST module (postprocessor) automatically opens, and
all types of the POST-module commands to refine the plotted diagram may be used. Possibilities
include scaling the X/Y-axis, changing the X/Y-axis texts, etc. The command BACK or EXIT at the
POST: prompt always takes you back to the TAB module.
Example 1
For the FCC alloy phase as a non-ideal solution with a fixed composition
[Fe0.80,Cr0.10,Ni0.0995,O0.005][C0.05,N0.05,VA0.90]
The following table is obtained by typing Return for screen at the prompt Output file
/SCREEN/:
O U T P U T F R O M T H E R M O - C A L C
Phase : FCC Pressure : 100000.00
Specie: CR1/--2
***************************************************************
T Cp H S G
(K) (Joule/K) (Joule) (Joule/K) (Joule)
***************************************************************
298.15 2.70517E+01 6.23824E+03 4.40241E+01 -6.88755E+03
300.00 2.70889E+01 6.28832E+03 4.41916E+01 -6.96915E+03
400.00 2.87304E+01 9.08420E+03 5.22235E+01 -1.18052E+04
500.00 2.99904E+01 1.20222E+04 5.87742E+01 -1.73649E+04
600.00 3.10889E+01 1.50770E+04 6.43408E+01 -2.35275E+04
700.00 3.21116E+01 1.82375E+04 6.92106E+01 -3.02100E+04
800.00 3.30994E+01 2.14982E+04 7.35633E+01 -3.73524E+04
900.00 3.40742E+01 2.48569E+04 7.75182E+01 -4.49094E+04
1000.00 3.50483E+01 2.83130E+04 8.11586E+01 -5.28456E+04
1100.00 3.60268E+01 3.18667E+04 8.45449E+01 -6.11327E+04
1200.00 3.70143E+01 3.55187E+04 8.77219E+01 -6.97476E+04
1300.00 3.80149E+01 3.92700E+04 9.07241E+01 -7.86713E+04
1400.00 3.90311E+01 4.31222E+04 9.35784E+01 -8.78875E+04
1500.00 4.00649E+01 4.70768E+04 9.63064E+01 -9.73827E+04
1600.00 4.11174E+01 5.11358E+04 9.89256E+01 -1.07145E+05
Example 2
For a phase, as either an end-member or real solution, the listed species name
is irrelevant.
For the H2 species as a pure substance (using the SSUB5 database), the following table is
obtained by typing Return for screen at the prompt Output file /SCREEN/, whilst the
figure is generated by typing 5 at the prompt Plot column /2/:
O U T P U T F R O M T H E R M O - C A L C
Phase : GAS Pressure : 100000.00
Specie: H2
*************************************************************** T Cp
H S G
(K) (Joule/K) (Joule) (Joule/K) (Joule)
*************************************************************** 298.15
2.88369E+01 3.17684E-06 1.30680E+02 -3.89622E+04
300.00 2.88473E+01 5.33580E+01 1.30858E+02 -3.92042E+04
400.00 2.91591E+01 2.95686E+03 1.39209E+02 -5.27268E+04
500.00 2.92650E+01 5.87874E+03 1.45729E+02 -6.69856E+04
600.00 2.93441E+01 8.80908E+03 1.51071E+02 -8.18336E+04
700.00 2.94579E+01 1.17488E+04 1.55602E+02 -9.71730E+04
800.00 2.96320E+01 1.47027E+04 1.59547E+02 -1.12935E+05
900.00 2.98786E+01 1.76776E+04 1.63050E+02 -1.29068E+05
1000.00 3.02043E+01 2.06810E+04 1.66214E+02 -1.45533E+05
1100.00 3.05319E+01 2.37171E+04 1.69108E+02 -1.62302E+05
1200.00 3.09281E+01 2.67897E+04 1.71781E+02 -1.79348E+05
1300.00 3.13615E+01 2.99040E+04 1.74274E+02 -1.96652E+05
1400.00 3.18115E+01 3.30625E+04 1.76614E+02 -2.14197E+05
1500.00 3.22641E+01 3.62664E+04 1.78824E+02 -2.31970E+05
1600.00 3.27094E+01 3.95151E+04 1.80921E+02 -2.49958E+05
1700.00 3.31406E+01 4.28078E+04 1.82917E+02 -2.68151E+05
CREATE_DIVIDERS 486
CREATE_PIPES 487
CREATE_STAGE_BOXES 488
EXECUTE_POLY3_COMMAND 490
LIST_RECORDS 491
READ_WORKSPACE 492
SAVE_WORKSPACES 493
START_SIMULATION 494
CREATE_DIVIDERS
This command is for the REACTOR_SIMULATOR (REACTOR) module.
Define the segment boundaries and the ways on how to distribute phases between various
segments and to split the feeds of heat and mass.
Syntax CREATE_DIVIDERS
Number of dividers /4/: <The number of dividers>
Prompts Specify the number of dividers (boundaries between various segments) in the reactor. It is
normally the segment number plus one: for example, if the stage box number is defined as 4, the
divider number should be defined as 5.
Number of outputs for divider # /3/: <The number of outputs>
Define the percentages of inputs to the outputs ## in the current divider #. It is repeated till the
last output is specified.
CREATE_PIPES
This command is for the REACTOR_SIMULATOR (REACTOR) module.
Define the pipes between various segments and the ways on how the mass and heat
transport between the surroundings (with the record number as 0) and the reactor, among
various segments in the reactor, and along various dividers (segment boundaries in the
reactor).
Syntax CREATE_PIPES
From record: <A record number>
Specify a record number. If there are four segments in the reactor, these records are available:
Prompts l 0 surroundings
Specify another record number to which the mass or heat flows from the current record
(specified above). Before this prompt, a message shown on the screen indicates what kind of
mass or heat flow (according to the definitions of stage boxes and dividers, which have already
been created prior to this command) should be specified in the pipe. This is repeated for all inputs
and/or outputs for mass and/or heat in current record.
CREATE_STAGE_BOXES
This command is for the REACTOR_SIMULATOR (REACTOR) module.
Create several reaction stages as boxes (segments), where the you define the feed in either
mass input and initial temperature or heat input from surroundings, as well as the mass out
and initial temperature in each of the segments.
Syntax CREATE_STAGE_BOXES
Number of stage boxes /4/: <The number of stage boxes>
Prompts Specify the number of stage boxes in the reactor. Then define the feed of mass and/or energy
(from surroundings to) the rector.
Give feed to system: <Feed>
One feed (of mass or heat) to the reactor must be specified here. Two types of feeds can be used:
Specify other feeds (mass or energy) to the reactor. Press <Enter> to finish the feed inputs, and
then:
Give for stage box #
Now start to define the type of stage box (segment is specifically numbered as #), and to specify a
guess of initial temperature and an output for each phase in the segment.
Type of box/Equilibrium/: <Type of box>
Give a guess of initial temperature (in K) for the current segment; press <Enter> to accept the
default.
Give initial amount: <Initial amount of mass or heat>
The initial amount of mass and/or heat in the current segment can be specified here. Two types of
initial amount can be used:
Syntax CREATE_STAGE_BOXES
Specify initial amount (mass or energy) in the current segment. Press <Enter> to finish the initial
amount inputs, and then this message displays:
Each phase may have a separate output, give these
Specify a phase that has a separate output, e.g. GAS; by pressing <Enter> to accept that all REST
phases do not have separate outputs. Then the program asks for further definitions of all the other
segments (one by one), repeating some of the above questions, till the last segment in the reactor
is defined.
EXECUTE_POLY3_COMMAND
This command is for the REACTOR_SIMULATOR (REACTOR) module.
Syntax EXECUTE_POLY3_COMMAND
To directly use all kinds of POLY commands inside the REACTOR module. Any legal POLY commands
can be entered.
LIST_RECORDS
This command is for the REACTOR_SIMULATOR (REACTOR) module.
Syntax LIST_RECORDS
Lists all the already-created records for the reactor (including stage boxes, dividers, pipes, etc.).
READ_WORKSPACE
This command is for the REACTOR_SIMULATOR (REACTOR) module.
The REACTOR workspace (along with the related POLY and GIBBS workspaces) and the
simulated results from the SIMULATE command can be read by this command from a binary
file where they must be saved with SAVE_WORKSPACE. The *.RCT file is not printable.
Syntax READ_WORKSPACE
File name: The name of a saved *.RCT file where the REACTOR and POLY/GIBBS workspaces shall
be read from must be specified. You do not need to type the extension if it is the default .RCT,
otherwise type the whole *.RCT file name.
Options
An Open window displays if a file name is not given after the command or its path is incorrect, so
that the path (in the Look in field) and File name can be specified. The Files of type (i.e. RCT)
cannot be changed.
SAVE_WORKSPACES
This command is for the REACTOR_SIMULATOR (REACTOR) module.
The POLY module and Gibbs (GES) module also have a command with the same
name.
The workspaces are saved to a file with this command. In the REACTOR workspace, all
definitions of multi-stage steady-state rector and its distribution coefficients are saved,
together with the GIBBS and POLY workspaces.
After using this command, you can always return to the state when you issued the command
by giving a READ command.
After saving the workspaces to a file, you can exit the software and at a later time READ the
file and continue from the saved state.
START_SIMULATION automatically saves on the work file with the most lately
specified name. To avoid destroying the simulated results, do not SAVE after a
START_SIMULATE command is enforced, similar to that you should not use SAVE
after a STEP or MAP command. You may append several results by START_
SIMULATE without destroying the previous results but SAVE erases them all.
Syntax SAVE_WORKSPACES
File name
A file name must be specified. The default extension of the RCT file is .RCT, while or any other
extension as required.
A Save window displays if a file name is not given after the command, so that the path (in the Save
in field) and File name can be specified. The Files of type (i.e. RCT) cannot be changed. If there is
already a file with the same file name under the directory a warming message displays. Click OK to
overwrite the current REACTOR (and POLY3/GIBBS) workspaces onto the existing *.RCT file. Click
Cancel to return to the REACTOR module. You can use the SAVE command with an unspecified
name (i.e. through SAVE ,,, command-sequence) to save the REACTOR (and POLY3/GIBBS)
workspaces.
START_SIMULATION
This command is for the REACTOR_SIMULATOR (REACTOR) module.
Start the reactor simulation, and list the results for all iterations. The output for each
iteration consists of the conditions set in each segment, and you can also select some state
variables to list. After each loop, the temperatures in all segments are listed.
Syntax START_SIMULATION
Max number of loops /10/: <The max number of loops>
Prompts
Give the max number of loops. The reactor simulation repeats until this loop number is reached.
Output to screen or file /Screen/: <File name or return>
Decide on either listing simulation results on the screen (by pressing <Enter>) or saving them on
an experimental file (with the default extension .EXP).
The conditions in each segment are not saved in the file, only on the screen.
Specify the variable name(s) that is also listed on the screen together with the conditions in each
segment, or in the output experimental file.
Example
For a four-stage reactor, the output at a certain iteration may look like this:
H=-991745.1, P=100000, N(C)=2.8468936, N(N)=6.78399966E-4, N(O)=3.8171615,
N(SI)=1.77031
DEGREE OF FREEDOM 0
BP(GAS)=43.464341, BP(C1SI1_BETA)=25.175981, BP(C_S)=8.1588099,
BP(QUARTZ_S3)=68.193896
1.78803E+03
BP(GAS)=61.971213, BP(C1SI1_BETA)=38.144346, BP(QUARTZ_L)=66.230717 2.06569E+03
BP(GAS)=67.66262, BP(C1SI1_BETA)=35.480983, BP(QUARTZ_L)=58.219292
2.08691E+03
BP(GAS)=71.23129, BP(SI_L)=22.471787
2.20831E+03
H=-924751,87, P=100000, N(C)=2.0594558, N(N)=5.17999978E-4, N(O)=4.0142358,
N(SI)=2.7551438
DEGREE OF FREEDOM 0
BP(GAS)=43.464341, BP(C1SI1_BETA)=25.175981, BP(C_S)=8.1588098,
BP(QUARTZ_S3)=68.193896
1.78803E+03
BP(GAS)=61.971213, BP(C1SI1_BETA)=38.144346, BP(QUARTZ_L)=66.230717 2.06569E+03
BP(GAS)=67.66262, BP(C1SI1_BETA)=35.480983, BP(QUARTZ_L)=58.219292
2.08691E+03
BP(GAS)=71.23129, BP(SI_L)=22.471787
2.20831E+03
H=-813239., P=100000, N(C)=1.6592668, N(N)=3.59999988E-4, N(O)=3.7549293,
N(SI)=2.896635
DEGREE OF FREEDOM 0
BP(GAS)=43.464341, BP(C1SI1_BETA)=25.175981, BP(C_S)=8.1588098,
BP(QUARTZ_S3)=68.193896
1.78803E+03
BP(GAS)=61.971213, BP(C1SI1_BETA)=38.144346, BP(QUARTZ_L)=66.230717 2.06569E+03
BP(GAS)=67.66262, BP(C1SI1_BETA)=35.480983, BP(QUARTZ_L)=58.219292
2.08691E+03
BP(GAS)=71.23129, BP(SI_L)=22.471787
2.20831E+03
H=7374.6403, P=100000, N(C)=8.84911857E-1, N(N)=1.99999996E-4, N(O)=1.9379203,N
(SI)=1.853872
DEGREE OF FREEDOM 0
BP(GAS)=43.464341, BP(C1SI1_BETA)=25.175982, BP(C_S)=8.1588097,
BP(QUARTZ_S3)=68.193896
1.78803E+03
BP(GAS)=61.971213, BP(C1SI1_BETA)=38.144346, BP(QUARTZ_L)=66.230717 2.06569E+03
BP(GAS)=67.66262, BP(C1SI1_BETA)=35.480983, BP(QUARTZ_L)=58.219292
2.08691E+03
BP(GAS)=71.23129, BP(SI_L)=22.471787
2.20831E+03
10 1788.03 2065.69 2086.91 2208.31 0.00 0.00 0.00
In this section:
ADD_LABEL_TEXT 499
APPEND_EXPERIMENTAL_DATA 501
CHANGE_LEGEND 502
DUMP_DIAGRAM 503
ENTER_SYMBOL 504
FIND_LINE 507
LIST_DATA_TABLE 508
LIST_PLOT_SETTINGS 509
LIST_SYMBOLS 510
MAKE_EXPERIMENTAL_DATAFILE 511
MODIFY_LABEL_TEXT 512
PLOT_DIAGRAM 513
PRINT_DIAGRAM 514
QUICK_EXPERIMENTAL_PLOT 515
REINITIATE_PLOT_SETTINGS 516
RESTORE_PHASE_IN_PLOT 517
SELECT_PLOT 518
SET_AXIS_LENGTH 519
SET_AXIS_PLOT_STATUS 520
SET_AXIS_TEXT_STATUS 521
SET_AXIS_TYPE 522
SET_COLOR 523
SET_CORNER_TEXT 525
SET_DIAGRAM_AXIS 526
SET_DIAGRAM_TYPE 528
SET_FONT 529
SET_INTERACTIVE_MODE 530
SET_LABEL_CURVE_OPTION 531
SET_PLOT_FORMAT 532
SET_PLOT_OPTIONS 533
SET_PLOT_SIZE 535
SET_PREFIX_SCALING 536
SET_RASTER_STATUS 537
SET_REFERENCE_STATE 538
SET_SCALING_STATUS 540
SET_TIC_TYPE 541
SET_TIELINE_STATUS 542
SET_TITLE 543
SET_TRUE_MANUAL_SCALING 544
SUSPEND_PHASE_IN_PLOT 545
TABULATE 546
ADD_LABEL_TEXT
Add a text to an area in a phase diagram or a property diagram. The label is written starting
from the specified coordinates. Optionally, you can also let the program automatically add
the text by first calculating an equilibrium state at the specified coordinates and then
making a label out of the stable phase names.
The label texts and coordinates, either added by this command or modified with MODIFY_
LABEL_TEXT (or manually edited in the Console Results window), are stored in the workspace,
and these may later be saved onto an *.EXP file (with MAKE_EXPERIMENTAL_DATAFILE).
In some cases such an optional calculation for automatic phase region labeling
may not work. It is not possible to automatically add labels for certain sets of
axes, like entropy, enthalpy, pH, Eh, etc.
Plot Labels
Syntax ADD_LABEL_TEXT
Give X coordinate in axis units: <Value of the X coordinate>
Prompts
Specify the value of the X coordinate where the label is to start.
Give Y coordinate in axis units: <Value of the X coordinate>
By default the program automatically calculates the equilibrium at the given coordinates and
generates a label with the names of the stable phases. However, the automatic calculation works
only for phase diagrams that are mapped with two axes in the POLY module, and sometimes it
may not work correctly especially for complex heterogeneous interaction systems; in such cases,
a message displays.
Text: <Text for the label>
If you answer N enter text at the prompt. You can enter simple text, use LaTeX, rotate the text, as
well as adjust the font size.
LaTeX: You can use LaTeX commands to enter text and symbols. First enter the command
followed by the expression or string, for example to display Al2O3 as subscripts:
\latex Mole-fraction Al_2O_3
Syntax ADD_LABEL_TEXT
By default when using the LaTeX command, you are in math mode and Thermo-
Calc automatically interprets the entered text as math. The above link uses the
dollar sign ($) in all the examples but this is NOT required. For example, if you
enter $E=mc^2$ this is displayed including the $ instead of the equation.
To add a mixture of plain text and equation text, you can exit math mode using the
string \textrm followed by the text to display enclosed in curly brackets. For
example \latex \textrm{Mole-fraction }Al_2O_3 displays this label
.
Rotate the text: If you want to rotate the label, start a text string with the rotation command
(which is case sensitive and must be in lower case letters) then enter the number of degrees to
rotate the label. For example, to rotate the label 45 degrees enter:
\rotation 45
To rotate the text and use LaTeX, the rotation command must be used first. For example:
\rotation 45 \latex Mole-fraction Al_2O_3
Rotates the text 45° and includes subscripts in the title Mole-fraction Al2O3.
Text size: /.35/: <Size for the label>
A smaller size of the text may be necessary to fit the label text into the diagram. A default size is
given using the latest size in adding label texts, or .35 if the command is called for the first time. A
recommended size is e.g. 0.25.
These changes to plot labels can also be manually edited in the Console Results
window.
APPEND_EXPERIMENTAL_DATA
Add experimental data and text onto a calculated diagram. This is done by placing the
experimental data and text on a formatted textual file (always having an extension of EXP)
that is prepared outside of Thermo-Calc software (Console Mode and Graphical Mode),
according to the syntax of the DATAPLOT Graphical Language.
The picture generated from the data is superimposed on the ordinary graphical output from
the postprocessor. Such an experimental data file (*.EXP) may be created by an ordinary
textual editor.
Another important usage of this command is to superimpose plots from several independent
calculations. For this purpose, there is a command MAKE_EXPERIMENTAL_DATAFILE, which
dumps a calculated diagram on an EXP file according to the DATAPLOT syntax. With the aid
of a normal text editor, many such files may be merged together. Remember that you can
only have one prologue section on each such EXP file.
Syntax APPEND_EXPERIMENTAL_DATA
Use experimental data (Y or N) /N/:
Prompts By default, no experimental data are plotted. Enter Y to use the data from an experimental data
file in the next plot. An Open window displays to specify the name of the file with the
experimental data.
Prologue number: /0/: <Prologue number>
Select which prologue to use. In a prologue, you can, for example, give the scaling of an axis, the
axis texts, and so on.
Select from which dataset(s) data should be read. Several datasets may be given separated with
commas or spaces. By answering -1, a list of all datasets on the file is given; and by 0, no
experimental data are appended.
CHANGE_LEGEND
When there is a legend in the diagram you can append constitution and/or ordering
descriptions to the phase name.
In some cases the legend only shows the phase name for a line when SET_LABEL_
CURVE_OPTION is set to F.
Syntax CHANGE_LEGEND
Set suffix for phase names in legend? (All, None, Constitution, Ordering)/None/:
l None: the legend includes the standard information about the phases.
l All: the Constitution description and the Ordering description (when there is ordering)
Prompt are also included.
l Constitution: it is added to the standard description.
l Ordering (when applicable): it is added to the standard description.
DUMP_DIAGRAM
This is an alternative command used to create output. First use the PLOT_DIAGRAM
command to send output to the Results window. Then you can save it to a file either using
this command or right-click the diagram in the Results window and select Save as.
Syntax DUMP_DIAGRAM
If you choose to enter the parameters and file name in one line (i.e. when you are
entering the command), the Save window does not open as described below. For
example, if you enter dump_diagram png test at the prompt, an image file called
test.png is output to the same folder where the macro file is stored. If a file with the
specified name already exists, you are prompted to overwrite the old file. You can
alternatively add Y or N to the command string to specify whether to overwrite the
file or not e.g. dump_diagram png test y.
A Save window opens if you have not specified a file name. Select a directory path and enter a File
name. If a file with the specified name already exists, then you are prompted whether to
overwrite the old file or not. The third argument of the command (Y) allows you to specify
whether to overwrite the old file or not (N).
After the output is done, the temporarily set graphic device for conversion and
printing is switched back to the one set by the command SET_PLOT_FORMAT, so
that you can save the graph in file(s) using PLOT_DIAGRAM.
ENTER_SYMBOL
This command is for the POST module.
There are also a GES and POLY module commands with the same name.
Symbols are a useful feature of the POLY and POST modules to define quantities that are
convenient. Symbols can be constants, variables, functions or tables.
Functions or tables (with defined functions as values) can be entered in the POST module
after a stepping or mapping calculation, for purposes of plotting such entered functions or
tables as axis variables.
Within the POLY module, symbols are normally defined prior to an equilibrium calculation
(enforced by a C_E command), stepping calculation (enforced by the command STEP_WITH_
OPTIONS) or mapping calculation (enforced by MAP). These can be entered after an
equilibrium calculation; however, for defined functions, variable or tables, it requires using
EVALUATE_FUNCTIONS before showing the corresponding values in the calculated equilibrium
state.
The symbols entered in the POST module are not saved in the currently-loaded POLY3
workspaces. Therefore, if you want to apply such symbols in other similar calculations for
the same defined system, you must use the ENTER_SYMBOL command prior to the
STEPPING or MAPPING calculation in the POLY module.
Symbols are a useful feature modules to define quantities that are convenient. Symbols can
be constants, variables, functions or tables.
Syntax ENTER_SYMBOL
Constant, Variable, Function or Table? /Function/: <Keyword>
l CONSTANTS can only be entered once and is a means of using a name for a numeric
value. For example, the value of 1 atmosphere in Pascal can be denoted by P0 after the
command ENTER_CONSTANT P0=101325. Defined constants can be used as values in
Prompt condition assignments, for example, SET-COND P=P0.
l FUNCTIONS are expressions of state variables or other functions. These expressions are
saved, and whenever a function value is requested all functions are evaluated. The reason
for this is that they may depend on each other.
l VARIABLES are similar to functions because they can also be expressions of state
variables. However, contrary to functions, they are only evaluated when they are entered
Syntax ENTER_SYMBOL
Each symbol has a unique name that must start with a letter and can have maximum 8 characters.
Legal characters include letters (either UPPER or lower case), digits and underscore _. Any other
special character, such as parentheses ( and ), plus +, minus -, slash / or \, full stop (.), are illegal for
symbol names.
You can enter the symbol name and the value or function on the same line, these must be
separated with an equal sign =, for example, TC=T-273.15 or T_C=T273.15 which stands for a
definition of temperature in Celsius. Otherwise, these questions are asked.
For different types of symbol (constant, function, variable or table), the questions
have different prompts.
Functions and variables are evaluated from an expression of state variables or other functions,
constants or variables. The expression is a FORTRAN-like expression and operators +, -, *, = and **
can be used (** only with integer powers).
Unary functions like LOG, LOG10, EXP, SIN, COS and ERF can also be used. An expression can be
continued on more than one line. An expression should be terminated by a semicolon (;) or an
empty line (by pressing <Enter> at the next prompt).
Examples of function expressions:
The ampersand & means that you can continue to write the function on the new line if one line is
not enough for the function. If you finish the function press <Enter> again.
Syntax ENTER_SYMBOL
Value: <Value for a constant>
A table consists of a list of state variables or functions. One way to obtain results from a STEP
command is through a table.
Example:
ENTER TABLE K=T,X(LIQ,C),X(LIQ,CR),ACR(C)
Which means that the table called K contains four columns, i.e. the temperature, the mole
fractions of C and Cr in the LIQUID phase, and the activity of C.
To show the temperature in Celsius in a table, give the command ENTER_FUNCTION TC=T-273; and
then use the symbol TC in the table.
& <Continuation of the definition for the table>
The ampersand & means that you can continue to write the table on the new line if one line is not
enough for the table. If you finish the table press <Enter> again.
FIND_LINE
Identifies various property curves on a plotted property diagram (after a stepping
calculation); it also works well in find stable phase regions on a phase diagram (after a
mapping calculation).
Syntax FIND_LINE
X coordinate /.484623611/: <Value of the X coordinate>
Prompts Specify the value of the X coordinate where you want to find the details of property curve (or
phase region).
Y coordinate /.5153737962/: <Value of the Y coordinate>
Specify the value of the Y coordinate where you want to find the details of property curve (or
phase region).
The POST module displays the identified property (for a property curve on a property diagram), or
the identified stable phase-assemblage (for a phase region on a phase diagram).
LIST_DATA_TABLE
This is a POST module command.
This command is used for listing various properties (i.e. the Y-axis variable on a property
diagram) that change with an independent variable (i.e. the X-axis variable on a property
diagram), which have already been defined in the POST module (and often are plotted on
the Console Results window), but only after a STEP calculation.
The listing output can be either on screen or in a spreadsheet file in the MS Excel format
(under specified file name with the default file extension of XLS), which can be further
edited or used for graphical handling by opening the file (using the MS-Excel program)
outside of the Thermo-Calc software system.
Syntax LIST_DATA_TABLE
Output to screen or file /Screen/: <File name or return >
Specify a file name if you want to save on a spreadsheet file (in the MS Excel format, with the
default extension of XLS) on which the already-defined properties on a property diagram (after a
STEP calculation) is saved, or press <Enter> if want to see a simple textual table on screen (for the
Prompt already-defined properties that change alone with an independent variable).
This command only works for a property diagram after a stepping calculation but
not for any phase diagram after a mapping calculation.
LIST_PLOT_SETTINGS
This is a POST module command.
Syntax LIST_PLOT_SETTINGS
Lists the present values of most parameters specifying the type of diagram to be plotted.
LIST_SYMBOLS
This command is for the POST module.
Use this command to list the definitions for all constants, functions, variables and tables. In
order to find the value of a function or variable, use SHOW_VALUE or EVALUATE_FUNCTIONS. A
table is tabulated with the TABULATE command.
Syntax LIST_SYMBOLS
The defined variables are listed up together with the defined functions, but variable names are
followed by a percentage sign %.
MAKE_EXPERIMENTAL_DATAFILE
Write the graphical information onto screen or a formatted text file (always having an
extension of .EXP) using the DATAPLOT graphical format. In order to merge two or more
diagrams from separate calculations, you can write them out on files with this command,
and then add/edit them together with a normal text editor.
Syntax MAKE_EXPERIMENTAL_DATAFILE
Output to screen or file /Screen/: <Name of a file or return>
Prompt Specify the name of the desired file. Press <Enter> for a list. Otherwise enter a file name where
the graphical information is written. The default file extension is EXP (for Windows) or exp (for
Linux).
MODIFY_LABEL_TEXT
Move a label created with the command ADD_LABEL_TEXT to another position, or replace its
text with another one.
The label texts and the coordinates, either added by ADD_LABEL_TEXT command or
modified by this command or manually edited on the Console Results window, are stored in
the workspace, and can be saved onto an *.EXP file (through MAKE_EXPERIMENTAL_DATAFILE).
Syntax MODIFY_LABEL_TEXT
Which label to modify? /#/: <Number of the label>
Prompts Before this prompt, all the labels created by the ADD_LABEL_TEXT command is listed with an
identifying number. Specify the Number of the label you want to modify. The default one (#) is
the last added label.
New X coordinate: /xxx/: <New X position>
Specify the New X position. The previous X coordinate is displayed. Press <Enter> to accept.
New Y coordinate: /yyy/: <New Y position>
Specify the New Y position. The previous Y coordinate is displayed. Press <Enter> to accept.
New text /ABCDEFGH.../: <New labeling text>
Specify the New labeling text. The previous text is displayed. Press <Enter> to accept.
The new label text must not be longer than the previous text.
PLOT_DIAGRAM
After you use the SET_PLOT_FORMAT command to define the default graphic device (the
printer) you can use a PLOT_DIAGRAM command to either save the calculation output to a file
or display the output in the Results window.
Syntax PLOT_DIAGRAM
Output to screen or file /Screen/: <Name of a file or return for screen>
Prompt
Specify the name of the file
A file with a proper extension for the selected graphic format (set by SET_PLOT_FORMAT) is saved
under the current working directory. If no extension is given in the file name, the default extension
e.g. ps for Postscript portrait/landscape modes, P7 or p7 for HPGL landscape, P8 or p8 for HPGL
portrait, etc.) is automatically given to the file name.
If the default device is set (SET_PLOT_FORMAT), press <Enter> to plot the diagram on the screen in
the Console Results window or give a file name to save it.
PRINT_DIAGRAM
Saving and Printing the Output in Console Mode
First use PLOT_DIAGRAM to create a diagram that displays in the Console Results window.
Then after entering the PRINT_DIAGRAM command, the Print window opens where you can
choose additional settings for a hard copy of the diagram.
QUICK_EXPERIMENTAL_PLOT
This is similar to APPEND_EXPERIMENTAL_DATA but can be used when there is no graphical
information to be plotted in the POLY3 workspace. It defines a pair of axes, sets the axis
labels to X and Y, and scales both X- and Y-axes between 0.0 and 1.0 unless a prologue is
read from the DATAPLOT (*.EXP) data file.
Plotting Experimental Data Files in the DATPLOT User Guide included with this
documentation set.
Syntax QUICK_EXPERIMENTAL_PLOT
Prologue number: /0/: <Prologue number>
Prompts An Open window displays. Select the prologue to use. In a prologue, you can, for example, give
the scaling of an axis, the axis texts, and so on. By answering -1, a list of all prologues on the file is
given; and with 0, no experimental data are appended.
Dataset number(s) /-1/: <Dataset number(s)>
Select from which dataset(s) data should be read. Several datasets may be given separated with
commas or spaces. By answering -1, a list of all datasets on the file is given; and with 0, no
experimental data are appended.
REINITIATE_PLOT_SETTINGS
The REINITIATE_PLOT_SETTINGS command gives default values to all parameters describing
the diagram. All plot settings made in the POST module are deleted, and it returns to the
initial settings when the POST module is entered.
RESTORE_PHASE_IN_PLOT
Restores a phase previously suspended from the plot with SUSPEND_PHASE_IN_PLOT. It works
only after at least one phase is suspended.
Syntax RESTORE_PHASE_IN_PLOT
Phase name: <Name of a phase>
Prompt
Give the name of the phase to be restored.
SELECT_PLOT
Select a plot (diagram) within the current Results tab in the Console Results window.
Syntax SELECT_PLOT
Plot <N/New>
Where N is a positive integer. Enter the number of the plot that is selected in the Console Results
window (in the currently selected Results tab). If a plot with that number does not exist, it is
Prompt created.
The default parameter value is NEW. If this is entered, then a new plot is created. Create a new plot
can also be done by pressing <Ctrl+Shift+T>.
SET_AXIS_LENGTH
Change the real length of an axis in inches. The default number of tic-marks on an axis is 10
when the relative length is 1. The number and units per tic-mark must be a multiple of 1, 2
or 5 to obtain a reasonable scaling of an axis.
Syntax SET_AXIS_LENGTH
Axis (X, Y or Z): <Name of an axis>
Prompts
Specify which axis to set the length.
Axis length /11.5/: <New relative axis length>
Specify the new real axis length in inches. The relative length 1 corresponds to 10 tic-marks on
the axis.
SET_AXIS_PLOT_STATUS
Specify whether the axis title texts and axis label texts are to be plotted or not on a diagram.
It does not work for the axis lines and tic-marks. If you want to plot a diagram without tic-
marks, use SET_TIC_TYPE first.
This can be used to merge different diagrams on a pen-plotter or to obtain the diagram
faster. The default status is that all the set axes are to be plotted.
Syntax SET_AXIS_PLOT_STATUS
SET_AXIS_TEXT_STATUS
Change the axis text from the automatic text given by the axis specification to a text.
ADD_LABEL_TEXT
Syntax SET_AXIS_TEXT_STATUS
Axis (X, Y or Z): <Name of an axis>
Prompts
Specify which axis text status to change.
Automatic axis text (Y or N) /N/:
You can enter simple text, use LaTeX, rotate the text, as well as adjust the font size.
SET_AXIS_TYPE
Change the axis type among linear, logarithmic and inverse axis.
Syntax SET_AXIS_TYPE
Axis (X, Y or Z): <Name of an axis>
Prompts
Specify which axis to change the axis type.
Axis type /Linear/: <New axis type>
Specify which new axis type to set. Select LINear (default), LOGarithmic or INVerse. Only the three
first characters are relevant.
SET_COLOR
Some devices support colours or line thickness. With this command, select different colors or
line types on some types of information on a diagram.
This command can fail if a chosen device does not support colors or line
thickness.
This command gives four sequential prompts (i.e. text and axis, invariant equilibria, tie-lines,
and all other lines), with the keyword and default option (both listed below). Depending on if
the switched-on graphic device (by SET_PLOT_FORMAT) supports colors or line types, the POST
automatically switches on the appropriate Keyword.
Syntax SET_COLOR
Text and axis keyword /Default option/
<Return or new option>
Invariant equilibria keyword /Default option/: <Return or new option>
Prompt Tie-lines color keyword /Default option/: <Return or new option>
Keyword of all other lines /Default option/: <Return or new option>
Color Options
The options for Color are:
LineType Options
The options for LineType are:
THICK VERY_THIN
DASHED DOTTED
SET_CORNER_TEXT
Adds text to the corners on a plotted diagram. Normally, you can write such texts as a
subtitle.
The primary database (not the appended ones) used in calculations and the calculated
conditions are automatically plotted at the upper-left corner as a part of the header on all
plotted diagram. Unless the plotting option WRITE CONDITIONS is switched off by the
command SET_PLOT_OPTIONS, the calculated conditions are always written on plotted
diagrams; and only when the plotting option PLOT HEADER is switched off by the command
SET_PLOT_OPTIONS, the used database also always appear. Under such circumstance, avoid
writing texts at the UPPER_LEFT corners.
Syntax SET_CORNER_TEXT
Corner/Lower_Left/: <Return or new option>
Choose an option:
l LOWER_LEFT
Prompt l UPPER_LEFT
l UPPER_RIGHT
l LOWER_RIGHT
l TOP_OF_TRIANGLE
Write the texts that are to be written on the specified diagram corner.
SET_DIAGRAM_AXIS
Specify an axis variable for a plot or a listing. To be able to plot a diagram, at least two axis
variables (X and Y) must be specified. In Console Mode, three axes (X, Y, and Z) can be
specified for a diagram.
The axis variables in the plot can be different from the number of axis used for
the mapping.
If you want to plot a phase diagram with tie-lines in the plane after a MAP calculation, then
the composition axis must be mole-fraction or weight-fraction, or mole-percent or
weight-percent of one specific component. You must not use the stable variable x(comp)
or w(comp) even if that is what you used when calculating the diagram, because that only
gives one side of the two-phase region. It may be sufficient to indicate that mole-fraction is
the same as the stable variable x(*,comp), and weight-fraction is the same as the stable
variable w(*,comp).
If you plot a phase diagram where the tie-lines are not in the plane after a MAP calculation,
then mole-fraction and x(comp) are identical.
When you plot a property diagram after a STEP calculation and want a composition axis
variable, you should normally use x(comp) and not mole-fraction.
The axis must have exactly the same number of columns, or one axis must have one column.
In the first case the columns are plotted matching them one by one; in the latter all columns
on one axis is plotted against the single column. For example, you can have the temperature
on one axis and the amount of each phase on the other. The amount of each phase is the
state variable NP(*) in mole fraction or BPW(*) for mass fractions of phases.
Automatic diagram axis: The POST module can set automatic diagram axis identical to
those used in the MAP command.
If the state variable x(comp) is used in a MAP calculation, then mole-fraction of the
component is used as diagram axis; if a potential or some other state variables are used,
then that is used as a diagram axis.
After a STEP calculation, automatic diagram axis is not set as there is only one axis used in
the calculation.
Syntax SET_DIAGRAM_AXIS
Axis (X, Y or Z): <Axis name>
Syntax SET_DIAGRAM_AXIS
l TEMPERATURE-CELSIUS as temperature in °C
l TEMPERATURE as temperature in K
l PRESSURE as pressure in Pa
l ACTIVITY for a component
l LNACTIVITY for a component [ln(ACR(component)]
l MOLE-FRACTION for a component
l MOLE-PERCENT for a component
l WEIGHT-FRACTION for a component
l WEIGHT-PERCENT for a component
l ENTHALPY as enthalpy in J/mol
l ENTROPY as entropy in J/mol/K
l NONE to clear the axis
l Any valid state variable including those with wildcards, e.g. NP(*) or x(*,component). Due
to the use of wildcard * in such a state variable, the program asks for a column number.
l Any entered function or variable.
l Any entered table.
If you specify an entered table as the variable, then you are given these prompts:
For component: <Component name>
When an activity, mole or weight fraction or percent of a component shall be plotted, the
component name must be supplied here.
Column number: <Column number(s)>
Specify the column number(s) in the chosen table that are to be plotted onto the earlier specified
axis. For example:
l 1 for column 1
l 2,3 for columns 2 and 3
l 2,3 >5 for column 2,3 and all columns above column 5
l * for all columns
SET_DIAGRAM_TYPE
Choose the diagram type as perpendicular plot or triangular plot (Gibbs triangle, especially
for ternary systems). The default is with a perpendicular axes.
For phase diagrams of ternary or pseudo-ternary systems, it is usually need to plot
isothermal sections as triangular grams. If desired, all lines outside the region limited by a
line joining the end points of the X- and Y-axis is removed.
Syntax SET_DIAGRAM_TYPE
Triangular diagram (Y or N) /N/:
The default is to set a perpendicular axis. Perpendicular diagrams have (almost) the same scaling
on both axes.
Prompts Create tetrahedron WRML file (Y or N) /N/:
The 3D plotting in Console Mode does not work. Enter Y to specify a triangular plot
instead.
If a triangular plot is selected, enter Y to specify a 3rd axis and to connect (and plot) the end points
of the X- and Y-axes.
Clip along 3rd axis (Y or N) /N/:
If a triangular plot is selected, enter Y so that all lines outside the region limited by a line joining
the end points of the X- and Y-axis are removed.
SET_FONT
Select the font to use for labels and numbers when plotting the diagram under the currently
selected graphic device (SET_PLOT_FORMAT). For some devices there may be other fonts
available and these are selected by SET_PLOT_FORMAT.
Syntax SET_FONT
Select font number /1/: <#>
Specify an available font number # as the default font for the current graphic
Prompts device, or accept the font number 1 by pressing <Enter>. By typing a question mark
? here, the program lists the available fonts under the currently selected graphic
device.
Font size /.34/: <##>
The size of the chosen font is specified. A value around 0.34 is recommended.
SET_INTERACTIVE_MODE
In the POLY module this is called SET_INTERACTIVE.
SET_LABEL_CURVE_OPTION
Identify the curves drawn in the post-processor by marking each curve with a digit and then
list the meaning of these digits beside the plot.
The number of digits can be quite large in some cases. If so, use SET_FONT and
reduce the font size; usually, 0.2 is sufficient.
Syntax SET_LABEL_CURVE_OPTION
The options:
This question is rather cryptic but usually the option B or E is good for phase diagrams (after a MAP
command) and option D or F for property diagrams (after a STEP command). Those interested can
try out the option A and C by themselves.
Option B or E lists the fixed phases along each curve, whereas option D or F gives
the axis variables used along each curve. E provides varied colors for different
stable-phase curves on phase diagrams (after a MAP command); F provides varied
colors for different property curves on property diagrams (after a STEP command).
The option N (NONE) disables all curve labels and lists.
If, for example, you use T (temperature in K) as the variable axis in a STEP command and then plot
the amount of stable phases (with SET_DIAGRAM_AXIS Y NP(*)) on the Y-axis versus T-C on the X-
axis, then the list may have lines like:
1: T-273.15, NP(LIQUID)
2: T-273.15, NP(FCC_A1)
This means that for curve 1 the X-axis is T-273.15 (the same for all curves, of course) and NP
(LIQUID) on the Y-axis. Curve 2 has the same X-axis but NP(FCC_A1) on the Y-axis.
SET_PLOT_FORMAT
Adjust the format of the graphical output to another graphical device. This default can be
changed with the SET_PLOT_ENVIRONMENT command in the SYSTEM MONITOR.
Syntax SET_PLOT_FORMAT
Graphic device number /#/: <Number of the device>
Specify a graphic device number. Depending on the hardware, different plot formats (graphic
Prompt devices) may be available. These are listed online by giving a question mark ?.
For some formats there can be additional sub-prompts (Y or N) about the available fonts being
used for the chosen format. Also enter Y for further specifications, e.g. font type and size.
SET_PLOT_OPTIONS
You are prompted for and can toggle on (Y) or off (N) the plotting of some options on all
subsequently generated diagrams.
For the Always initiate POST on re-entering prompt, the default is Y which implies
that the POST module automatically reinitiates whenever the POLY3 workspace is changed
upon re-entering. If answered N the same diagram axis variables are kept even if the
workspaces in the POLY module are read from or written to a *.POLY3 file. The N answer is
useful when there are several sets of *.POLY3 files with the same calculation but for
different sets of model parameters.
For the Always solid line prompt, the default answer is N which means that the POST
module plots solid lines for stable phases but dashed lines for metastable phases. This is
normally for plotting property diagram after a STEPPING calculation; however, when there is
a metastable extrapolation in a phase region on a phase diagram after a MAPPING
calculation, this is also enforced. When the alternative answer Y is chosen, all the lines are
always plotted in solid lines.
Syntax SET_PLOT_OPTIONS
Plot header /Y/:
Prompts
Toggle the plotting of the header text above a diagram.
Plot logo /Y/:
Toggle the plotting of the Thermo-Calc logo at the lower-left corner of a diagram.
Plot footer /Y/:
Toggle the plotting of the footer identifier text at the right margin of a diagram.
White-Contoured-PS-CHARS /Y/:
This makes it possible to plot symbols at the node points on plotted lines on a
diagram.
Symbol size /.1/: <.#>
Set the size of symbols which are plotted at the node points.
Write condition? /Y/:
By default, the initial equilibrium conditions for the current calculations are
automatically plotted at the upper-left corner as a part of the header. If you enter
Syntax SET_PLOT_OPTIONS
By default, the primary database (not appended ones) used in the current
calculations are plotted at the upper-left corner as a part of the header. If you enter
N, the database name is not included on a plotted diagram.
Always initiate POST on re-entering: /Y/:
By default the POST module plots solid lines for stable phases and dashed lines for
metastable phases. This is normally for plotting property diagrams after a STEPPING
calculation. However, when there is a metastable extrapolation in a phase region on
a phase diagram after a MAPPING calculation, this is also enforced. Enter Y to always
plot solid lines in this case, for example.
SET_PLOT_SIZE
Change the size of the diagram by specifying a global plot size (as a relative scaling factor).
The default value of the relative scaling factor is 1, while the real size of the plotted diagram
depends on what output device is chosen with SET_PLOT_FORMAT. The default plot size
(corresponding to the default global plot size 1) is adjusted to the chosen device.
Syntax SET_PLOT_SIZE
Global plot size /1/: <Relative scaling factor>
Prompt Enter the relative scaling factor as a numerical number (e.g. 0.5, 0.8, 1.0, 1.5, etc.). By pressing
<Enter>, the default relative scaling factor (1) is accepted.
SET_PREFIX_SCALING
Specify on which axis is to have a prefix scaling then set the scaling of remote exponents
with certain powers.
Syntax SET_PREFIX_SCALING
Axis (X, Y or Z): <Name of an axis>
Prompt
Specify which axis is to have a prefix scaling.
Use prefix scaling /Y/: (Y or N or #)
l YES arranges theprefix scaling so that the axis scaling is done with the remote exponents
being powers of three, i.e. ...,-6,-3,0,3,6,.... The default is 3.
l # is an integer number that sets the remote exponents as being powers of # (as the
powers for the remote exponents).
SET_RASTER_STATUS
Plot a raster (i.e. with gridlines on both axis directions) in the diagram.
Syntax SET_RASTER_STATUS
Raster plot (Y or N) /N/:
Prompt
By default no raster is plotted. Enter Y to plot using a raster plot.
SET_REFERENCE_STATE
This command is available for the POLY, ED-EXP and POST modules.
The reference state for a component is important when calculating activities, chemical
potentials and enthalpies and is determined by the database being used. For each
component the data must be referred to a selected phase, temperature and pressure, i.e.
the reference state.
All data in all phases where this component dissolves must use the same
reference state. However, different databases can use different reference
states for the same element/component. It is important to be careful when
combining data obtained from different databases.
By default, activities, chemical potentials and so forth are computed relative to the
reference state used by the database. If the reference state in the database is not suitable
for your purposes, use this command to set the reference state for a component using SER,
i.e. the Stable Element Reference (which is usually set as default for a major component in
alloys dominated by the component). In such cases, the temperature and pressure for the
reference state is not needed.
In order to specify conditions in the specific reference state, you can append an R to the
state variables. Thus, AC is the activity (of a system component or of a species in a phase)
with respect to the default reference state, and ACR is the activity with respect to the
selected reference state; MU is the chemical potential of a system component with respect
to the default reference state, and MUR stands for the chemical potential with respect to the
selected reference state. The AC and ACR variables, for both components in a system and
species in a phase, can be specified in natural logarithm, e.g. LNAC(Fe), LNACR(C), LNAC
(O2,GAS), LNACR(O2,GAS).
For the POST module, and after calculating with the STEP_WITH_OPTIONS or MAP commands,
the reference state for a component can also be changed to plot various properties of the
component in the entire system or in a specific phase. Then you can set the diagram axes as
the chemical potential or activity quantities with the R suffix, i.e. MUR(comp), MUR
(comp,ph), ACR(comp), ACR(comp,ph) or the common logarithms [e.g. LNACR(comp,ph)].
Syntax SET_REFERENCE_STATE
Component: <Name of the component>
Prompts
The name of the component must be given.
Reference phase: <Name of a phase used as the new reference state>
Syntax SET_REFERENCE_STATE
If a component has the same composition as several end members of the chosen reference
phase, then the end member that is selected at the specified temperature and pressure will have
the lowest Gibbs energy.
The following are example using temperature. Pressure is used in the same way:
l In the Fe-C system, BCC can be a reference state for Fe but not for C since BCC can exist
as pure Fe but cannot exist as pure C.
l If GAS is chosen as the reference phase of component O at such a high temperature that
O1 has the lowest energy, then O1 remains the reference state even at calculations
performed at lower temperatures where O2 has a lower energy than O1.
l Setting the reference state for component O as gas (one sublattice) with constituents O1,
O2 and O3 results in O2 being the reference state if, at the present temperature, pure
O2 has the lowest energy of O1, O2 and O3. If the reference state is set above a critical
higher temperature, then O1 has the lowest energy and consequently becomes the
reference state.
Select the Temperature (in K) for the reference state. The wildcard value * means the current
temperature is used at the time of evaluation of the reference energy for the calculation.
The temperature set with this command does not affect the temperature used
when evaluating the energy of the reference state during the end member
selection process.
Select the Pressure (in Pa) for the reference state. The wildcard value * means the current
pressure is used for evaluating the reference energy at the time of calculation.
Examples
S-R-S Fe SER
S-R-S Cr FCC * 100000
S-R-S H2O AQUEOUS * 100000
S-R-S ZE REF_ELECTRODE * 100000
SET_SCALING_STATUS
When an axis variable is selected by SET_DIAGRAM_AXIS, the scaling status for the axis is
always set to automatic scaling. By this command, choose between manual or automatic
scaling on a specified axis. If manual scaling is chosen, specify a minimum and a maximum
value. Manual scaling can be used to magnify interesting parts of a diagram.
Syntax SET_SCALING_STATUS
Axis (X, Y or Z): <Name of an axis>
Prompts
Specify which axis that you want to set the scaling status.
Automatic scaling (Y or N) /N/:
SET_TIC_TYPE
Change the drawing of the axis tics. You may alter the placement of tic marks on the axis,
e.g. inside or outside or no tic marks. The size of tic marks cannot be altered by this
command, but these are adjusted based on the selected graphic device and the defined
relative scaling factor (global plot size).
Syntax SET_TIC_TYPE
TIC Type /1/: <1 or -1 or 0>
Prompt The tic type 1 is default, i.e. the tics are drawn outside the diagram. -1 means that the tics are
inside the diagram and 0 means no tics.
SET_TIELINE_STATUS
If the tie-lines are in the plane of the calculation, you can select to plot the tie-lines in two-
phase fields with this command.
Syntax SET_TIELINE_STATUS
Plotting every tie-line no. /0/: <Number of tie-lines>
Prompt The tie-lines plotted are not equally spaced by the graphics software. Instead, you can select to plot
a subset of the calculated tie-lines, i.e. every one (1), every second (2), every three (3), etc. By
accepting the default value 0, no tie-line is plotted.
SET_TITLE
Specify a title that displays on all listed tables and plotted diagrams from the POST module.
ADD_LABEL_TEXT
Syntax SET_TITLE
Title
Enter the title you want to appear on all tabulation or graphic outputs.
Prompt
There is a maximum length of about 60 characters for the title. You can enter simple
text, use LaTeX, rotate the text, as well as adjust the font size.
SET_TRUE_MANUAL_SCALING
The tic-marks on the axes are normally placed in even intervals using the whole axis length.
The scaling routine adjusts the given minimum and maximum values slightly to accomplish
this. If such an automatic adjustment behaviour is unwanted, it can be avoided by using this
command (followed by a message showing the TRUE MANUAL SCALING set for a specific axis).
The command works like a toggle. To reset the automatic scaling behaviour, repeat the
command a second time for that specific axis (followed by a message saying the SEMI_
MANUAL SCALING set for the specific axis.
Syntax SET_TRUE_MANUAL_SCALING
Axis (X, Y or Z): <Name of an axis>
Prompt Specify which axis (X or Y or Z) you want to toggle between automatic adjustments or avoid the
adjustment of the given maximum and minimum values.
SUSPEND_PHASE_IN_PLOT
Specify that lines originating from the presence of a certain phase shall not be plotted on a
diagram. If you want to bring the suspended phase back to the diagram, use RESTORE_PHASE_
IN_PLOT.
Syntax SUSPEND_PHASE_IN_PLOT
Phase name: <Name of a phase>
Prompt
Specify the name of the phase to be suspended from the diagram.
TABULATE
This command is available for a table entered in either the POLY or POST
module.
For any entered table, this command gives a table of values from equilibria calculated with
a STEP command.
Unlike the TAB module's command (also called TABULATE) it is not possible to
plot columns from the tabulated tables. For this use normal POST commands.
Syntax TABULATE
Name: <Name of a table entered in either POLY or POST>
Prompts
Specify a table name that is entered in either the POLY or POST module.
Output on screen or file /Screen/:
Specify a file name if you want to save on a file the table values along the defined STEP calculation,
or press <Enter> if want to see the table values displayed.
To learn about using variables and functions: For Graphical Mode, see T_07:
User-Defined Functions and for Console Mode, see example 44 .
In this section:
Specifying Parameters
This section or topic is specific to Console Mode.
Running a command typically requires that several parameter values are specified, which
can be done directly in the command line after the command name. For example, to set an
axis variable for a stepping or mapping operation, enter:
SET_AXIS_VARIABLE 1 X(FCC,FE) 0 0.89 0.025
You can also use SET_AXIS_VARIABLE and press <Enter>. At the command line prompt, you
then specify the parameters one at a time.
On all command lines, you can enter a question mark (?) for help. For some parameters,
enter two question marks (??) for more detailed information.
Then if you want to change a parameter value for this axis variable, type:
SET_AXIS_VARIABLE 1 , 0.1 ,,,
This changes the minimum value from 0 to 0.1 at which a stepping or mapping operation
halts. The other parameter values remain the same. Consequently, what is typed is
equivalent to:
SET_AXIS_VARIABLE 1 X(FCC,FE) 0.1 0.89 0.025
Operator Description
EXP(X) Exponential
Sign function
SIGN(X)
SIGN(X) is -1 when X<0, is 0 when X=0 and is 1 when X>0.
Thermodynamic Variables
There are different thermodynamic variables in Thermo-Calc. Some are state variables, for
example temperature, pressure and mole fraction. These characterize the equilibrium state
of a system. You set them when you define your system in the POLY module before
performing a calculation. They are also used in other modules such as DATA, GIBBS and
PARROT. State variables that involve components can be used for the defined components,
but not for any species. (To define new components in a defined system, use DEFINE_
COMPONENTS).
Other useful thermodynamic variables are derive from state variables with a mathematical
function. Some derived variables are pre-defined by Thermo-Calc, such as normalized
energetic and compositional extensive state variables for example. You use these by
appending various normalizing suffixes to abbreviations that are associated with the state
variables.
Thermodynamic variables can also be divided into extensive variables and intensive
variables. An extensive variable is a variable whose value depends on the size of the system,
whereas an intensive variable is a variable whose value is independent of system size.
More information about thermodynamic variables is available in the online help in Thermo-
Calc Console Mode. Use the command INFORMATION, with a subject keyword such as one
of the following as argument: STATE VARIABLES, INTENSIVE VARIABLES, EXTENSIVE
VARIABLES, DERIVED VARIABLES, CONDITIONS (for condition settings), AXIS-VARIABLES (for
stepping/mapping variable settings).
l Intensive variables
l Energy-related extensive variables for whole system or for a phase
l Compositional extensive variables (overall amount of components in the whole
system, or amount of a component in system or in a phase)
l Constitutional composition-related extensive variables (amount of a
constituent/species on a sublattice site in a phase)
l Special quantities
l Intensive Variables
l Extensive Variables
l Special Quantities
l The u-Fraction Variable
l Suffixes
Intensive Variables
T T1 K Temperature System
P P Pa Pressure System
MU(comp) Component R
Chemical Species
μ J/mol
potential relative to a
MU(sp,ph)2 R
solution
phase
AC(comp) Component R
Activity Species
AC(sp,ph)2 relative to a
R
solution
phase
a N/A
LNAC
Component R
(comp)3
ln(Activity) Species
LNAC (sp,ph) relative to a
R
2 solution
phase
1 When plotting in POST, besides T (Kelvin), you can also use T_C or T_F to plot temperature in °C or °F.
2 Only for single-substitutional-lattice solution phases such as AQUEOUS solution and GASeous mixture
phases and for interacting species on the substitutional sublattice of two-sublattice solution phases (such as
the phases BCC_A2 and M6C phases).
3 In natural logarithm (lnAC=MU/RT)
Extensive Variables
V System M, W, V, R
VP(ph) 2 Phase M, W, V, R
G System M, W, V, R
G J Gibbs energy
G(ph) 1 Phase M, W, V, F, R
A System M, W, V, R
Helmholtz
A J
energy
A(ph) 1 Phase M, W, V, F, R
U System M, W, V, R
U J Internal energy
U(ph) 1 Phase M, W, V, F, R
H System M, W, V, R
H J Enthalpy6
H(ph) Phase M, W, V, F
S System M, W, V, R
S J/K Entropy6
S(ph) 1 Phase M, W, V, F, R
HM.T3 System R
Heat capacity at
Cp J/mol/K constant
HM(ph).T3 pressure Phase R
HM(ph).T4 Phase R
Always use
Driving force
DG(ph) 5 with M, W, V
D N/A (thermodynamic Phase
or F. R can also
factor)
be used.
1 For this variable, if the phase is unstable, then the variable gets a value of zero.
2 Do not use VP(ph) as a condition in POLY. Instead, use CHANGE_STATUS PHASE <PHASE>=FIX <AMOUNT>
where the fixed <AMOUNT> is roughly equal to VPF(ph), which cannot be directly evaluated or listed. If
the phase is unstable, then VP(ph) and its normalized quantities get zero value.
3 Use only if pressure has been set as a condition.
6 When working in the POST module you can also enter the abbreviation for this variable into the Console,
for example, enth or enthalpy, which corresponds to HM, and entr and entropy, which corresponds to SM.
M, W, V,
N All components
(R)
M, W, V,
N(comp) Component
(R)
n mole Moles
N Component in a M, W, V,
(ph,comp) phase (R)
NP(ph)1 M, W, V,
Phase See above
(R)
M, W, V,
B All components
(R)
M, W, V,
B(comp) Component
(R)
b gram Mass
Component in a M, W, V,
B(ph,comp)
phase (R)
BP(ph) 1 M, W, V,
Phase See above
(R)
W% Mass (weight)
w% N/A Component (R) See above
(comp)2 percent
u-f Component in a
u N/A u-fraction (R) See above
(ph,comp)1 stable phase
Special Quantities
Description or
Variable Abbrev. Unit Domain Suffix
Example
R
Under a condition
Q QF(ph)1 n/a Phase stability function Phase and system
definition, QFR
(ph) = QF(ph)
R
Under a condition
Tc TC(ph) 2 K Curie temperature Phase and system
definition, TCR
(ph) = TC(ph)
R
Under a condition
Mb BMAG(ph)3 n/a Bohr magneton number Phase and system
definition,
BMAGR
(ph) = BMAG(ph)
Description or
Variable Abbrev. Unit Domain Suffix
Example
on first sublattice.
Search for
TQDGYY in the
TQ-Interface
Guide
1Negative when phase composition is inside a spinodal, otherwise positive. Can be used to find out if an
equilibrium is within the miscibility gap for a solution phase. Cannot be used as a condition.
2Calculated for phases with magnetic contributions in an equilibrium state. Cannot be used as a condition,
but can be plotted in POST or evaluated in POLY using SHOW_VALUE.
3 Calculated for phases with magnetic contributions in an equilibrium state.
The sum of in the denominator is calculated for all substitutional alloying elements in the
whole system or in a specific phase. The variable in the numerator stands for the mole-
fraction of the i-th component in the whole system or in the specific phase.
Suffixes
Suffixes may be appended to all extensive variables and to some intensive variables. Some
suffixes can be used to enter the value of variables in normalized form. These are referred
to as normalizing suffixes. If the variable that you create with a normalizing suffix is based
on a state variable that can be set as a condition in POLY, then the normalized variable can
also be set as a condition in POLY.
The normalizing suffixes are M (per mole), W (per mass in gram), V (per volume in m3) and
F (per mole formula unit). There is also a reference state suffix R, which you can use if you
want the value of a thermodynamic variable to be calculated with respect to a reference
state that have previously set.
Normalizing Suffixes
When variables that express system and phase quantities are normalized, the following
general rules are used:
l System quantities are normalized by the total system size (in terms of N, B or V).
l Phase quantities are normalized by the phase amount [in terms of NP(ph), BP(ph) or
VP(ph)].
The normalized quantities of G(ph), A(ph), U(ph), H(ph), S(ph) and V(ph) are calculated
according to the thermodynamic model used for the phase (e.g. GM(ph), AM(ph), UM(ph),
HM(ph), SM(ph) and VM(ph)). These quantities are calculated using the first derivatives of
the Gibbs energy expressed for the phase with respect to the current composition of the
system.
The tables describe the normalizing suffixes for the different state variables.
W (per mass in The total system size in terms GW is the Gibbs energy per mass of the system
gram) of B. (J/g).
The total system size in terms GV is the Gibbs energy per volume of the system
V (per volume in of V. (J/m3).
m3) VV does not have to be
evaluated.
Suffix Example
For example, GM(ph) is Gibbs energy of the phase per mole of the phase (J/mol).
M (per mole)
For example, GW(ph) is Gibbs energy of the phase per mass of the phase (J/mol).
W (per mass in gram)
For example, GV(ph) is Gibbs energy of the phase per volume of the phase
(J/mol).
V (per volume in m3)
For example, GF(ph) is the Gibbs energy of the phase per formula unit of the
F (per mole formula phase (J/mol).
unit)
DG(ph) of a Phase
Theoretically, the first derivative of the variable with regard to the phase DGM(ph) is
amount in terms of NP(ph). Since DG(ph) is not directly calculated, the driving force
M (per
second derivative of the Gibbs energy expressed for the phase in question for
mole)
with respect to the current compositions in the equilibrium state of the precipitation
system is calculated instead. of the phase
per mole of
DGM(ph) cannot not be set as a condition since it is only calculated under a components.
certain type of equilibrium state.
Theoretically, the first derivative of the variable with regard to the phase DGW(ph) is
amount in terms of BP(ph). Since DG(ph) is not directly calculated, the driving force
second derivative of the Gibbs energy expressed for the phase in question for
W (per precipitation
mass in with respect to the current compositions in the equilibrium state of the
system is calculated instead. of the phase
gram) per mass of
DGW(ph) cannot not be set as a condition since it is only calculated under a components.
certain type of equilibrium state.
Theoretically, the first derivative of the variable with regard to the phase DGV(ph) is
amount in terms of VP(ph). Since DG(ph) is not directly calculated, the driving force
second derivative of the Gibbs energy expressed for the phase in question for
V (per precipitation
volume with respect to the current compositions in the equilibrium state of the
system is calculated instead. of the phase
in m3) per volume of
DGV(ph) cannot not be set as a condition since it is only calculated under a components.
certain type of equilibrium state.
Theoretically, the first derivative of the variable with regard to the phase DGF(ph) is
amount in terms of NP(ph) and NA (NA is the total atomic number in the driving force
phase formula). Since DG(ph) is not directly calculated, the second for
F (per precipitation
mole derivative of the Gibbs energy expressed for the phase in question with
respect to the current compositions in the equilibrium state of the system of the phase
formula per formula
unit) is calculated instead.
unit of
DGF(ph) cannot not be set as a condition since it is only calculated under a components.
certain type of equilibrium state.
N and B of a System
The total system size in BM is mass (gram) of components per mole of the
terms of N. system (g/mol).
M (per mole)
NM does not have to be
evaluated.
BM cannot be set as a
condition.
The total system size NM(comp) is the mole of a component per mole of the system (i.e.
M (per in terms of N. mole fraction, which also is expressed as X(comp)).
mole) BM(comp) cannot be
set as a condition.
The total system size BW(comp) is mass (gram) of a component per mass of the system
W (per in terms of B. (i.e. mass fraction, which also is expressed as W(comp)).
mass in
gram) NW(comp) cannot
be set as a condition.
If the reference state for a system component is the default reference state (the stable
reference state (SER) which is defined in a Thermo-Calc database), then MUR(comp)= MU
(comp), ACR(comp)= AC(comp) and LNACR(comp)= LNAC(comp).
In the case of some thermodynamic variables, you can also use the R suffix to express
chemical potentials and activities of species relative to some single-substitutional-lattice
solution phases (such as aqueous solution, gaseous mixture, metallic liquid solution, slag
mixture or MO solid solution). These state variables are MU(sp,ph), MUR(sp,ph), AC(sp,ph),
ACR(sp,ph), LNAC(sp,ph) and LNACR(sp,ph).
The reference states and standard states of various solution species are pre-defined for
some solution phases in some databases. For all solution species in any solution model in any
database, it is always the case that MUR(sp,ph)= MU(sp,ph), ACR(sp,ph)= AC(sp,ph) and
LNACR(sp,ph)= LNAC(sp,ph).
To determine if the database you are using has this properties data, search the
help (press F1) to review the technical information. The availability of
properties data is also included with the Database Overview document
available on the Thermo-Calc website.
Derived
Description
variable
Heat capacity for the system at either constant P if pressure is a condition or constant V if
volume is a condition.
Heat capacity for the system multiplied by total mole number of components, i.e.,
if pressure is a condition in a closed system or if volume is a
condition in a closed system.
Thermal expansivity of the system (already multiplied by the total molar volume), i.e.,
.
Derived
Description
variable
Thermal expansivity of the system (already multiplied by the total volume), i.e.,
.
Thermal expansivity of a phase (already multiplied by the phase volume) plus the
term, i.e.,
.
Isothermal compressibility of the system (already multiplied by the total molar volume), i.e.,
.
Isothermal compressibility of the system (already multiplied by the total volume), i.e.,
Isothermal compressibility of a phase (already multiplied by the phase volume) plus the
term, i.e.,
.
Slope of a phase boundary on a T-X(comp) phase diagram with respect to mole fraction of
the component in the system.
Slope of a phase boundary on a T-W(comp) phase diagram with respect to mass of the
component in the system.
Slope of a phase boundary on a T-X(ph,comp) phase diagram with respect to mole fraction of
the component in the phase.
Slope of a phase boundary on a T-W(ph,comp) phase diagram with respect to mole fraction
of the component in the phase.
Slope of a phase boundary on a P-T phase diagram (Note that the equilibrium with phase
assemblage must be calculated first).
Activity
of the solvent (H2O)
γ RCH2O N/A coefficient,
RC(H2O,AQ) = ACR(H2O,AQ)/YH2O
RC(H2O,AQ)
Activity
of a solute species
RC# coefficient,
RC(sp,AQ) = ACR(sp,AQ)/Y(AQ,sp)*YH2O
RC(sp,AQ)
Activity
of a gaseous species in the gaseous mixture
γ RA# N/A coefficient,
RA(sp,GAS) = function(Y,T,P)
RA(sp,GAS)
Fugacity
of a pure gaseous species under TP
γ* RF# N/A coefficient,
RF(sp,GAS) = function(T,P/V)
RF(sp,GAS)
The activity coefficient of a species in a solution phase depends on which model definitions
on the reference states that are used and it depends on the standard states for the species. If
the standard state of a species is defined to be the same as the pure species in a
substitutional phase, then the activity coefficient of the species can be calculated as:
RC<name> = ACR(species,phase)/Y(phase,species)
In some cases, there are more than one sublattice in the phase and the reference states for
the phase species cannot be presented by the pure species, as in the case of C in FCC [(Fe)1
(C,N,VA)1], where the model may end at fifty percent C and fifty percent Fe. In those cases,
the chemical potential and activity of all phase constituents is not well defined and you
cannot properly define the activity coefficients of the species in the phase.
For an aqueous solution phase, no matter what model is used, the reference state and
standard state for both the solvent and solutes are defined in a special way in the Thermo-
Calc software. The reference state for the solvent is set as pure water, the same as its
standard state (according to Raoults's Law). The standard state for a solute species is set the
hypothetical solute species, whilst its reference state is defined as the hypothetical state at
unit molality (one mole dissolved into 1.0 kg of solvent) but in which the environment of
each molecular is the same as at infinite dilution (according to Henry's Law). Under these
definitions, the activity coefficients for solvent species can be calculated as follows:
RC<H2O> = ACR(H2O,aqueous)/ Y(aqueous,H2O)
AI is here the activity of solute species calculated from the model, and ML is the molality of
the species.
User-Specified Units
You do not always need to use the default units for variables. Using ENTER_SYMBOL, you
can convert the value of variable from the default unit to your preferred unit. (Some
response-driven modules also allow you to set conditions in non-default units.) User-defined
symbols in the form of functions can be used for plotting in the POST module, but they
cannot be used as conditions in POLY. User defined symbols in the form of variables can be
used as conditions.
For example, if you want pressure to be plotted in bar rather than Pa, then you define the
following function PB:
Enter_symbol function PB = P/1E5 ;
If you wanted heat capacity of a system to be shown as in terms of J/mol/K, then you can
define the following function Cp:
Enter_symbol function Cp = Hm.T ;
If the variable you want to convert is a function of one or more derivatives, then you must
enter the symbol as a variable rather as a function. For instance, a symbol expressing heat
capacity of a system in a unit of cal/mol/K can be defined as the following variable Cp2:
Enter_symbol variable Cp2 = Hm.T/4.1858 ;
You can also use thermodynamic variables with normalizing suffixes in the
expression when you enter a symbol. However, the tables do not have examples
of these expressions.
A2 = VM.T*1E-6*VM cm3/mol/K
Thermal Expansion
A3 = VW.T*1E-6*VM cm3/g/K
B2 = -VM.P*1E-9*VM mm3/mol/Pa
Isothermal Compressibility
B3 = -VW.P*1E-9*VM mm3/g/Pa
pH = -LOG10(ACR(H+1)) dimensionless
Special quantity for aqueous
solution
Eh = MUR(ZE)/RNF where RNF=96485.309 volts (V)
atmosphere
FAij = AC(sp,ph)*PATM
(atm)
Fugacity
FCij = AC(sp,ph)*PKB kilobars (kbar)
Tors
FTij = AC(sp,ph)*PTOR (millimeters
of Hg)
atmosphere
ln(Fugacity) LnFAij = LNAC(sp,ph)+LN(PATM)
(atm)
Tors
LnFTij = LNAC(sp,ph)+LN(PTOR) (millimeters
of Hg)
AIij=ACR(FE+3,AQ)*AH2O dimensionless
RCij=ACR(FE+3,AQ)*YH2O/Y(AQ,FE+3)
dimensionless
Special quantity for where AH2O=55.508435 and YH2O=Y(AQ,H2O)
aqueous solution
WRCalij = WR(AQ,sp)/4.1858
(WR(AQ,sp) is only valid for aqueous species in a system in cal/mol
which the AQUEOUS solution phase is considered)
G(ph,sp)
G(ph,sp;0) Gibbs energy (J/mol) of a pure substance or end-member.
G(ph,sp1;sp2;...;0)
G(ph,sp1,sp2,...)
L(ph,sp1,sp2,...)
G(ph,sp1,sp2,...;0)
L(ph,sp1,sp2,...;0) Zero-order interaction parameter (J/mol) of a specified binary, ternary or higher-
order interactions on a certain sublattice site in a solution phase.
G
(ph,sp1,sp2,...;...;0)
L
(ph,sp1,sp2,...;...;0)
G(ph,sp1,sp2,...;i)
L(ph,sp1,sp2,...;i)
G The ith -order interaction parameter (J/mol) of a specified binary, ternary or higher-
(ph,sp1,sp2,...;...;i) order interactions on a certain sublattice site in a solution phase.
L
(ph,sp1,sp2,...;...;i)
TC(ph,sp)
TC(ph,sp;0)
Curie temperature (K) of a pure substance or end-member.
TC
(ph,sp1;sp2;...;0)
TC(ph,sp1,sp2,...)
TC(ph,sp1,sp2,...;0) Zero-order Curie-temperature contribution (K) to a specified binary, ternary or
higher-order interactions on a certain sublattice site in a solution phase.
TC
(ph,sp1,sp2,...;...;0)
TC(ph,sp1,sp2,...;i)
The ith -order Curie-temperature contribution (K) to a specified binary, ternary or
TC higher-order interactions on a certain sublattice site in a solution phase.
(ph,sp1,sp2,...;...;i)
BMAGN(ph,sp;0)
BMAGN
(ph,sp1;sp2;...;0)
BMAGN
(ph,sp1,sp2,...)
BMAGN Zero-order Bohr magneton number (dimensionless) to a specified binary, ternary or
(ph,sp1,sp2,...;0) higher-order interactions on a certain sublattice site in a solution phase.
BMAGN
(ph,...;sp1,sp2,...;0)
BMAGN
(ph,sp1,sp2,...;i) The ith -order Bohr magneton number (dimensionless) to a specified binary, ternary
BMAGN or higher-order interactions on a certain sublattice site in a solution phase.
(ph,sp1,sp2,...;...;i)
V0(ph,sp)
V0(ph,sp;0) Molar volume (m3) at 1 bar and reference T0 of a pure substance or end-member.
V0
(ph,sp1;sp2;...;0)
V0(ph,sp1,sp2,...)
V0
Zero-order composition-dependent molar volume (m3) of a specified binary,
(ph,sp1,sp2,...;0)
ternary or higher-order interactions on a certain sublattice site in a solution phase.
V0
(ph,sp1,sp2,...;...;0)
V0(ph,sp1,sp2,...;i)
The ith-order composition-dependent molar volume (m3) of a specified binary,
V0 ternary or higher-order interactions on a certain sublattice site in a solution phase.
(ph,sp1,sp2,...;...;i)
VA(ph,sp)
VA(ph,sp;0) Integrated thermal expansivity (m3/mol/K) of a pure substance or end-member.
VA
(ph,sp1;sp2;...;0)
VA
(ph,sp1,sp2,...;0) binary, ternary or higher-order interactions on a certain sublattice site in a solution
VA phase.
(ph,sp1,sp2,...;...;0)
WR(ph,sp) Standard Born function (J/mol) of a specific aqueous species in the AQUEOUS
solution phase (always with a single sublattice) under the reference-state
WR(ph,sp;0) temperature and pressure.
Technical Notes
In this section:
Technical Note: Pipe or Redirect Output Data from Console Mode 590
For users who want to pipe or redirect data from Thermo-Calc running a macro in Console Mode.
Application: For example, you can start the application with the Thermo-Calc.bat file and the entire application closes
when you enter the EXIT command in the Console prompt.
WINDOWS
Thermo-Calc.bat macro.tcm > results.log
Command
LINUX
examples:
Thermo-Calc.sh -E < macro.tcm > results.log
MACOS
For Linux and Mac users, the Emacs style editing feature must be disabled (turned off) using the switch -E in
E
order for redirection and piping to work correctly with Thermo-Calc. For Windows this flag is not necessary.
Redirection commands. The direction of each arrow indicates the flow of data. For example in
<> ./Console.sh -E < my_commands.tcm > results.log, the contents of my_commands.tcm is used as
input to the Console.sh script file and the resulting output is then written to results.log.
All the macro files and the outputs are also combined into one file that you can
search and read. This is included with your installation as a PDF (go to Help >
Manuals folder > All Thermo-Calc Documentation and open Thermo-Calc
Console Mode Example Macros.
Binary Phase Diagram Examples 1, 4, 13, 16, 17, 26, 31, 34, 50
Property Diagram Examples 2, 8, 9, 11, 12, 22, 23, 25, 28, 29, 32, 41, 49, 50
Ternary Phase Diagram Examples 3, 5, 14, 17, 19A, 19B, 21, 33, 37, 42, 43
Examples Calculating Thermodynamic and Related Quantities 2, 13, 14, 18, 22, 26, 34, 39, 51
9 - Dew Point
10 - Continuous casting, preventing Cr2O3 clogging
l LIST_EQUILIBRIUM
l LIST_STATUS
l LIST_CONDITIONS
l CHANGE_STATUS
l COMPUTE_EQUILIBRIUM
l SET_DIAGRAM_AXIS
l SET_TIELINE_STATUS
l PLOT_DIAGRAM
l SET_SCALING_STATUS
l SET_LABEL_CURVE_OPTION
l ADD_LABEL_TEXT
l MODIFY_LABEL_TEXT
l SWITCH_DATABASE
l GET_DATA
l LIST_EQUILIBRIUM
l SET_AXIS_VARIABLE
l DEFINE_SYSTEM
l AMEND_PHASE_DESCRIPTION
l SET_CONDITION
l SAVE_WORKSPACES
l REJECT
l LIST_STATUS
l COMPUTE_EQUILIBRIUM
l SET_TIELINE_STATUS
This uses the SSOL database. A license is required to run the example.
l REJECT
l RESTORE
l ADVANCED_OPTIONS
l SET_SCALING_STATUS
l DEFINE_SYSTEM
l MAKE_EXPERIMENTAL_DATAFILE
l LIST_EQUILIBRIUM
l APPEND_EXPERIMENTAL_DATA
l STEP_WITH_OPTIONS
The oxide demo (Oxdemo) database can be used both for pseudo-binary systems like the one
in this case, CaO-SiO2, or for full ternary systems like Ca-Fe-O.
These commands are of note and used in this example:
l LIST_SYSTEM
l REJECT and RESTORE
l AMEND_PHASE_DESCRIPTION
l LIST_STATUS
l DEFINE_COMPONENTS
l SET_CONDITION
l COMPUTE_EQUILIBRIUM and LIST_EQUILIBRIUM
l REJECT
l RESTORE
l SET_DIAGRAM_AXIS
l SET_SCALING_STATUS
l SET_AXIS_TEXT_STATUS
l SET_LABEL_CURVE_OPTION
l ENTER_ELEMENT
l ENTER_SPECIES
l ENTER_SYMBOL
l ENTER_PHASE
l ENTER_PARAMETER
l LIST_PHASE_DATA
This uses the SSOL database. A license is required to run the example.
SET_INTERACTIVE
This uses the TCFE database. A license is required to run the example.
l DEFINE_DIAGRAM
l DEFINE_ELEMENTS
l AMEND_PHASE_DESCRIPTION
l REINITIATE_PLOT_SETTINGS
l SET_NUMERICAL_LIMITS
l SET_REFERENCE_STATE
l SHOW_VALUE
This uses the SSUB database. A license is required to run the example.
l TABULATE_REACTION
l DEFINE_SPECIES
l ENTER_FUNCTION
l QUICK_EXPERIMENTAL_PLOT
l SET_SCALING_STATUS
l LIST_SUBSTANCES
l TABULATE_SUBSTANCE
This uses the SSUB database. A license is required to run the example.
This uses the TCFE database. A license is required to run the example.
Keeping the enthalpy constant is the way to simulate the isolation of the furnace. The oxygen
reacts with carbon and increases the temperature. After blowing a certain amount of
oxygen, scrap iron is added to keep the temperature constant.
This uses the SLAG database. A license is required to run the example.
This uses the TCFE database. A license is required to run the example.
l REJECT
l RESTORE
l DEFINE_ELEMENTS
l AMEND_PHASE_DESCRIPTION
l EVALUATE_FUNCTIONS
l SET_START_CONSTITUTION
This uses the SSUB database. A license is required to run the example.
l SET_INPUT_AMOUNTS
l LIST_CONDITIONS
l SET_CONDITION
This uses the TCFE and SSUB databases. These licenses are required to run the
example.
l SET_START_CONSTITUTION
l SET_REFERENCE_STATE
l APPEND_DATABASE
This uses the TCFE database. A license is required to run the example.
l DEFINE_ELEMENTS
l REINITIATE_PLOT_SETTINGS
l SET_DIAGRAM_AXIS
l ENTER_ELEMENT
l ENTER_SYMBOL
l AMEND_ELEMENT_DATA
l ENTER_PARAMETER
l ENTER_SPECIES
l SET_REFERENCE_STATE
l SHOW_VALUE
l AMEND_PHASE_DESCRIPTION
l ADD_LABEL_TEXT
l PLOT_DIAGRAM
l SET_DIAGRAM_AXIS; SET_DIAGRAM_TYPE; and SET_AXIS_TYPE
l SET_REFERENCE_STATE
l CHANGE_STATUS
l SET_SCALING_STATUS
l LIST_SYSTEM
l LIST_CONDITIONS
l SET_AXIS_TEXT_STATUS
The oxide demo (Oxdemo) database can be used both for pseudo-binary systems like the one
in this case, CaO-SiO2, or for full ternary systems like Ca-Fe-O.
These commands are of note and used in this example:
l LIST_SYSTEM
l REJECT and RESTORE
l AMEND_PHASE_DESCRIPTION
l LIST_STATUS
l DEFINE_COMPONENTS
l SET_CONDITION
l COMPUTE_EQUILIBRIUM and LIST_EQUILIBRIUM
l DEFINE_SYSTEM
l GET_DATA
l AMEND_PHASE_DESCRIPTION
l SET_CONDITION and LIST_CONDITIONS
l ADVANCED_OPTIONS
l SAVE_WORKSPACES and READ_WORKSPACES
l APPEND_EXPERIMENTAL_DATA
l MAKE_EXPERIMENTAL_DATAFILE
l DEFINE_SYSTEM
l GET_DATA
l SET_CONDITION
l SET_DIAGRAM_TYPE
This uses the TCFE database. A license is required to run the example.
This example uses an Fe-Mn-C system at 2.5%Mn Mass u-fraction to show a paraequilibrium
calculation where there is formation of para-pearlite. It is an isopleth calculation and shows
the STEP_WITH_OPTIONS command using the Paraequilibrium option.
This uses the TCFE database. A license is required to run the example.
This example uses an Fe-Mn-C system at 700 C to show a paraequilibrium calculation where
there is formation of para-pearlite. It is an isothermal calculation and shows the STEP_
WITH_OPTIONS command using the Paraequilibrium option.
This uses the TCFE database. A license is required to run the example.
This uses the SLAG database. A license is required to run the example.
The origin of this example is that a manufacturer wanted to increase the Cr content of a
material from 18 to 25 weight percent but the continuous casting of this material was
problematic because solid Cr2O3 was formed.
Using Thermo-Calc to calculate the equilibria in the steel/slag system, a simple correction
was found: modify the Mn or Si content to decrease the oxygen potential. In Thermo-Calc,
you can FIX a phase with zero amount to simulate how to avoid forming this phase. You then
release one of the conditions, usually one of the compositions, and this composition is
determined by the equilibrium calculation.
These commands are of note and used in this example:
l DEFINE_SYSTEM
l CHANGE_STATUS
l COMPUTE_EQUILIBRIUM
l DEFINE_SYSTEM
l DEFINE_SYSTEM
l LIST_CONDITIONS
l LIST_EQUILIBRIUM
l LIST_STATUS
l SET_CONDITION
l SET_NUMERICAL_LIMITS
l SET_REFERENCE_STATE
l SHOW_VALUE
This uses the TCFE database. A license is required to run the example.
This uses the SSUB database. A license is required to run the example.
l DEFINE_COMPONENTS
l SET_CONDITION
l ADD_INITIAL_EQUILIBRIUM
l LIST_AXIS_VARIABLE
l LIST_INITIAL_EQUILIBRIA
This uses the SSOL database. A license is required to run the example.
SET_INTERACTIVE
l LIST_SYSTEM
l LIST_CONDITIONS
l SET_AXIS_TEXT_STATUS
This uses the TCFE database. A license is required to run the example.
l DEFINE_ELEMENTS
l AMEND_PHASE_DESCRIPTION
l COMPUTE_TRANSITION
l DEFINE_MATERIAL
l ENTER_SYMBOL
l SHOW_VALUE
This uses the SSUB database. A license is required to run the example.
l REJECT
l RESTORE
l SET_DIAGRAM_AXIS
l SET_SCALING_STATUS
l SET_AXIS_TEXT_STATUS
l SET_LABEL_CURVE_OPTION
l REINITIATE
l ENTER_PARAMETER
l ENTER_SPECIES
l SET_PLOT_FORMAT
l ENTER_PHASE
This uses the TCFE database. A license is required to run the example.
l Get data from a database, then in POLY use SET_CONDITION and COMPUTE_
EQUILIBRIUM.
l Go directly to POLY and use DEFINE_MATERIAL.
This uses the TCFE database. A license is required to run the example.
This uses the TCFE database. A license is required to run the example.
l DEFINE_ELEMENTS
l AMEND_PHASE_DESCRIPTION
l COMPUTE_TRANSITION
l DEFINE_MATERIAL
l ENTER_SYMBOL
l SHOW_VALUE
l DEFINE_SYSTEM
l DEFINE_COMPONENTS
l SET_INPUT_AMOUNTS
l LIST_CONDITIONS
l SET_CONDITION
l SHOW_VALUE
This uses the TCFE database. A license is required to run the example.
l START_WIZARD
l COMPUTE_TRANSITION
l ADD_INITIAL_EQUILIBRIUM
l ENTER_SYMBOL
l ADVANCED_OPTIONS
l STEP_WITH_OPTIONS
l MAKE_EXPERIMENTAL_DATAFILE
l CHANGE_STATUS
These examples show two ways to do a Scheil calculation for an Al-4Mg-2Si-2Cu alloy. In
part A, you use the POLY3 module and the STEP_WITH_OPTIONS command with an
EVALUATE option. Then in part B you use the SCHEIL module commands to do the same
thing. Data from the COST2 database is used and included with the example in the file
named tcex30_cost2.TDB.
This uses the SSOL database. A license is required to run the example.
l REJECT
l RESTORE
l ADVANCED_OPTIONS
l SET_SCALING_STATUS
l DEFINE_SYSTEM
l MAKE_EXPERIMENTAL_DATAFILE
l LIST_EQUILIBRIUM
l APPEND_EXPERIMENTAL_DATA
l STEP_WITH_OPTIONS
l ENTER_ELEMENT
l ENTER_SPECIES
l ENTER_SYMBOL
l ENTER_PHASE
l ENTER_PARAMETER
l LIST_PHASE_DATA
l REINITIATE
l ENTER_ELEMENT
l AMEND_ELEMENT_DATA
l ENTER_PARAMETER
l ENTER_PHASE
One application of the Second Law is to the efficiencies of heat engines, pumps and
refrigerators. Whenever there is a difference of temperature, work can be produced - the
principle of heat engines. The Gibbs energy also enables the prediction of the maximum
work that a process may achieve. The goal of this example is to help relate the results to
different thermodynamic quantities.
These commands are of note and used in this example:
l REINITIATE
l ENTER_PARAMETER
l ENTER_SPECIES
l SET_PLOT_FORMAT
l ENTER_PHASE
l ENTER_ELEMENT
l ENTER_SYMBOL
l AMEND_ELEMENT_DATA
l ENTER_PARAMETER
l ENTER_SPECIES
l SET_REFERENCE_STATE
l SHOW_VALUE
For binary excess models, the example changes it from the default R-K model to a Mixed-
Excess-Model. The phase has to be a substitutional phase in this case.
For ternary extrapolation models, the example changes it from the default R-K-M model to a
Toop_Kohler model.
the A-C-B and B-C-A ternary interactions). This makes the extrapolated ternary excess
interaction terms different from those handled either by the default MUGGIANU_RESTOR
method or by the alternative KOHLER-ALL method.
Note that only when all the relevant binary excess energies in a ternary system are treated
by the default Redlich-Kister Model (i.e., the Mixed-Excess-Model should have not been
used), the MUGGIANU_RESTOR method for ternary extrapolations is equivalent to the
Redlich-Kister_Muggianu Model, or the KOHLER-ALL method to the Redlich-Kister_Kohler
Model.
This uses the TCFE database. A license is required to run the example.
This uses the TCFE database. A license is required to run the example.
This uses the TCFE database. A license is required to run the example.
This example uses an Fe-Mn-C system at 2.5%Mn Mass u-fraction to show a paraequilibrium
calculation where there is formation of para-pearlite. It is an isopleth calculation and shows
the STEP_WITH_OPTIONS command using the Paraequilibrium option.
This uses the TCFE database. A license is required to run the example.
This example uses an Fe-Mn-C system at 700 C to show a paraequilibrium calculation where
there is formation of para-pearlite. It is an isothermal calculation and shows the STEP_
WITH_OPTIONS command using the Paraequilibrium option.
This uses the TCFE database. A license is required to run the example.
1. "Proof strength values for austenitic stainless steels at elevated temperatures", Steel Res., 71(6–7), 249–254.
The example is divided into parts corresponding to the files in the tcex36a
folder. It is recommended you open tcex.36.readme before continuing with this
advanced exercise.
There are many commands used in this advanced example (listed in alphabetical order):
APPEND_EXPERIMENTAL_DATA COMPILE_EXPERIMENTS
SET_STORE_FILE SET_WEIGHT
tcex40
This is the first in a series of examples to demonstrate the advanced POURBAIX module
calculations and plotting. This example automatically calculates and plots a Pourbaix
diagram for 0.001 m Fe in a 0.1 m NaCl aqueous solution at 25° C and 1 bar. Other
diagrams, along various phase boundaries for the same interactions resulted from the same
Pourbaix module calculation, are also plotted.
applications of the TCAQ and AQS aqueous solution databases [in the Multiple-Database
Option, i.e., with appended data from the SSOL and SSUB databases]. See Pourbaix Examples
TCEX40A to 40E.
For a list of pre-defined symbols, go to the end of the tcex53.TCM macro file
(open it in a text editor).
TCEX 40A
This example shows you how to use Option 1 where you start a completely new
calculation. It uses a single database. The Pourbaix diagram for 0.001 m Fe in a 0.1 m NaCl
solution at 25C and 1 bar is automatically calculated and plotted.
A more advanced version of 40A can be found in TCEX40E, which also uses
Option 1 but with multiple databases. However, licenses are required for three
types of commercial Thermo-Calc databases.
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 TCEX40A.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).
A reminder that Linux and Mac are case sensitive; when applicable ensure you
enter file extensions with capital letters.
TCEX 40B
This example shows you how to use Option 2 where you Open an old (existing) file and plot
other property diagrams.
Example 40A calculated and plotted the Pourbaix diagram for 0.001 m Fe in a 0.1 m NaCl
solution at 25° C and 1 bar. Example 40B reads the original POURBAIX.POLY3 file , and uses
the calculated results to plot property diagrams for the same heterogeneous interaction
system.
For example 40B, the POLY3 file is not modified. However, it is still
recommended that a copy of the original POLY3 file is used so you do not lose
the file structure and calculated results.
If you have a POLY3 file generated after choosing Option 4, that file can also be
used for Option 2, and vice versa.
TCEX 40C
This example shows you how to use Option 3 where you Open an old file and make
another Pourbaix calculation. The previously calculated (and copied) POURBAIX.POLY3 file
from TCEX40A is edited to make another Pourbaix calculation and plot.
The same chemical system is used (Fe-H2O-NaCl) but with different P-T-X (pressure-
temperature-composition) conditions and without the GASeous mixture phase. The new
conditions are 0.01 m Fe in a 1 m NaCl solution at 200° C and 1 kbar.
In this example, the GASeous mixture phase for the Pourbaix diagram is not
considered.
The POLY3 file is modified and rewritten with the new conditions. As previously
recommended, make a copy of the original POLY3 file and rename it
(e.g.TCEX40C.POLY3) so you do not lose the file structure and new calculated
results.
A reminder that Linux and Mac are case sensitive; when applicable ensure you
enter file extensions with capital letters.
After the default Pourbaix diagram is generated and refined, you can also use Option 3 to
plot property diagrams along different phase boundaries for the same system. These
settings are possible from within Option 3 and you do not need to go back to Option 2.
TCEX 40D
This example shows you how to use Option 4 where you Open an old file and make
another stepping calculation. The previously calculated (and copied) POURBAIX.POLY3 file
from TCEX40A is edited to make a stepping calculation and plot.
The same chemical system is used (Fe-H2O-NaCl) but with different P-T-X (pressure-
temperature-composition) conditions and using a POLY3 stepping calculation. The new
conditions are 0.01 m Fe in a 0.1 m NaCl solution at 1 kbar and under varied temperature
(from 0 to 400° C). The equilibrium conditions are modified and two stepping calculations
are done. The same stepping calculation is used to plot property diagrams for the
heterogeneous interaction system.
The example also explores settings such as editing the definitions for some system
components and their initial bulk composition conditions. This is done through the direct and
internal POURBAIX-POLY3 intersection, for a Stepping (or Mapping) calculation inside the
Pourbaix module.
The POLY3 file is modified and rewritten with the new conditions. As previously
recommended, make a copy of the original POLY3 file (from example
TCEX40A) and rename it (e.g. to TCEX40D.POLY3) so you do not lose the file
structure and new calculated results.
If you have a POLY3 file generated after choosing Option 2, that file can also be
used for Option 4 and vice versa.
A reminder that Linux and Mac are case sensitive; when applicable ensure you
enter file extensions with capital letters.
TCEX 40E
This example shows you how to use Option 1 where you start a completely new
calculation. It uses multiple databases (TCAQ, SSUBand SSOL). The Pourbaix diagram for
0.001 m Fe90Co5Ni5 alloy (9E-3 m Fe + 5E-4 m Co + 5E-4 m Ni) in an aqueous solution with
2E-2 m H2S and 3 m NaCl at 25° C and 1 bar is automatically calculated and plotted.
You need licenses for three Thermo-Calc databases, i.e.
l A: AQS (TGG Aqueous Solution Database; HKF model) or TCAQ (TCS Aqueous Solution
Database; SIT model);
l B: SSUB (SGTE Pure Substances Database)
l C: SSOL (SGTE Alloy Solutions Database) or TCFE (TCS Steels/Fe-Alloys Database) or
similar.
The TCAQ database contains only an AQUEOUS solution phase (using the SIT model) and
REF_ELECTRODE phase (as a reference state for electron in aqueous electrolyte systems).
The SSUB database is appended for the GASeous mixture phase and some pure solid phases
(so-called secondary phases formed during aqueous-involving interaction processes), and the
SSOL database is appended for various solid solution phases.
The Pourbaix module inside the software also accepts the AQS2 aqueous solution database
(using the complete Revised HKF model) in the Multiple Database Option, in addition to the
TCAQ2 aqueous solution database (using the SIT model).
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.
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.
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 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/.
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/
SET_NUMERICAL_LIMITS
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/
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).
SET_LABEL_CURVE_OPTION
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/
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/
With this option, you can further change the appearance the plot and use any command in
the normal POST Module.
Recommended Responses
l Hard copy of the diagram? /N/: Y
l CURRENT DEVICE: MS-Windows
l GRAPHIC DEVICE NUMBER /1/: 5
l NEW DEVICE: Postscript portrait mode
l USE POSTSCRIPT FONTS /YES/: Y
l SELECT FONTNUMBER /9/: 27
l NEW FONT: Times-Bold
l FONT SIZE /.35833/: .32
l PLOTFILE : /defaultname/: yourfilename
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.
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
IS Ionic strength
TM Total concentration
Aw Activity of water
Oc Osmotic coefficient
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.
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.
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.
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:
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.
Many prompts are the same as with Option 1 or Option 2. Enter ? at any
prompt for details.
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.
Stepping Parameters
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.
This uses the SSUB database. A license is required to run the example.
l TABULATE_REACTION
l DEFINE_SPECIES
l ENTER_FUNCTION
l QUICK_EXPERIMENTAL_PLOT
l SET_SCALING_STATUS
l LIST_SUBSTANCES
l TABULATE_SUBSTANCE
This uses the SSUB database. A license is required to run the example.
l DEFINE_SPECIES
l CREATE_STAGE_BOXES
l CREATE_DIVIDERS
l CREATE_PIPES
l START_SIMULATION
Not all databases have this property although it is being added to databases as
these are updated over time. Currently it is available with the latest versions of
TCFE, TCHEA, TCNI and TCAL.
Reference
[2005, Sato] Y. Sato, K. Sugisawa, D. Aoki, T. Yamamura, "Viscosities of Fe–Ni, Fe–Co and Ni–
Co binary melts," Meas. Sci. Technol. 16, 363–371 (2005).
You can learn more about the viscosity model by searching the help (press F1
when in Thermo-Calc).
Using the ALDEMO database, which is the free demonstration version of the TCS Al-based
Alloy Database (TCAL), the surface tension of liquid metallic is plotted at 1373 K for Cu-Zr
and compared to experimental data from Krasovskyy (2005).
Not all databases have this property although it is being added to databases as
these are updated over time. Currently it is available with the latest versions of
TCNI and TCAL.
Reference
[2005, Krasovskyy] V. P. Krasovskyy, Y. V. Naidich, N. A. Krasovskaya, "Surface tension and
density of copper–Zirconium alloys in contact with fluoride refractories," J. Mater. Sci.
40, 2367–2369 (2005).
You can learn more about the surface tension model by searching the help
(press F1 when in Thermo-Calc).
Application Examples
This uses the SLAG database. A license is required to run the example.
The origin of this example is that a manufacturer wanted to increase the Cr content of a
material from 18 to 25 weight percent but the continuous casting of this material was
problematic because solid Cr2O3 was formed.
Using Thermo-Calc to calculate the equilibria in the steel/slag system, a simple correction
was found: modify the Mn or Si content to decrease the oxygen potential. In Thermo-Calc,
you can FIX a phase with zero amount to simulate how to avoid forming this phase. You then
release one of the conditions, usually one of the compositions, and this composition is
determined by the equilibrium calculation.
These commands are of note and used in this example:
l DEFINE_SYSTEM
l CHANGE_STATUS
l COMPUTE_EQUILIBRIUM
l DEFINE_SYSTEM
l DEFINE_SYSTEM
l LIST_CONDITIONS
l LIST_EQUILIBRIUM
l LIST_STATUS
l SET_CONDITION
l SET_NUMERICAL_LIMITS
l SET_REFERENCE_STATE
l SHOW_VALUE
l SET_NUMERICAL_LIMITS
l SET_REFERENCE_STATE
l SHOW_VALUE
l DEFINE_SYSTEM
l DEFINE_COMPONENTS
l SET_INPUT_AMOUNTS
l LIST_CONDITIONS
l SET_CONDITION
l SHOW_VALUE
The condensed phases flow downwards and all of it goes to the next lowest segment. Heat
can be added at any module. The only way to specify the initial state of the reactants added
to the reactor is to specify the heat content.
This uses the SSUB database. A license is required to run the example.
l DEFINE_SPECIES
l CREATE_STAGE_BOXES
l CREATE_DIVIDERS
l CREATE_PIPES
l START_SIMULATION
This uses the SLAG database. A license is required to run the example.
This uses the SSUB database. A license is required to run the example.
l DEFINE_COMPONENTS
l SET_CONDITION
l ADD_INITIAL_EQUILIBRIUM
l LIST_AXIS_VARIABLE
l LIST_INITIAL_EQUILIBRIA
This uses the TCFE database. A license is required to run the example.
l REJECT
l RESTORE
l DEFINE_ELEMENTS
l AMEND_PHASE_DESCRIPTION
l EVALUATE_FUNCTIONS
l SET_START_CONSTITUTION
This uses the SSUB database. A license is required to run the example.
l SET_INPUT_AMOUNTS
l LIST_CONDITIONS
l SET_CONDITION
Introduction
In this section:
Press F1 to search the help for information about all the commands available in
the Thermo-Calc Console Mode, including PARROT and ED_EXP. Note that the
commands listed under PARROT and ED_EXP are only commands that are
specific to PARROT and/or ED_EXP. These modules also contain some
commands that are also available in POLY.
Data Optimization
In a thermodynamic database, each phase in a system is characterized using a mathematical
model of its Gibbs energy. The Gibbs energy of a phase depends on various state variables. It
can be defined individually even in a heterogeneous system with many stable phases since
the properties of one phase are completely independent of the properties of the other
phases in the system. In most alloy systems, the thermodynamic properties of a phase can
be modelled by expressing how the Gibbs energy depends on temperature and composition.
State variables such as pressure, volume or entropy can also serve as parameters in the
Gibbs energy expression. The Gibbs energy of the whole system is the sum of the products of
the Gibbs energy of each phase multiplied by the amount of that phase.
How the Gibbs energy of the phase varies with various state variables is determined by a
mathematical model and how various adjustable parameters of the model is set. By
optimizing these parameters, you can calculate the thermodynamic properties of a system
under various conditions (by calculating phase diagrams for example). The thermodynamic
properties themselves are functions of temperature, pressure or composition. They include,
among other properties, standard enthalpy of formation, entropy, heat capacity, molar
volume, thermal expansivity, compressibility and Curie temperature for magnetic
transformations.
Data optimization is about adjusting the model parameters so that calculated equilibria fit
well with experimental data. An important part of a data optimization is therefore collecting
and assessing available experimental and theoretical information about phase equilibria and
thermochemical properties of a system.
When you optimize the parameters of the model of a phase, you put what is called
optimizing variables into the Gibbs energy expressions of those parameters. During the
optimization, the values of these variables are varied in order to find a fit between the
calculated equilibria and the experimental data that you base the optimization on. Once you
have settled on a Gibbs energy expression for a certain parameter of a phase of the
element, then you must stick to this expression in all future optimizations involving the
element. If you do not do this, then you must re-optimize all previous systems that involve
this element when the expression is changed.
The Thermo-Calc software allows you to optimize parameters that characterize not only
binary systems, but also ternary system and systems of even higher orders. You can even
optimize parameters that characterize systems of different orders at the same time.
Of course, these conditions are usually not all met in a normal thermodynamic assessment.
But even in non-ideal conditions, there is no known method that works better than the least-
squares method.
References
For in-depth information about CALPHAD as well as data optimization, see Computational
Thermodynamics – The Calphad Method by Hans Leo Lukas, Suzana G. Fries and Bo Sundman
(Cambridge University Press, 2007). CALPHAD was given its first general description in
Computer Calculations of Phase Diagrams by Larry Kaufman and Harold Bernstein (Academic
Press, 1970). The book contains some case studies of optimizations using Thermo-Calc.
Information about the concept of ‘lattice stability’ (which is important for the development
of multicomponent thermodynamic databases) can also be found in the paper Hume-Rothery
and Calphad Thermodynamics by Larry Kaufman, published in Calphad and Alloy
Thermodynamics, edited by Patrice E.A. Turchi, Antonios Gonis, Robert Shull (The Minerals,
Metals & Materials Society, 2002), pp. 3-19.
1. Collect experimental data about your system from various sources such as journal
articles and reports.
2. Create a POP-file in which you enter the experimental data you have collected.
3. Create a setup macro file in which you define your system and the variables you
want to optimize. A useful general procedure is to first find a minimum set of
variables that allows you to calculate most of the experiments.
4. Run the setup macro file.
5. Compile your POP-file. This file often contains errors, which need to be corrected,
and the file recompiled several times before the compilation is completed without
errors.
6. In the ED_EXP module, check that the experiments in your POP-file reach equilibrium
with reasonable results. If any experiments do not reach equilibrium with reasonable
results, then try changing the starting values on equilibrium conditions (such as
composition) to see whether the equilibrium can be computed after all. If this does
not work, then you can temporarily exclude the experiment from the optimization. At
a later stage in the optimization, when the optimizing variables have different values,
you can check whether the experiments can be computed with reasonable results.
7. Back in the PARROT module, run the first optimization cycle and evaluate the
feedback in the console. You can also plot diagrams in the POLY module that allow
you to visually inspect the fit between calculated optimization results and the
experimental data. If you are not satisfied with the fit, then enter the ED_EXP module
again and adjust the weights of the experiments in a way that is likely to improve the
fit and run another optimization cycle. Reiterate until you are satisfied with the fit.
8. Once you get the optimization stable and smooth with the minimum set of variables
chosen in step 3 above, try using different sets of variables to see whether
improvements are possible.
9. When you are satisfied with the fit between calculated results and experimental data
with your final set of optimizing variables, update your setup file and POP-file. In the
setup file, enter the calculated optimizing variable values as the variables’ start
values. In the POP-file, enter the final weights of the experiments. With these files
updated, you can easily regenerate the parameter values of your optimized system.
Having the files updated also makes it easier to optimize the system again in light of
The PARROT module is part of the Thermo-Calc software. The module is not
included in the software development kits (SDKs).
The experimental data is entered and edited in a sub-module of PARROT: The EDIT_
EXPERIMENTS Module.
The POP-file (Parrot OPtimization file) is the file that contains all the experimental data that you use for
POP-file optimizing Gibbs energy values for your system. The POP-file is a plain text file that contains ED_EXP
commands. By default, the file has the filename extension *.POP in Thermo-Calc.
The setup file is a Thermo-Calc macro file (*.TCM). This file typically contains commands that define your
Setup file system, opens the PARROT workspace (and associated GIBBS and POLY workspaces) and sets optimizing
variables.
It is often useful to have other macro files than the setup file at hand while you are doing your optimization.
Other For example, it is convenient to have a macro file that automatically plots phase diagrams or other diagrams
macro files based on the latest values of your optimizing variables. An optimization process typically involves many
optimization cycles, so this operation needs to be done many times during a typical optimization.
The PARROT module has its own workspace with dynamic memories, similar to the workspaces of POLY and
GIBBS. It is stored and updated in a PARROT workspace file with the filename extension *.PAR. The workspace
Workspace
file is a binary file whose format is hardware dependent. This means that the format is unique for each type of
files
CPU. Hence, a workspace file saved on a computer with one type of CPU cannot be used on a computer with
another type of CPU.
The EXP-file is a plain text file with information in the form of DATAPLOT Graphical Language commands.
These commands can specify some or all of the data points in your POP-file. This allows you to plot these data
points on top of your plotted optimization results (with the POST commands APPEND_EXPERIMENTAL_
EXP-file DATA or QUICK_EXPERIMENTAL_PLOT). You can then visually assess the fit between these results and the
experimental data. The PARROT workspace is not influenced in any way by the creation or use of EXP-files.
Optimization Workspaces
When writing the setup file, you enter a CREATE_NEW_STORE_FILE command which creates
a PARROT workspace file. Alternatively, select an existing PARROT workspace file with SET_
STORE_FILE. The workspace file is automatically updated and saved with the latest
optimization results (after each use of the OPTIMIZE_VARIABLES command). You can also
explicitly instruct Thermo-Calc to save the workspace using SAVE_PARROT_WORKSPACES. If
you want to get rid of your latest changes and return to the state of your workspace when it
was last saved, use READ_PARROT_WORKSPACES.
When the PARROT workspace is saved, parts of the POLY and GIBBS workspaces are also
saved to the PARROT workspace file, along with the PARROT workspace itself. Using the
POLY command SAVE_WORKSPACES creates a new POLY3 file, nothing is saved to the
PARROT workspace file.
If you do any POLY calculations based on data in the current workspace file, then a *.POLY3
file is created, which contains a copy of the current set of parameters. If you continue on
your optimization and read the old *.POLY3 file, then the new set of parameters is
overwritten with the old set. It is therefore recommended that you never read a *.POLY3 or
*.GES5 file while you are doing an optimization.
Experimental Information 18
POP-File Syntax 21
Entering Experimental Information 23
Using Stability Conditions 34
Grouping Equilibria with Labels 35
Dividing the POP-File into Several Blocks 36
Experimental Information
An optimization of thermodynamic model parameters should be based on a range of reliable
experimental results that is as wide as possible, as well as on empirical or semi-empirical
correlations and theoretical considerations. During an optimization in Thermo-Calc, many
kinds of thermochemical and thermophysical data can be mixed and used together.
The information needed for an optimization represent measurements of thermodynamic
parameters in the system at equilibrium. These can be measurements of any of the
thermodynamic quantities that can be set as conditions in Thermo-Calc. The information
may represent measurements of activities or enthalpies in single-phase regions for example,
or solubilities or transformation temperatures in a multi-phase region.
For each equilibrium that is used in the optimization, at least one quantity must have been
measured and you also need to know the conditions that must be set to compute the
system’s equilibrium state. For example, consider a binary system in a single-phase region.
Suppose that you have measured the temperature, pressure, composition and the chemical
potential. Three of these quantities are necessary to specify the equilibrium state and the
forth can be used as experimental information to model the phase.
If you have a two-phase region and know the temperature and pressure conditions, as well
as which the stable phases are, then you could use the compositions of one or both phases as
experimental data. The former information about the conditions is sufficient to determine
the equilibrium. The experimental information can then be used to optimize the parameters
that are used to characterise and model the system.
For examples how to enter various kinds of experimental data in the POP-file,
see Experiments and Experimental Data.
reasonable estimates of data that is lacking could be. Or you can use calculations from first
principles or semi-empirical methods to get reasonable estimates that can be used as
experimental data.
required to make a reliable judgement about which set of parameters best describes a
particular binary system.
POP-File Syntax
It is recommended that you specify an experimental equilibrium as close as possible to
actual experimental conditions. Ideally, there is information about the set of stable phases,
temperature, pressure and some or all compositions for the equilibrium.
In addition, it is recommended that you keep the POP-file well-organised and extensively
commented. This is especially important if someone else reassesses the system when new
experimental information is available.
If you have too many equilibria defined in your file, or if you define equilibria with different
sets of components in the same file, then you must divide the POP-file in blocks (using the
FLUSH_BUFFER command). You know whether you have defined too many equilibria for one
block when you compile the file. A too large number of equilibria leads to an error message
when the file is compiled.
If you use the DEFINE_COMPONENTS command, then it must be the first command in the
POP-file (or if you have several blocks, DEFINE_COMPONENTS can also be put as the first
command after FLUSH_BUFFER). This is because the command automatically reinitiates the
current workspace, so the effect of any commands placed before it are not saved.
l ADVANCED_OPTIONS
l CHANGE_STATUS
l COMMENT
l CREATE_NEW_EQUILIBRIUM
l DEFINE_COMPONENTS
l ENTER_SYMBOL
l EVALUATE_FUNCTIONS
l EXPERIMENT
l EXPORT
l FLUSH_BUFFER
l IMPORT
l LABEL_DATA
l SAVE_WORKSPACES
l SET_ALL_START_VALUES
l SET_ALTERNATE_CONDITION
l SET_CONDITION
l SET_NUMERICAL_LIMITS
l SET_REFERENCE_STATE
l SET_START_VALUE
l SET_WEIGHT
l TABLE_HEAD, TABLE_VALUES and TABLE_END
l Code 1: This means that all components are entered but all phases are suspended.
This code is appropriate in most cases.
l Code 0: This means that all components and phases in the equilibrium are suspended
initially. This code is needed if you are using experimental data about systems of
different orders simultaneously, such as data about both binary and ternary systems
for example.
l Code 2: This means that all components and phases are initially entered.
Example
For example, the first command in the example above creates an equilibrium data point
with the unique identifier 1. All components of the system are entered but all phases are
suspended:
CREATE_NEW_EQUILIBRIUM 1 1
Example
In the example, the CHANGE_STATUS command specifies that the equilibrium is a single-
phase equilibrium with the liquid phase.
CHANGE_STATUS PHASE LIQUID=FIX 1
Furthermore, the temperature is 1379 K, the pressure is 1 bar (1E5 Pa) and the mole
fraction of Au is 0.0563.
SET_CONDITION T=1379 P=1E5 X(LIQUID,AU)=0.0563
Sometimes you have reason to think that some information about an equilibrium condition
may not be accurate. If this is the case, then you specify the degree of uncertainty for a
condition with a colon after the condition quantity, directly followed by either an absolute
value or a percentage. For example, if you have reason to doubt the reliability of the Au
mole fraction measurement, then you could write:
SET_CONDITION T=1379 P=1E5 X(LIQUID,AU)=0.0563:10%
This indicates that you think the Au mole fraction is between 0.0507 and 0.0619. PARROT
calculates the equilibrium twice, once for 0.0507 and once for 0.0619, and then computes
the change of each experimental value between these two equilibria. This change is used to
modify the uncertainty specified for the experimental value.
The possibility of specifying uncertainties on conditions may be useful when you have
experimental data about a ternary system. In a binary system, a tie-line is determined by the
two phases, the temperature and the pressure. Measurements of the compositions of both
phases can then be used as experimental data. To specify the tie-line in a ternary two-phase
equilibrium one of the four compositions must also be set as a condition. If the
measurement of this composition has the same uncertainty as the other compositions, then
you can assign this same degree of uncertainty both to the composition selected as a
condition and the compositions selected as experimental data. Alternatively, the sample
(overall) composition could be used as a condition and all four phase compositions could be
used as experiment values. These phases must have the status entered (not fixed) since the
relative amount of each is unknown.
Example
SET_REFERENCE_STATE AU LIQ * 1E5
SET_REFERENCE_STATE CU LIQ * 1E5
Note that in order for these reference states to be taken into account when the
measurement of the enthalpy per mole of the system is entered with experiment, the R-
suffix must be used.
Example
In the example, the EXPERIMENT command specifies the enthalpy per mole of the system,
where this value is specified with respect to non-default reference states that you have set in
the equilibrium specification:
EXPERIMENT HMR=-1520:200
The value before the colon is the quantity of the variable. The value after the colon is an
assessment of the uncertainty of this quantity. A higher value means a greater uncertainty.
In the example, the uncertainty has been specified with an absolute value but it could also
be specified in percent of the quantity:
EXPERIMENT HMR=-1520:13%
Several experiments can be specified after the experiment command. Besides assigning
values to conditions, it is also possible to specify that a certain quantity is greater than or
less than a certain value. For instance, the following command would specify that the
activity of the C-component is less than 0.01 and the mass fraction of the BCC phase of Ag is
greater than 0.05:
EXPERIMENT ACR(C)<0.01:0.001 W(BCC,AG)>0.05:10%
Note that an experimental quantity can typically also be treated as an equilibrium condition,
and vice versa. Which measured quantities that you treat as conditions and which quantities
you treat as experimental data should be based on the accuracy of the different
measurements. In most cases, the quantity that is based on the experimental technique with
the lowest accuracy should be used as the experimental value.
Example
The following block of commands exemplifies how a table can be entered into a POP-file:
TABLE_HEAD 1
CREATE_NEW_EQUILIBRIUM @@ 1
CHANGE_STATUS PHASE TETR=FIX 0
CHANGE_STATUS PHASE ION=ENT 1
SET_CONDITION P=101325 N=1 ACR(O2,GAS)=.21 X(ALO3/2)=@1
EXPERIMENT T=@2:5
TABLE_VALUE
0.46082476
0.57142380
0.66822276
0.7496 2176
0.50382426
0.63132249
TABLE_END
Example
For example, the following command sets the composition start value of VA constituent of
the FCC_A1 phase to 0.99:
SET_START_VALUE Y(FCC_A1,VA#2)=0.99
Setting the mole fraction for a component in a phase is not as reliable as setting the site
fraction.
Additional equilibria entered after the last SET_START_VALUE command are automatically
given a similar start value if the following command appears previously in the POP-file:
SET_ALL_START_VALUES Y
If start values are not set automatically for phase constituents, then you may have to set the
composition start value for each equilibrium (or table of equilibria) separately.
Example
For example, the following set of ED_EXP commands characterises a binary (A-B) three-
phase equilibrium (FCC-BCC-LIQ) in a ternary system (A-B-C). It can be used in a POP-file
that otherwise only contain experimental information about the ternary system (A-B-C):
CREATE_NEW_EQUILIBRIUM 1 0
CHANGE_STATUS COMPONENT A B = ENTERED
CHANGE_STATUS PHASE FCC BCC LIQ=FIX 1
SET_CONDITION P=1E5
EXPERIMENT T=1177:10
COMMENT from A-B
This produces an error even before BCC becomes stable and the weight of the experiment in
question can be adjusted as needed. If you specify that the driving force for the BCC phase
should be below 0 (DGM(BCC)<0:1E-4 for example), then the optimization converges
extremely slowly (if at all). With such a sharp error condition, calculating the equilibrium is
like finding the minimum point on a lawn that gently slopes towards a rock wall. The
optimization keeps bouncing into the wall.
Another useful stability condition is the phase stability function, abbreviated QF. This can be
used to specify that a phase is outside the miscibility gap for a solution phase. If QF(phase) is
negative, then the phase is inside the miscibility gap; if QF(phase) is positive, then it is
outside the miscibility gap.
During the optimization, you could use this label to, for example, set all the equilibria that
have it to the same weight in the ED_EXP module.
l PARROT uses a buffer for storing compiled experimental data. If there is not enough
memory in this buffer for storing all the experiments from the POP-file, then the
POP-file can be divided into several blocks. When PARROT encounters the end of a
POP-file block, it saves the experimental data that has been compiled to PARROT
workspace, clears out the memory buffer and then proceeds to read the next block in
the POP-file. This goes on until the experimental data from all the blocks have been
saved to the PARROT workspace.
l If you want to put equilibria with different sets of components in one and the same
POP-file, then you must divide the file up into blocks. Each block should only contain
equilibria that all have the same set of components.
To divide the equilibria in the POP-file into different blocks, enter the FLUSH_BUFFER
command between two equilibria. This command marks the beginning of new block. When
the command is encountered during the compilation of the POP-file, the compilation of the
current block is terminated, the equilibria saved to the PARROT workspace file and a new
block is initiated. That the buffer is reinitiated means that all functions and constants that
were entered in the previous block must be entered again in new block in order to be used.
When editing your experimental data in the ED_EXP module, you can select which block to
load and edit using READ_WORKSPACES <block number>. The block before the first
instance of FLUSH_BUFFER is block number 1, the block after the first instance and before
the second instance is block number 2, and so on.
l A system definition.
l A section where you enter model parameters and optimizing variables.
l A GO PARROT command.
l A section where initial values are assigned to the optimizing variables for the first
optimization cycle.
l A CREATE_NEW_STORE_FILE <filename.par> which creates the PARROT
workspace file onto which the results of your optimization are continuously saved and
updated. By default this workspace file has the same filename as the setup file, but
with the *.PAR filename extension.
l A COMPILE_EXPERIMENTS <filename.pop> command. Since you often encounter
syntax errors when you first try to compile a POP-file, it may be useful to execute this
command from the console rather than as part of the setup macro file.
l Normally, you also have a SET_INTERACTIVE at the end of the setup file. This
command returns control over Thermo-Calc to the console.
It is possible to interactively execute all these commands one at a time in the console. It may
be instructive to enter the commands that would normally go into the setup file interactively
while using the on-line help while you are learning to use the PARROT module.
l If you have an unencrypted user database, then you can define your system by
entering DATA module commands directly in the setup file. Use the DATA commands
that you normally use to define a system when doing equilibrium calculations in
Thermo-Calc Console Mode.
l Define your system by entering DATA module commands directly in the console, then
generate a macro file with the GIBBS command LIST_DATA <name of setup
file>.tcm p . This command saves all the data that has been loaded in the GIBBS
workspace as a macro file. This file can then be modified as required into an
optimization setup file.
If you add composition sets of a phase after the POP-file has been compiled, the
data structure in the workspace is corrupted and you have to recompile the
POP-file.
Thermodynamic Models
This ENTER_PHASE command enters a phase called IONIC_LIQ into the GIBBS workspace.
This phase is of the type ionic liquid solution, which is specified by type code Y. Such a phase
is modelled by the Ionic Two Sublattice Liquid Model. The next two arguments specify the
two sublattices, in this case the cations AL+3,ZR+4 and the anions ALO2-1,O-2. Components
that interact in a sublattice are separated by a comma. The first N at the end means that no
additional constituents are added to the phase. The second N means that a list of possible
parameters for the phase should not be shown in the console.
There are model parameters that describe the phase which you do not want to optimize, in
which case the Gibbs energy expression of the parameter does not contain any optimizing
variables.
Example 1
For example, the following parameters of the IONIC_LIQ phase do not contain any
optimizing variables:
ENTER_PARAMETER G(IONIC_LIQ,AL+3:ALO2-1;0) 298.15 +2*GAL2O3_L;
6000 N
ENTER_PARAMETER G(IONIC_LIQ,AL+3:O-2;0) 298.15 +GAL2O3_L+400000;
6000 N
ENTER_PARAMETER G(IONIC_LIQ,ZR+4:O-2;0) 298.15 +2*GZRO2L; 6000 N
These parameters define the Gibbs energy expressions for three constituents in the
constituent array, namely AL+3:ALO2-1, AL+3:O-2 and ZR+4:O-2. The names that occur in
these expressions—that is, GAL2O3_L and GZRO2L—are the names of complex functions of
temperature that are entered in the GIBBS workspace with the ENTER_SYMBOL command.
The numbers that frame the Gibbs energy expressions specify the temperature range within
which the expression should be applied. In the above, the expressions are applied in a
temperature range from 298.15 K to 6000 K.
Example 2
In this example, suppose that you want to optimize the model parameter for the ZR+4:ALO2-
1 combination, then you could enter the variables V1 and V2 in the Gibbs energy expression
for that parameter in the following way:
ENTER_PARAMETER G(IONIC_LIQ,ZR+4:ALO2-1;0) 298.15 +GZRO2L
+2*GAL2O3_L +V1+V2*T; 6000 N
You normally have different optimizing variables in different parameters, but in some cases
you may want several parameters to vary together, in which case you can use the same
variable in the Gibbs energy expressions of several parameters.
Example
To take account of the excess Gibbs energy, you might enter the following:
ENTER_PARAMETER L(IONIC_LIQ,ZR+4:ALO2-1,O-2;0) 298.15 +V11+V12*T;
6000 N
ENTER_PARAMETER L(IONIC_LIQ,ZR+4:ALO2-1,O-2;1) 298.15 +V13+V14*T;
6000 N
ENTER_PARAMETER L(IONIC_LIQ,ZR+4:ALO2-1,O-2;2) 298.15 +V15+V16*T;
6000 N
Even if you are starting your optimization in alternate mode, you still have to initialize the
optimizing variables though (you can all give them a start value of 0).
To initialize an optimizing variable and to give it a start value, use either SET_OPTIMIZING_
VARIABLE or SET_SCALED_VARIABLE. Using SET-OPTIMZING_VARIABLE results in a scaling
factor equal to the current value of the parameter unless the current value is zero, in which
case the scaling factor is 1000. This is typically appropriate for enthalpic parameters, but not
necessarily for other parameters. The scaling factor is the factor by which the optimizing
variable value is varied during the optimization.
Example
For example, if you want to optimize the variables V1, V2, V11, V13 and V17, then you could
enter the following in the setup file:
SET_OPTIMIZING_VARIABLE 1 +43000
SET_OPTIMIZING_VARIABLE 2 -35.2
SET_OPTIMIZING_VARIABLE 11 +72000
SET_OPTIMIZING_VARIABLE 13 +27000
SET_OPTIMIZING_VARIABLE 17 -100000
The value given to each optimizing variable (+43000 for variable V1 for example) is also that
variable’s initial scaling factor. If you want to set the initial scaling factor of a variable to a
value that is lower or higher than its start value, then use SET-SCALED_VARIABLE <start
value><scaling factor><min value><max value>.
If Thermo-Calc encounters errors in the syntax of the POP-file, then error messages are
displayed in the console. Normally, the compilation also stops when syntax errors are
encountered. If this happens, then you must correct the errors and recompile the file. It is
useful to have two console windows open when you do this. That way, you can use one
console for editing the experimental data and another console for compiling and reading
any further error messages.
Optimizing in PARROT
In this section:
Optimization Workflow
Normally, the workflow during an optimization is the following:
1. In the PARROT module, run the setup macro file using MACRO_FILE_OPEN.
2. Go to ED_EXP with EDIT_EXPERIMENTS, use READ_WORKSPACES to load your
experimental data and then execute .
3. If an equilibrium cannot be computed, then this either means that the start values
(site fractions, for example) were inappropriate or that the equilibrium cannot be
calculated with the current set of parameters. If the latter, then the equilibrium may
have to be excluded from the optimization. However, you should make an effort to
exclude the possibility that the reason is just that you do not have the appropriate
start values for the equilibrium.
4. When each equilibrium is either successfully computed or excluded from the
calculation, go back to the PARROT module and run the OPTIMIZE_VARIABLES
command. Give the number of optimization iterations you want the Thermo-Calc
program to carry out as an argument to the command. This number specifies how
many different sets of values for the optimizing variables that PARROT tries to fit
with the experimental data. It is recommended that you run 0 iterations first to see
the discrepancy between the experimental data and the initial calculated results. The
current workspace file is automatically updated with the last set of optimized
variables and calculated results.
5. List and evaluate the result of the optimization using LIST_RESULT. Typically, what is
of interest in the results are the relative standard deviation of the optimizing
variables and the error values in the list of calculated experimental data results. If
the relative standard deviation for an optimizing variable is very large, this means
that the variable doesn’t have any effect on the computed results and that the
variable should not be used (you can make PARROT ignore the variable by setting its
value to 0 with SET_FIX_VARIABLE). If the relative standard deviation is close to zero
for a variable, then this might indicate that you need to use more variables. When it
comes to errors in the calculated equilibrium results, these can be decreased by
lowering the weight that PARROT gives the experiment in the calculation (the more
weight, the more the experiment affects the calculated results).
6. Use OPTIMIZE_VARIABLES or CONTINUE_OPTIMIZATION to carry out a new
optimization cycle. Go back to step 5 above and continue to do optimization cycles
until you judge that there is a good enough fit between your calculated results and
your experimental data. It is recommended that you do not only rely on feedback
from LIST_RESULT but also frequently plot various diagrams and compare them
visually to some of your experimental data.
When this happens, try to find out why the equilibrium calculation fail. Are the condition
start values that you have given the equilibrium inappropriate for example? If you have a
similar equilibrium that has already been successfully computed, then you can select the
equilibrium that does not work, use the ED_EXP command SET_ALL_START_VALUES and
accept all the suggestions for the site fractions. Alternatively, use TRANSFER_START_VALUE
<equilibrium number> to make the currently selected equilibrium inherit the start values
of the indicated equilibrium. Run COMPUTE_EQUILIBRIUM again to see if the equilibrium
can be computed with the inherited start value.
If you cannot find an explanation of why the equilibrium cannot be computed, then it may be
that the experiment is faulty. If so, then this experiment should be excluded from the
optimization by being given a weight of 0. You should then run COMPUTE_EQUILIBRIUM
again to make sure that all equilibria can be computed. However, experiments that fail to
reach equilibria could succeed in doing so if the optimizing variables have other values. It is
therefore sometimes worth trying to include experiments later in the optimization process
(when the optimizing variables are relatively close to their final values), even if they had to
be excluded at its start. In some cases, it might also be appropriate to change the error
tolerance for in an experiment (using the ED_EXP command EXPERIMENT).
You must save the PARROT workspace with SAVE_WORKSPACES before you exit
the ED_EXP module.
Setting Weights
To change the weight of an experiment, first enter the ED_EXP module from PARROT using
EDIT_EXPERIMENTS. Then use the SET_WEIGHT command to set the weight for a specific
equilibrium (equilibrium number 3 for example), for a range of equilibria (the equilibria 10-
19) or all the equilibria that have a certain label (such as all the equilibria with the label A1).
To save the new weight(s), use SAVE_WORKSPACES .
By default, all the experimental information in your POP-file is treated equally: each
experiment has a weight of 1. However, experiments that you excluded because they did not
reach equilibrium now have a weight of 0. The higher the weight of an experiment is, the
more Thermo-Calc tries to ensure that the computed result fits the condition measured in
that experiment.
The contribution of an experiment’s error to the sum of errors is multiplied by the square of
the weight set for that experiment. In other words, if you want to cut the error of an
experiment with weight 1.0 by half, then you should use a weight of 0.7. This makes the
experiment’s error 0.49. Setting the weight to 1.4 instead makes the error twice as large
(1.96).
Note that if you use READ_WORKSPACES after you have changed weights on the
experiments, your changes are lost unless you have saved those changes. In the ED_EXP
module, you can get a list of all the experiments in the console if you first read the
experimental data from the workspace file (with READ_WORKSPACES) and then use LIST_
ALL_EQUILIBRIA.
The experiments for which the optimization has not found a good fit are marked with an
asterisk (*) or a hash sign (#) in the rightmost column. An asterisk in this column indicates
that the experiment has an error that is larger than the error tolerance and a hash sign
indicates that the error is much larger. The error tolerance depends on the degree of
accuracy set for that particular piece of experimental information. The error values are
presented in the next to rightmost column.
Note that if you are optimizing in alternate mode, then you usually do not need to change
the weights for the experiments. Instead, you can simply run OPTIMIZE_VARIABLES again,
specifying, say, thirty iterations, evaluate the results again, and continue in that way until
you are satisfied with the results.
If you use CONTINUE_OPTIMIZATION, then PARROT continues the optimization using the
same Hessian matrix. If the optimization is going well but you run out of iterations, then
continuing with the same Hessian matrix may be useful.
As before, use LIST_RESULT to inspect the fit between the calculated and the experimental
values for your experiments. If necessary, adjust the weights of the experiments again in the
ED_EXP module. You may even discover that you have to exclude additional experiments
from the optimization.
Besides looking at the rightmost column in the list of experiments (that is produced when
you use LIST_RESULT), it is also useful to look at the sum of squares of the errors of all the
variables. This is shown in the output of OPTIMIZE_VARIABLES and CONTINUE_
OPTIMIZATION. This sum should be as low as possible.
The following shows part of the output that you get when using LIST_RESULT:
In the example you can see that the sum of squares have decreased slightly. (The final sum
of squares that you get after an optimization run is also presented directly in the output
from OPTIMIZE_VARIABLES and CONTINUE_OPTIMIZATION.) As long as the sum of squares
figure is decreasing, the optimization is working as it should.
When your calculated results have been improving for a while, that is, when the sum of
squares has been decreasing, and you are confident that you are making definitive progress,
then you should use the PARROT command RESCALE_VARIABLES to reset the starting values
of the optimizing variables to their current values. When you do this, the start values and
scaling factors of the optimizing variables (shown in the table’s third column in the
preceding screen shot), are all set to the current values (shown in the table’s second
column).
If your optimization is not going well, then you may want to reset the values of your
optimization variables to their current start values. To do this, use RECOVER_VARIABLES.
After rescaling the variables, continue the optimization using OPTIMIZE_VARIABLES again.
Cycle through calls of the commands OPTIMIZE_VARIABLES/CONTINUE_OPTIMIZATION,
CONTINUE_OPTIMIZATION, RESCALE_VARIABLES and OPTIMIZE_VARIABLES again until your
set of optimizing variables does not seem to improve anymore. Even when it seems to you
that you have reached this point, it is recommended that you use OPTIMIZE_
VARIABLES/CONTINUE_OPTIMIZATION a few extra times to make sure that the variable
values cannot be further improved, that is, that the sum of squares of the errors of all the
variables cannot be reduced further. If the final solution is repeatedly calculated after the
same number of iterations and reaching the same result, then it is generally reasonable to
accept the current variable values.
If such a significant RSD has a value larger than 1, then this typically means that you are
using too many optimizing variables. However, the RSD values also depend on the weighting
of the experiments, so it is sometimes possible to reduce the RSD by changing weights.
The RSD should not be too low either. If one or more of them is very close to 0, then this
suggests that you are trying to optimize the system with too few optimizing variables. You
can add optimizing variables interactively using ENTER_PARAMETER in GIBBS. However, it is
recommended that you add a sufficient number of variables in the setup file from the start
so that do not need to do this. You can fix variables to a value of 0 until you discover that
they are needed.
Besides the RSD, you should also keep an eye on the variable values themselves (shown in
the VALUE column, next to the leftmost column in the table shown in the preceding
screenshot). If the value of a variable is in the order of 1E5 or higher and this variable has
been put in the temperature-independent part of an interaction parameter’s Gibbs energy
expression, then you may not have the right weights on your experiments or you are using
too many optimizing variables. This is also typically the case if a variable with a value in the
order of 10 or more (per mole atoms) is in the temperature-dependent part of the Gibbs
energy expression of an interaction parameter. Such a high parameter value may lead to
inverted miscibility gaps or re-stabilisation of a phase at high temperature. It is important to
keep an eye on this since the temperature-independent and the temperature-dependent
interaction parameter often varies together. If the temperature-dependent interaction
parameter cannot be reliably determined, you may have to fix its value.
Note that even if you have found a good enough fit between calculated and experimental
values after an optimization run, a parameter value may suddenly start to change by several
orders of magnitude when you use OPTIMIZE_VARIABLES is used again. If this happens, then
careful reconsideration of the weighting of the experiments of the set of optimizing
variables is required. However, when the optimization has converged and the parameter
values remain stable after repeated use of OPTIMZE_VARIALBES, this should usually not
happen.
Such a command call tells Thermo-Calc to superimpose the data points in dataset 1 of
DP.EXP onto the plot in the Console Results window, but not to impose any information about
axis scaling, labels and other information which is normally found in the prologue of the
DP.EXP file.
The POST command QUICK_EXPERIMENTAL_PLOT can also be used to superimpose data
points on a plotted phase or property diagram.
To update the database file (with filename extension TDB) open it in a text editor and enter
or update each of the parameters that you have optimized.
For example, suppose you have the following command in your setup file:
ENTER_PARAMETER L(IONIC_LIQ,AL+3,ZR+4:O-2;0) 298.15 +V17; 6000 N
If you then end up with a value for optimizing variable V17 of -100000, then you should enter
the following under the IONIC_LIQ phase in the database file:
PARAM L(IONIC_LIQ,AL+3,ZR+4:O-2;0) 298.15 -100000; 6000 N REF !
If you often need to round-off the optimizing variable value in some way, see
Rounding off Optimizing Variable Values.
When you have updated or entered the parameters that you optimized, save the database
file.
l Update your POP-file so that it contains the weights of your critical set of
experiments. Use SET_WEIGHT to set the weights directly in the POP-file. You may
also have to use SET_START_VALUE for some conditions in the POP-file. Otherwise,
you may not be able to compute the equilibria with .
l Copy the final values of your optimizing variables and set them as start values of the
variables in the setup macro file (with SET_FIX_VARIABLE).
It is important that you round off the values of the optimizing variables
correctly. See Rounding off Optimizing Variable Values. When you have done
this, you can run the setup macro file to recreate the final result of the
optimization.
Alternate Mode
In this section:
When PARROT optimizes in alternate mode, the computation of this equilibrium is done by
way of the following two calculations:
CHANGE_STATUS PHASE LIQ=FIX 1
SET_CONDITION T=1000 P=1E5 X(LIQ,B)=.2
CHANGE_STATUS PHASE FCC=FIX 1
SET_CONDITION T=1000 P=1E5 X(FCC,B)=.1
The difference between the chemical potentials in every pair of phases is calculated and
PARROT tries to adjust the parameters of the phases so that these differences are
minimized. In other words, PARROT tries to make the chemical potentials equal in all
phases. For PARROT to be able to do this, some additional information about the
experimental multi-phase equilibria is required, at least for all invariant equilibria.
This equilibrium could be calculated with alternate mode without any modification. The
compositions specified with the experiment command is used as condition when the
thermodynamic properties of each phase are calculated.
Examples of SET_ALTERNATE_CONDITION
The following topics demonstrate how SET_ALTERNATE_CONDITION is used to prepare
different kinds of equilibria for optimization in alternate mode.
When the alternate mode is turned on, the composition given by the SET_ALTERNATE_
CONDITION command is used for the FCC phase. The properties of the BCC phase is
calculated using the composition specified by experiment as a condition.
Troubleshooting
During an optimization, you are likely to run into many different problems and challenges.
This topic gives some general guidelines that can help avoid common mistakes and
problems.
In this section:
Useful Guidelines 77
Excluding and Including the Correct Equilibria 79
Conflicting Data 80
Useful Guidelines
The following rules of thumb are generally good to adhere to when you are planning and
executing an optimization:
l When you have achieved a satisfactory fit between calculated results and
experimental data with an appropriate number of optimization variables, perform a
couple of final optimization runs to make sure that your results are stable.
l Make sure that the values of the optimizing variables keep within a reasonable
range. If a variable starts to change several orders of magnitudes, then you must
consider whether you have the right weights on the experiments and whether you
are using too many optimizing variables.
Conflicting Data
It is important that you do not include conflicting sets of data at the same time during an
optimization. After all, if they are genuinely conflicting, then at least one of the sets must be
incorrect. If you have conflicting sets of data, then only use one of these sets at a time
together with the rest of the data. Often, the optimization makes it clear which dataset
coheres best with the other information that is available about the system.
Sometimes, conflicting data cannot be detected directly. For example, you may have activity
data which is inconsistent with solubility data from the phase diagram. This would be
indicated by large errors in the fit when both the activity data and the solubility data are
included. To find these inconsistencies, let alone correct the errors, you may thus have to
optimize with some datasets excluded.
Example
The following table shows a POP-file excerpt that demonstrates how some kinds of phase
diagram data can be entered:
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT T=912:5
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT T=1213:10
EXPERIMENT X(FCC,C)=0.12:.02
Examples
Example ED_EXP commands
CREATE_NEW_EQUILIBRIUM 1 1
SET_CONDITION X(C)=0.03
EXPERIMENT ACR(C)=0.29:5%
CREATE_NEW_EQUILIBRIUM 1 1
SET_REFERENCE_STATE O GAS,,,,
EXPERIMENT LNFO=-1.5:0.01
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT S=92.36:1
CREATE_NEW_EQUILIBRIUM 1 1
SET_REFERENCE_STATE O O2GAS,,,,
EXPERIMENT GM=-298911:5%
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT CP=207:5%
CREATE_NEW_EQUILIBRIUM 1 1
SET_CONDITION N(O)=4
CREATE_NEW_EQUILIBRIUM 2 1
SET_CONDITION T=400
EXPERIMENT HMNFE2O4=16610:5%
EXPERIMENT HMR=-1520:200
Examples
Example ED_EXP commands
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT HWR=1080:90
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT HMR(CAZRO3_O)=-15960:5%
Example
Example ED_EXP commands
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT MUR(O)=-95387:1000
Examples
Example ED_EXP commands
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT DGM(BCC)<-0.1:0.1
EXPERIMENT DGM(CEM)>0.1:0.01
EXPERIMENT VM=1.00758E-5:5%
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT ALPHA=2.35E-5:5%
Examples
Example ED_EXP commands
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT LPFCC=4.02:5%
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT LPBCC=2.90:5%
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT Y(SPINEL,AL+3#1)=0.31:5%
Example
Example ED_EXP commands
CREATE_NEW_EQUILIBRIUM 1 1
EXPERIMENT TC(SPINEL)=520:5
EXPERIMENT T=1177:10
Thermodynamic Models
The most common models used in assessments are described briefly in these topics.
Examples of how to write the phase definitions in the setup-file are also given for each of
these models. In addition to the models described here, a large number of thermodynamic
models for various phases in different states have been implemented.
In this section:
Gas 95
Compound Energy Formalism 96
Substitutional Liquid 97
Ionic Two-Sublattice Liquid Model 98
Models for Ordered Phases 99
4SL Model for FCC, HCP and BCC 101
2SL Model for FCC, HCP and BCC 103
Magnetic Ordering 104
Molar Volumes and High Pressure 105
Excess Models 106
Gas
The gaseous mixture phase is usually treated as a substitutional phase without sublattice. In
the gaseous mixture phase, there are usually molecules formed, and the number of
constituents of the gas phase is often much larger than the number of elements. These
complex constituents have to be defined as species. The ideal gas model may handle a gas
phase under low pressures (and low temperatures). This implies that the P-V-T relations and
thermodynamic properties of pure gaseous species are calculated as for ideal gas, and that
there is interaction between gaseous species in the mixture. In a defined system, there may
only exist one gaseous mixture phase. Type code G is used for the gas phase:
ENTER_PHASE GAS G, 1 H,H1O1,H1O2,H2,H2O1,H2O2,O,O2,O3; N N
Examples
Examples of phase definitions in a setup-file using the CEF:
ENTER_PHASE SPINEL I, 4 1 2 2 4
FE+2,FE+3; FE+2,FE+3,VA; FE+2,VA; O-2; N N
ENTER_PHASE SIGMA, 3 10 4 16
AL,CO,CR,FE,NB; AL,CO,CR,FE,NB; AL,CO,CR,FE,NB; N N
ENTER_PHASE FCC_A1, 2 1 1
CR,FE,MN; C,N,VA; N N
ENTER_PHASE BCC_A2, 2 1 3
CR,FE,MN,VA; C,N,VA; N N
Substitutional Liquid
The liquid phase is normally (but not always) modelled as a substitutional phase with no
sublattice, which is occupied by two or more constituents. The constituents are normally the
elements, but molecules or associates can also be used. Type code L is used for the liquid
phase.
Example
ENTER_PHASE LIQUID L, 1
AL,C,CR,FE,MO,NI,SI ; N N
ENTER_PHASE LIQUID L, 1
C,FE,FEO,FEO3/2,NI,NIO ; N N
Example
Examples of phase definitions in a setup-file:
ENTER_PHASE LIQUID Y,
AL+3,CR+2,FE+2,NI+2; VA; N N
ENTER_PHASE IONIC_LIQ Y,
CA+2,MG+2; O-2; N N
ENTER_PHASE IONIC_LIQ Y,
AL+3,CA+2,FE+2,MG+2,SI+4;
ALO2-1,O-2,SIO4-4,VA,FEO3/2,SIO2; N N
Since PARROT does not automatically create new composition sets, it is necessary to create
composition sets for both the ordered and disordered phases in the setup-file: Amend_
phase_description <phase> composition_sets <new highest set number>,,,,
Example
Example of phase definitions for the corresponding disordered and ordered parts in a setup-
file:
ENTER_PHASE FCC_A1, 2 1 1
AL,CR,FE,NI; VA; N N
ENTER_PHASE FCC_L12, 3 .75 .25 1
AL,CR,FE,NI ; AL,CR,FE,NI; VA; N N
AMEND_PHASE_DESCRIPTION FCC_L12 DIS_PART FCC_A1
GA:A:B:B=GA:B:A:B=GA:B:B:A=GB:A:A:B=GB:A:B:A=GB:B:A:A
GB:A:A:A=GA:B:A:A=GA:A:B:A=GA:A:A:B
LA,B:*:*:*=L*:A,B:*:*=L*:*:A,B:*=L*:*:*:A,B
The asterisk * means that the interaction parameter is independent of the occupation of that
sublattice. For the disordered phase to be completely disordered, i.e. that all site fractions
are equal on all four sublattices, all constraints must be correct.
For ordered BCC phases, the situation is a bit more complicated, as the four sublattice
ordering phase represents an irregular tetrahedron with two pairs of sites that are next
nearest neighbours. Thus, for an A-B binary solution phase, with A located on two sublattice
sites and B on the other two, the end-member described by GA:A:B:B has four nearest
neighbour bonds between A and B atoms, whereas the end-member described by GA:B:A:B
has two nearest neighbour bonds between A and B atoms and two next nearest neighbour
bonds. Many parameters thus have a relation:
GA:B:B:B=GB:A:B:B=GB:B:A:B=GB:B:B:A
GB:A:A:A=GA:B:A:A=GA:A:B:A=GA:A:A:B
GA:A:B:B=GB:B:A:A
GA:B:A:B=GA:B:B:A=GB:A:A:B=GB:A:B:A
LA,B:*:*:*=L*:A,B:*:*=L*:*:A,B:*=L*:*:*:A,B
The GA:B:B:B term represents D03, GA:A:B:B B2 and the GA:B:A:B B32 ordering. There are also
two kinds of reciprocal interaction parameters:
LA,B:A,B:*:*;0…9
LA,B:*:A,B:*;0…9
Kusoffsky et al. (2001) have shown the influence of different parameters available in the 4SL
model applied to fcc ordering. The possibility to use the 4SL model to BCC ordering has been
studied by Sundman et al. (2009) in the Al-Fe system.
LA,B:*=L*:A,B
For a 2SL asymmetric model including, but not limited to, L12, more constraints are needed.
This model has many complicated relations between the parameters. The relation between
the parameters for the 2SL L12 model can be derived from a 4SL model. The conversion
from 4SL model parameters to 2SL parameters for L12 can be found in Dupin et al. (2001)
and for L10 in Yuan et al. (2012). Higher-order systems with an L12 phase modelled with two
sublattices require a lot of ternary and some quaternary interaction parameters in order to
make the disordered state stable. These parameters have been derived by e.g. Dupin (1995),
also found in Kusoffsky et al. (2001).
Many publications exist on how to model order/disorder transformations using a two-
sublattice model, see e.g. Dupin, Ansara (1999), De Keyzer et al. (2009).
Magnetic Ordering
The magnetic contribution to the Gibbs energy is given by a model proposed by Inden (1975)
and adapted by Hillert and Jarl (1978), and is described by:
G=RTln(b+1)f(t)
where t=T/TC.
The values of the Curie temperature, TC, and Bohr magneton number, b, at a certain
composition are then used in an optimization procedure to calculate the contribution to
Gibbs energy due to magnetic ordering. Curie temperature and Bohr magneton number are
given in the command ENTER_PARAMETER for phases that undergo a magnetic transition:
AMEND_PHASE_DESCRIPTION BCC_A2 MAGNETIC -1.0 0.4
ENTER_PARAMETER TC(BCC_A2,FE:VA;0) 298.15 +V1; 6000 N
ENTER_PARAMETER BMAGN(BCC_A2,FE:VA;0) 298.15 +V2; 6000 N
The arguments -1 and 0.4 specify the values of parameters in the magnetic model: -1 is the
antiferromagnetic factor and 0.4 is the structure factor. Usually the antiferromagnetic
factor =-1 for bcc and =-3 for fcc (and other non-bcc phases). The structure factor
corresponds to the short range order fraction of the enthalpy. This factor is 0.4 for bcc and
0.28 for non-bcc phases.
All parameters can be composition dependent in the same way as all other model
parameters in Thermo-Calc. Experimental information about the temperature, pressure and
composition dependence of the volume can be assessed using these model parameters. To
evaluate V0, VA and VK experimental data at 1 bar only are needed.
Example
Examples on modeling molar volume in a setup-file:
ENTER_PARAMETER V0(BCC_A2,FE:VA;0) 298.15 +V1; 6000 N
ENTER_PARAMETER VA(BCC_A2,FE:VA;0) 298.15 +V2*T+V3*T**2; 6000 N
ENTER_PARAMETER VC(BCC_A2,FE:VA;0) 298.15 +V4+V5*T; 6000 N
ENTER_PARAMETER VK(BCC_A2,FE:VA;0) 298.15 +V6+V7*T; 6000 N
ENTER_PARAMETER V0(FCC_A1,CR,FE:VA;0) 298.15 +V8; 6000 N
ENTER_PARAMETER VA(FCC_A1,CR,FE:VA;0) 298.15 +V9*(T-298.15); 6000
N
Excess Models
Unless specifically amended, the excess Gibbs energy terms are modelled by the Redlich-
Kister-Muggianu Model. Other excess models for the Gibbs energy are also implemented in
Thermo-Calc, such as e.g. Kohler and Toop-Kohler extrapolation models.
Thermo-Calc is not restricted to binary interaction parameters. Ternary, quaternary and
higher-order interaction parameters can also be used if there is enough information to
evaluate these from experimental data. The ternary interaction parameters are identified
by the degrees of the so-called ternary L parameter (i.e. 0, 1 and 2) in the command ENTER_
PARAMETER. If the parameter is composition-independent, you only need a single
interaction parameter with a degree of zero, i.e. only the 0L term. If there is a ternary
composition-dependent interaction parameter, you must enter all three parameters (0,1 and
2). If such a ternary interaction parameter should be zero, then assign it a function which is
zero. If the three interaction parameters have the same value, then that is identical to
having a composition-independent ternary parameter.
Example
ENTER_PARAMETER L(LIQUID,A,B,C;0) 298.15 +1000; 6000 N
ENTER_PARAMETER L(LIQUID,A,B,C;1) 298.15 +1000; 6000 N
ENTER_PARAMETER L(LIQUID,A,B,C;2) 298.15 +1000; 6000 N
is identical to
ENTER_PARAMETER L(LIQUID,A,B,C;0) 298.15 +1000; 6000 N
is NOT identical to
ENTER_PARAMETER L(LIQUID,A,B,C;0) 298.15 +1000; 6000 N
l A command line parameter -t followed by the path to the directory containing the
tc_initd.tdb file.
Each database defined in tc_initd.tdb represents a database that can be used within
Thermo-Calc. Each entry has three parts:
The paths can be relative to the tc_initd.tdb file or absolute. For platform independence,
the recommendation is to always use forward slashes (/) in the paths, but on Windows
backslash (\) also works.
You can add comment lines in the database initialization file. Comments must start with a $
sign.
Each entry record (i.e. for a single database) must finish with an exclamation
mark !. There should be no spaces or commas within the first and second fields
since these characters are taken as field separators, while spaces or commas
can be used in the third field.
Example
The following are examples of an initialization file defining two databases:
SSOL7 SSOL7\SSOL7SETUP.TDC SGTE Solutions Database version 7.0 !
MYDB1 ../../../MYDATABASES/ABC.TDB My database 1.0 !
When the database is selected the DATA module only reads the database definition file
(***setup.TDB) once, from beginning to end. The DATA module checks continuously when
reading the definition file. This implies that (nearly) everything must be declared or defined
before it is used in any other way.
For example, if the GRAPHITE phase is to be included in the database definition, the element
C (carbon) and the phase GRAPHITE must be defined before declaring that carbon dissolves
in graphite. This definition order is necessary to build the internal data structure acceptable
by the DATA module (during its consistency checking).
This topic gives a description of the available keywords and the appropriate arguments. A
basic knowledge of the Gibbs Energy System (GIBBS) module is assumed.
This syntax is used:
KEYWORD [arg.1]*# [arg.2]*## {optional arg.3}!
The keywords are written in full length but can be abbreviated as long as the abbreviation is
unique. A keyword may have syntax consisting of several arguments and optional
arguments. The number, # or ##, in the notation, [...]*# or [...]*##, indicates an argument
with a maximum length of # ASCII characters.
Arguments within square brackets [...] must always be given, but are optional
when enclosed in curly brackets {...}.
ELEMENT
ELEMENT [element name]*2 [ref. state]*24 [mass] [H298] [S298] !
The element name (maximum two characters) is the one found in the periodic chart but
there are no naming restrictions. However, the GIBBS module only recognizes UPPER-case
element names (if the Upper Case Mode is selected by the GIBBS command REINITIATE),
which means that lower-case (if defined in a database) is automatically converted to UPPER-
case by the DATA/GIBBS module.
The elements are automatically entered as species using the same names of the elements.
If, for example, the species corresponding to FE needs to be named FE1, you can define the
species as FE1, which results in an element named FE and a species named FE1. Vacancies
(VA) and electrons (denoted either as /- in gaseous, liquid or solid phases, or ZE in an
aqueous solution phase), need to be entered as special elements for correct handling by the
DATA module.
The reference (ref.) state (maximum 24 characters) is the stable phase (at 298.15 K and 1
bar) that should contain this element and be used as the reference state for all element
thermodynamic data. The mass, given in gram per mole, is used in various calculation
programs and should always be given the correct value. H298 and S298 denote the enthalpy
and entropy difference between 0 and 298.15 K for the element in SI units. If these are
unknown, the values can be set to zero. All this information (reference state, H298 and S298)
define the SER (Stable Element Reference state).
Examples
ELEMENT /- ELECTRON_GAS 0.0 0.0 0.0 !
ELEMENT VA VACUUM 0.0 0.0 0.0 !
ELEMENT ZE UNIT_CHARGE 0.0000000001 0.0 0.0 !
ELEMENT AL FCC_A1 26.98154 4577.296 28.3215 !
ELEMENT C GRAPHITE 12.011 1054.0 5.74 !
ELEMENT FE BCC_A2 55.847 4489 27.28 !
ELEMENT O 1/2_MOLE_O2(G) 15.9994 4341 102.5158 !
ELEMENT TI HCP_A3 47.88 4810 30.648 !
ELEMENT ZR HCP_A3 91.224 5566.27 39.181 !
ELEMENT ZY DUMMY 1 1 1 !
SPECIES
SPECIES [species name]*24 [stoichiometric formula] !
This keyword defines species in the data structure. Every species name (maximum 24
characters) must be unique. The species are built from the predefined set of elements in the
stoichiometric formula. If an undefined element is referenced, DATA displays an error
message and the data structure is probably damaged.
The species names do not have to be the same as the stoichiometry formula, although in
general this is recommended. The elements are automatically entered as species using the
same names of the elements.
When naming the species in a database, use special characters (such as +, -, _, / and .) in
species names. Avoid using other special characters (such as ( and )).
The stoichiometric formula is written with a simplified chemical notation, in which the
chemical elements should always be given in UPPER-case and in any preferred order, and
the stoichiometric coefficients are written in either real numerical factors or integer digits.
It is important that the numerical factor of 1 is not left out. Subgroups are not
allowed in a stoichiometry formula; however, while specifying the stoichiometry
formula for a specific species in a database, you can specify it in a way that
some elements (always together with the corresponding partial stoichiometric
coefficients) are repeated (as in the examples below).
Examples
SPECIES AL2O3 AL2O3 !
SPECIES Silica SI1O2 !
SPECIES NaSb_6OH NA1SB1O6H6 !
SPECIES FE+2 FE/+2 !
SPECIES SB-3 SB/-3 !
PHASE
PHASE [phase name]*24 [data-type code]*8 [numb. subl.] [sites in
subl. 1] [sites in subl. 2] etc... {auxiliary text string} !
This keyword defines a phase and its properties (except for what species are allowed to
enter it and for its parameters).
The phase name (maximum 24 characters) must be unique; otherwise the DATA module
sees it as an attempt to redefine a previously defined phase. This causes DATA to display an
error message and ignore the rest of the line. A phase name can be suffixed by an
underscore (_and letters to identify the physical state(s) or structure type(s) of the phase.
Suffix Definition
The phase name can also be attached with a colon sign (:) and a letter for a legal GIBBS
phase-type code (e.g. IONIC_LIQ:Y and GAS:G).
Code Definition
Code Definition
Y Bit set for an ionic liquid solution phase (specially treated by the Ionic Two-Sublattice Liquid Model).
L Bit set for a liquid solution phase (but not A (aqueous) or Y (ionic liquid)).
I Bit set for a phase with charged species (but not G (gaseous), A (aqueous) or Y (ionic liquid)).
Bit set for an ordered FCC or HCP solution phase using the Four Substitutional-Sublattice Ordering Model
F
(additionally, such a phase can also have interstitial sublattices).
Bit set for an ordered BCC solution phase using the Four Substitutional-Sublattice Ordering Model (additionally,
B
such a phase can also have interstitial sublattices).
Other invalid characters (e.g. M or P) are eventually treated, together with the
colon (:) as a part of a phase name.
A Normal 4-Sublattice Model requires that all the G parameters for each of the end-
members with the same elements but distributed on different sites be given separately.
However, as these corners are identical lattice points, the phase-type option F means that
the G parameters need be given only once. The possible permutations are handled
automatically.
Additional Clarification
An A-B binary solution phase (with the element A located on one sublattice site and B on the
other three sublattice sites) treated by the Normal 4-Sublattice Model has to have four G
parameters for four end-members, i.e.
l G(phase,A:B:B:B)
l G(phase,B:A:B:B)
l G(phase,B:B:A:B, and
l G(phase,B:B:B:A)
This is because in the general case these G parameters can be different from each other. But
for the FCC and HCP orderings, they are identical and thus all G parameters of such end-
members need to be given only once, and the possible permutations are then automatically
handled by the GIBBS module. Also, only one of the identical permutations is listed; in this
example, G(phase,A:B:B:B)where it is alphabetically the first in the list of permutations.
This significantly simplifies the usage of this model (Four Substitutional-Sublattice Ordering
Model) in multicomponent alloys.
For ordered BCC phases, the phase-type option B means the same thing but it is more
complicated since the 4-substitutional-sublattice ordering phase represents an irregular
tetrahedron with two pairs of sites that are next nearest neighbours as shown:
For an end member described by the parameter G (phase,A:B:C:D) A and B are next
nearest neighbours, as are C and D. And the nearest neighbours of A (or B) are C and D.
Thus, for an A-B binary solution phase (with the element A located on two sublattice sites
and B on two sublattice sites) treated by the Normal 4-Sublattice Model, the end-member
described by the G(phase,A:A:B:B) term has four nearest neighbour bonds between A and
B atoms, whereas the end-member described by the G(phase,A:B:A:B) term has two
nearest neighbour bonds between A and B atoms and three next nearest neighbour bonds.
The first end-member (described by the G(phase,A:A:B:B) term) represents B2-ordering
and the second (described by the G(phase,A:B:A:B) term) stands for B32-ordering. There
are two permutations of the G(phase,A:A:B:B) term and four permutations of the G
(phase,A:B:A:B) term, automatically conducted in the Four Substitutional-Sublattice
Ordering Model. If you enter the unary, binary, ternary and quaternary parameters you are
dealing with 1, 6, 21, 55 parameters for BCC:B, 1, 5, 15, 35 parameters for FCC:F and 1, 16,
81, 256 parameters for phases without F/B.
An additional feature with the phase-type options F and B is that a composition set that
represents the solution phase has a suffix (indicating what ordering the phase has) that is
automatically added to its phase name in some listings of equilibrium calculations (when
performing either single-point or stepping or mapping calculations, and when plotting the
calculated property diagrams or phase diagrams).
Such suffix indications can be:
Solution Phase Suffix for Disordered Phase Suffix for Ordered Phase
FCC_L12
FCC PHASE FCC_A1
FCC_L10
BCC_B2
BCC_B32
BCC PHASE BCC_A2
BCC_D03
BCC_L21
HCP_D019
HCP PHASE HCP_A3
HCP_B19
If you want to convert an existing database TDB file to use the F/B feature, add
the phase-type code to the corresponding phase name in the PHASE and
CONSTITUENT commands in the TDB-file, then when running the LIST_DATA
command in the Gibbs (GES) module. The created database file is in this less
verbose format.
The data-type code consists of 1 to 8 characters where each character must stand for an
action, which is to be coupled to this phase. The keyword TYPE_DEFINITION, described
below, must be used in the current database to specify what action should be taken by DATA
for each character code.
The data entries [numb. subl.] [sites in subl. 1] [sites in subl. 2] etc., specify
the total number of sublattices (always as an integer digit) and the sites (i.e. stoichiometric
coefficients) of each of the sublattices (given in either integer digits or real numerical
factors) for the phase.
Optionally, an auxiliary text string (maximum 78 characters) can be given after the last [sites
in sublattice #] but before the exclamation mark !. This string displays in connection with
the phase name in some listings within the DATA module.
Examples
PHASE GAS:G % 1 1.0 !
PHASE LIQUID:L %ZCDQ 2 1.0 1.0
> Metallic liquid solution, modelled by CEF Model. !
PHASE IONIC-LIQ:Y %ZCDQ 2 1.0 1.0
> Ionic liquid solution, modelled by Ionic Two-Sublattice Model. !
PHASE SPINEL:I %ZA 4 1 2 2 4
> Complex Spinel Solution, by CEF model with ionic constraints. !
PHASE M23C6 % 3 20.0 3.0 6.0 !
PHASE FCC_A1 %&A 2 1 1
> Disordered FCC phase; also as MX carbides/nitrides. !
PHASE FCC_L10 %&AX 3 0.75 0.25 1
> Ordered FCC phase, modelled by 2-Sublattice Model for Ordering.
!
PHASE FCC_L12:F %&AX 5 0.25 0.25 0.25 0.25 1.0
> Ordered FCC phase, modelled by 4-Sublattice Model for Ordering.
!
PHASE AQUEOUS:A %HIJMR 1 1.0
> Aqueous Solution: using the Complete Revised HKF Model. !
CONSTITUENT
CONSTITUENT [phase name]*24 [constituent description]*2000 !
This keyword (and the ADD_CONSTITUENT keyword for large solution phase) defines the
phase-constitution as a list of constituents (for a substitutional phase with no sublattice) or of
constituent arrays (for a sublattice phase).
The phase name (maximum 24 characters) must be a predefined phase (i.e. already through
the PHASE keyword).
The constituent description (maximum 2000 characters) is a list of the species that enter a
phase. The list starts with a colon (:), indicating the start of the sub-list of species for the
first sublattice, and different sublattices are separated by colons. The complete sequence
ends with a final colon.
Optionally, each sublattice may specify which species are considered to be major
constituents. This is done by adding a percent sign (%) directly to the species name. The start
values on the site fractions of the major constituents should sum to 0.99 on a specific
sublattice. Thus, the minor constituents (i.e. those without a %) add up to 0.01. A maximum
of 2000 characters can be coded in the constituent description, continuing in sequent lines. If
the phase has a constituent description longer than 2000 characters, the rest can be coded
in one or several ADD_CONSTITUENT keywords.
Examples
CONSTITUENT BCC_A2 :FE
ADD_CONSTITUENT
ADD_CONSTITUENT [phase name]*24 [constituent description]*2000 !
This keyword adds more constituents to a phase that already has some constituents. Its
syntax is the same as for the CONSTITUENT keyword. This keyword can be used several
times, if the phase is very large, e.g. a gaseous mixture or a complex aqueous solution. This
is useful when there are so many constituents in a phase that the 2000 characters available
for the constituent description list is not enough.
Constituents are not necessary on all sublattices. In the second example below,
no addition is made to the first sublattice.
Examples
ADD_CONSTITUENT GAS :S1 S2 S3 ... : !
ADD_CONSTITUENT IM-PHASE : :CR:W ... : !
ADD_CONSTITUENT AQUEOUS:A :CUCL+1 CUCL2 CUCL2-1 CUCL3-2 CUOH+1
CUO2H2 CUO3H3-1
CUO4H4-2 CU2OH+3 CU2O2H2+2 CU3O4H4+2 NIO2H2 NIO3H3-1 NIO4H4-2
NI2OH+3
NI4O4H4+4 ZNOH+1 ZNO2H2 ZNO3H3-1 ZNO4H4-2 ... : !
COMPOUND_PHASE
COMPOUND_PHASE [phase name]*24 [data-type code]*8 [constituent] !
Examples
COMPOUND_PHASE AL2O3 % AL2O3 !
COMPOUND_PHASE MAGNETITE %MF FE3O4 !
COMPOUND_PHASE QUARTZ % SIO2 !
ALLOTROPIC_PHASE
ALLOTROPIC_PHASE [phase name]*24 [data-type code]*8 [constituent]
!
This keyword does the same as the COMPOUND_PHASE keyword for entering an allotropic
phase (maximum 24 characters), but does not enter the constituent as a species to the data
structure. Use this if the species is already defined.
Examples
ALLOTROPIC_PHASE BETHA-AL2O3 % AL2O3 !
ALLOTROPIC_PHASE CRISTOBALITE % SIO2 !
ALLOTROPIC_PHASE TRIDYMITE % SIO2 !
TEMPERATURE_LIMITS
TEMPERATURE_LIMITS [lower limit] [upper limit] !
This keyword sets the default upper and lower temperature limits used by the GIBBS module
for Gibbs energy parameters and functions. It can be used only once in one database
definition file and all its sequential files.
Example
TEMPERATURE_LIMITS 500.0 1800.0 !
DEFINE_SYSTEM_DEFAULT
DEFINE_SYSTEM_DEFAULT [keyword] {G-ref. type index} !
This keyword sets the default value to ELEMENT or SPECIES in the DATA command DEFINE_
SYSTEM.
For a substance database, it can be appropriate to have ELEMENT as a default value
whereas a large solution database can benefit from having SPECIES as a default value. A
proper default value is useful for beginners. An advanced user is more likely to use the DATA
commands DEFINE_ELEMENT and DEFINE_SPECIES to override the default value.
{G-ref. type index} is an integer indicating the reference state type for an element when
entering and listing data in the GIBBS module. The following lists legal numbers and the
corresponding meaning (the reference state type for an element):
Number Definition
1 symbol: G
2 symbol: H298
3 symbol: H0
For example:
DEFINE_SYSTEM_DEFAULT element 2 !
DEFAULT_COMMAND
DEFAULT_COMMAND [secondary keyword and parameters] !
Examples
DEFAULT_COMMAND DEFINE_SYSTEM_ELEMENT FE VA !
DEFAULT_COMMAND REJECT_SYSTEM_CONSTITUENT LIQUID 2 C !
DEFAULT_COMMAND REJECT_PHASE LIQUID !
DEFAULT_COMMAND RESTOR_PHASE GAS !
DATABASE_INFORMATION
DATABASE_INFORMATION [text]*10000 !
This keyword defines a text for the detailed description of the current database. The text can
be listed with the DATA command DATBASE_INFORMATION. An apostrophe (') can be used
in the text to indicate a new line; and two apostrophes, ('') can be used in the text to
indicate a new line plus an empty line.
The continuous text length (each line with max 78 characters) is 10,000
characters.
Example
DATABASE_INFORMATION This is the XXX-Alloy Solution Database '
in the A-B-C-D-...... System. '
Developed by TCS, released in May 2001. ''
... more ... !
TYPE_DEFINITION
TYPE_DEFINITION [data-type code]*1 [secondary keyword with
parameters] !
This keyword couples phases to an action performed by the DATA module when the DATA
command GET_DATA is executed.
Secondary Keywords
The secondary keywords and associated parameters in syntax are:
SEQ [filename]
RND# [filename]
GES [valid GIBBS command with parameters]
POLY3 [valid POLY command with parameters]
TDB [valid DATA command with parameters]
IF [conditional statement] THEN [keyword with parameters]
AFTER [valid GIBBS command with parameters]
The secondary keyword SEQ specifies a sequential file that stores parameters belonging to
the phases using the associated data type code (which is defined by this keyword). A special
case where the filename is given as an asterisk (*) implies that the database definition file
also acts as a sequential data storage file. This case makes it possible to have a single file for
a small database, which is especially suited for personal databases.
The secondary keyword RND should be concatenated with a positive integer # to indicate the
type of the random file. Currently, there are these types of random files:
l RND0,the default, is used for complete Gibbs energy expressions (G0 parameters),
where the search field is the unabbreviated parameter name.
l RND1 is designated for functions, where the function name is used as the search field.
l RND2is reserved for binary interaction parameters, where its search field is also the
unabbreviated parameter name without any interaction order notation.
The secondary keywords GES, POLY3, or TDB specifies a modification of, or addition to,
phases having the associated data type code, such as magnetic contribution, another excess
model, or any other valid GIBBS/POLY/DATA command that applies to a certain phase. By
implementing this as a call to the interactive GIBBS/POLY/DATA module, flexibility is
achieved. If a new type of addition is implemented in a GIBBS/POLY/DATA module, it can be
immediately used in the database definition file without reprogramming the DATA module.
In several examples below, the use of the at (@) sign indicates any phase to
which the relevant type definition (e.g. A, B, 4, or E) applies.
Examples
TYPE_DEF % SEQ TCPATH\DATA\[DATABASE]\PARAMETERS.TDB !
Example
TYPE_DEFINITION & GES A_P_D FCC_A1 MAGNETIC -3.0 2.80000E-01 !
PHASE FCC_A1 %& 2 1 1 !
CONSTITUENT FCC_A1 :CR,NI% : C%,VA : !
$ THIS PHASE HAS A DISORDERED CONTRIBUTION FROM FCC_A1
TYPE_DEFINITION ' GES AMEND_PHASE_DESCRIPTION FCC_L12 DIS_PART
FCC_A1,,,!
TYPE_DEFINITION ( GES A_P_D FCC_L12 MAGNETIC -3.0 2.80000E-01
!
PHASE FCC_L12 %'( 3 .75 .25 1 !
CONSTITUENT FCC_L12 :CR,NI% : CR,NI% : C,VA% : !
For example a GES command such as the following only affects phases defined above or at
the phase with this TYPE_DEFINITION in the TDB file:
TYPE_DEFINITION ( GES A_P_D FCC_L12 DIS_PART FCC_A1,,, !
For example a TDB command such as the following only affects phases defined below the
phase with this TYPE_DEFINITION in the TDB file:
TYPE_DEFINITION ( TDB RESTORE_PHASE FCC_A1 !
FTP_FILE
FTP_FILE [filename] !
FTP_FILE is a special function random file and the function names correspond to the record
numbers where these record names and the functions are stored. The FTP_FILE decreases
search time for the associated database in the DATA module. The file is used for large
substance databases along with a SEQ sequential or RND0 random file for storage of G0
parameters referring the functions named FxxxxT that are stored in the FTP file. The
integer number xxxx is a search code used by DATA when such files are processed.
Example
FTP_FILE TCPATH\DATA\[DATABASE]\FTP-FILE.DATA !
FUNCTION
FUNCTION [function name]*8 [lowest temp. limit]
[expression 2]; [upper temp. limit 2] Y
[expression 1]; [upper temp. limit 1] Y
[expression 3]; [upper temp. limit 2] Y
.......... ; ..... Y
[expression n-1]; [upper temp. limit n-1] Y
[expression n]; [upper temp. limit n] N {Ref. Index} !
GIBBS can use predefined functions in the expression (TP-Function) of a Gibbs energy
parameter or in other functions. This is often used when several parameters (or functions)
have a common sub-expression, such as for metastable modifications of elements. This
keyword can appear in both files for database definition and sequential storage, but not in
FTP files. A valid function name can have up to 8 characters.
A function always starts with a lowest temperature limit of its applicability, followed by one
or more (up to 10) expressions (TP-Functions) that are coded as mathematical relations of
constants, functions of stable variables (T and P) and other entered functions (normally with
a # suffix, e.g. +3*GHSERAL#).
ENTER_PARAMETER
The expression is a FORTRAN-like expression and operators +, -, *, = and ** can be used (**
only with integer powers). Unary-functions LN or LOG (both for natural logarithm) and EXP
(for exponential) can also be used. Each expression (TP-Function) should end with a
semicolon (;), and be followed by its upper applicable temperature limit and a continuation
indicator (Y to continue with the next expression or N to end the function’s expression). If
there is no continuation after a specific expression (TP-Function), the reference index can
optionally be given after the N indicator.
A complete/valid function entry can be written in several continuation lines if the function’s
expression (TP-Function) is too long or if there is more than one applicable expression (TP-
Function), as the maximum length of each line is 78 characters.
-1000+1058*T-38.9*T*LOG(T)+GFUNXY#; 6000 N !
rather than
-1000+1058*T-38.9*T*LOG(T)+GFUNXY#
This is because the DATA module concatenates all lines and removes extra spaces before
trying to enter the function in the GIBBS workspace. Thus, the - sign is taken as a delimiter
between 298.15 and 1000, and the function incorrectly becomes:
FUNCTION GHSERXY 298.15 1000+1058*T-38.9*T*LOG(T)+GFUNXY#; 6000 N
!
Avoid this mistake by giving at least one empty space as the first character of a
new line, such as
The lowest-temperature limit (in Kelvin) for the applicability of the (first) TP-Function in a
function is normally set by default as 298.15 K, in most cases. However, you can set another
limit when it is applicable (according to experimental data and assessments).
An upper-temperature limit (in Kelvin; followed by a Y or N sign) for the applicability of each
TP-Function in a function must be given after the semicolon (;) immediately following the
specific TP-Function. The highest-temperature limit (in Kelvin) for the applicability of the
current function is always followed by the N sign. If a negative number is given as the lowest-
temperature limit, it assumes there are breakpoints in pressure for this function. In these
cases, it is interpreted as the lowest-pressure limit (in Pascal), and the other limits in the
current function is also taken as pressure limit values (in Pascal).
The temperature/pressure limits for the functions are checked during calculations. An
indicator is set if the actual temperature/pressure condition is below the lowest
temperature/pressure limit or above the highest temperature/pressure limit. In these cases,
an extrapolation is done using the TP-Function valid in the nearest temperature/pressure
range.
The optional reference index {Ref. Index} is an integer number indicating where to find the
particular function in a special reference file. The references are listed when doing the GET_
DATA command in the DATA module. They can also be listed in the GIBBS module with the
command LIST_DATA with the option R.
For accounting for the reference indices, also see the keyword REFERENCE_FILE.
The reference index field can also be an abbreviation (such as REF:250, REF_002, or REF-
SGTE) which denotes the original reference. In this case, the reference cannot be obtained
when issuing the DATA command GET_DATA or the GIBBS command LIST_DATA (with the
option R).
However, the references directly coded in the database definition file (***setup.TDB)
starting with a letter can be shown when issuing the DATA command GET_DATA or the
GIBBS command LIST_DATA (with the option N or R). Normally, such references must be
located after the LIST_OF_REFERENCE keyword. It is recommended to use reference code
names such as REF001, REF018, etc. The reference list, which is generated by the GIBBS
command LIST_DATA <file> with the N or R option, is also possible to be directly read by
the DATA module.
The DATA module can selectively retrieve functions which are necessary for a defined
system from a database that has functions stored in its setup file or SEQ sequential function
file, while all other functions irrelevant for the defined system are ignored and are not saved
in associated GIBBS and POLY workspaces. Previously, this can only be done for large
databases that have functions stored in RND1 random or FTP function files.
Examples
FUNCTION GFREE 298.15 1000+GFUNXY#; 6000 N !
FUNCTION GFUNXY 298.15 -1000+200*T+30*T*LOG(T); 6000 N 505 !
FUNCTION G0_CAO 298.15 -663538.11+352.67749*T-57.7533*T*LN(T)
+5.3895E-03*T**2-8.879385E-07*T**3+575530*T**(-1);
1400.00 Y -625196.99+78.896993*T-20.40145*T*LN(T)
-1.112923E-02*T**2+5.1896733E-07*T**3-6917350*T**(-1);
2900.00 Y -499226.55-490.37695*T+51.95912*T*LN(T)
-2.961051E-02*T**2+1.4033905E-06*T**3-48114685*T**(-1);
3172.00 Y -587711.89+375.04117-62.76*T*LN(T);
6000.00 N REF020 !
PARAMETER
PARAMETER [GIBBS parameter name] [lowest temp. limit]
[expression 1]; [upper temp. limit 1] Y
[expression 2]; [upper temp. limit 2] Y
[expression 3]; [upper temp. limit 2] Y
.......... ; ..... Y
[expression n-1]; [upper temp. limit n-1] Y
[expression n]; [upper temp. limit n] N {Ref. Index} !
This keyword can appear in both files for database definition and sequential storage, but not
in FTP files. After the keyword, a valid GIBBS parameter name should be given.
It is used to define standard Gibbs energies (i.e. the G parameters for Gibbs energy of
formations) of all valid end-members of various stoichiometric and solution phases, and
excess Gibbs energies (i.e. the L parameters for Gibbs energy of interactions) of all binary,
ternary, quaternary or higher-order interactions in various solution phases; both standard
Gibbs energies and excess energies can also have parameters for contributions from PT-
depended volume variations (i.e. the V0, VA, VC and VK parameters for molar volume,
thermal expansivity, bulk modulus, isothermal compressibility and high-pressure fitting
parameter), magnetic ordering (i.e. the TC and BM parameters for Curie temperature and
Bohr magneton number) and hypothetical electrostatic interactions (i.e. BM parameter for
Born functions ωPr,Tr of aqueous solute species).
The general form of a parameter is:
<identifier>(<phase>, <constituent array>; <digit>) <xxx>
<expression> <yyy> <keyword Y or N> <zzz> !
General Form
Name Description
constituent
The specific constituent array in the phase.
array
Name Description
The degree of composition-dependent interaction contribution (an integer number from 0 to 9), that is only
for excess energy (L), Curie temperature (TC) and Bohr magneton number (BMAGN), as well as for volume-
digit
related parameters (V0 or VA or VB or VC or VK); if it is valued as zero, or if it is for the standard Gibbs energy
(G) for which the degree is always zero, it can be omitted.
The low and high temperature limits respectively for the applicable temperature range of the parameter
xxx and yyy
expression
keyword Y
The indicator on if there is continuation for the parameter expression or not
or N
! The exclamation mark is used to indicate that the current parameter definition is ended
Type-
Definition
Identifier
BMAGN
Bohr magneton number for magnetic ordering (or Born function Pr,Tr for aqueous solute species).
or BM
Type-
Definition
Identifier
VA
Integrated thermal expansivity
VK Isothermal compressibility
Surface tension dampening factor/interaction for one constituent in a two-constituent combination. See the
XI
examples for how to use these parameters
Examples
Parameter Definition
XI(LIQUID,AL,CU;0) Surface tension dampening factor for Al in the Al-Cu combination in LIQUID. Constant value.
XI(LIQUID,AL,CU;1) Surface tension dampening factor for Cu in the Al-Cu combination in LIQUID. Constant value.
You can also use G for interaction parameters; and on output list (performed by the GIBBS
command LIST_PARAMETER or LIST_PHASE_DATA) the type-identifier L is always used for
interaction parameters. Note that the type-identifier BM is also used for Born functions
ωPr,Tr of aqueous solute species.
The identifier must be followed by an opening parenthesis, a phase name, a comma and a
constituent array. Optionally, the constituent array can be followed by a semicolon and a
digit. The parameter name is terminated by a closing parenthesis.
The constituent array consists of a list of constituent names. Interaction parameters have
two or more constituents from the same sublattice separated by a comma. If the phase has
sublattices, at least one constituent in each sublattice must be specified. The exception is if
the phase is ionic liquid (specified with the "phase bit" :Y), then neutral endmember and
interaction parameters are written as if the first sublattice does not exist, e.g. PARAM G
(IONIC_LIQ,FEO3/2;0), i.e. the constituent array does not contain any constituents from
the first (cation) sublattice.
For more ionic liquid specific parameters, see Parameters for the Two Sublattice
Ionic Liquid Model.
The constituents in different sublattices must be given in sublattice order and are separated
by a colon.
After the component array, a sub-index digit can be specified after a semicolon. This digit
must be in the range 0 to 9. The interpretation of the sub-index depends on the excess
energy model used for the phase. If no semicolon and digit are given, the sub-index value is
assumed to be as zero.
The excess energy parameters, e.g. the regular/subregular (binary) parameter or ternary
parameters, are multiplied with two or more fractions of the constituents from the same
sublattice of the solution phase. These additional constituents must be given as interacting
constituents.
Be careful about the sign of odd terms, for example, L(BCC, B, A:VA;1) is
treated as L(BCC,A,B:VA;1), i.e. it is always put into alphabetical order.
You can use an asterisk (*) to denote that the excess interaction parameter is independent
of the constituents of a specific sublattice. For example, L(FCC_L12,AL,NI:*) means that
the interaction parameter is for the binary interaction between constituents AL and NI on
the first sublattice in the FCC_L12 solution phase, while it is independent of all constituents
on the second sublattice. A interaction parameter in the list of constituents is always added
to the Gibbs energy and the asterisk (*) is calculated with the term of [1-∑y(specified
constituents)], which implies that in an A-B binary system the following three L
parameters are identical (but in higher-order systems, they are different):
A parameter always starts with a lowest temperature limit of its applicability, followed by
one or more (up to 10) expressions (TP-Functions) coded as mathematical relations of
constants, functions of stable variables (T and P) and entered functions (normally with a #
suffix, e.g. +3*GSERAL#).
The expression is a FORTRAN-like expression and operators +, -, *, = and ** can be used (**
only with integer powers). Unary-functions LN or LOG (both for natural logarithm) and EXP
(for exponential) can also be used. Each expression (TP-Function) should ends with a
semicolon (;) and be followed by its upper applicable temperature limit and a continuation
indicator (Y to continue with the next expression, or N to end the parameter’s expression). If
there is no continuation after a specific expression (TP-Function), the reference index can be
optionally given after the N indicator.
A complete/valid parameter entry can be written in several continuation lines if the
parameter’s expression (TP-Function) is too long or if there is more than one applicable
expression (TP-Function), as the maximum length of each line is 78 characters.
Avoid this mistake by giving at least one empty space as the first character of a
new line, such as
The lowest-temperature limit (in Kelvin) for the applicability of the (first) TP-Function in a
parameter is normally set by default as 298.15 K, in most cases; however, you can set
another limit when it is applicable (according to experimental data and assessments). An
upper-temperature limit (in Kelvin; followed by a Y or N sign) for the applicability of each TP-
Function in a parameter must be given after the semicolon (;) immediately following the
specific TP-Function; and the highest-temperature limit (in Kelvin) for the applicability of the
current parameter is always followed by the N sign. If a negative number is given as the
lowest-temperature limit, it is assumed that there are breakpoints in pressure for this
parameter. In such cases, it is interpreted as the lowest-pressure limit (in Pascal), and the
other limits in the current parameter are also taken as pressure limit values (in Pascal).
The temperature/pressure limits for the parameters are checked during calculations. An
indicator is set if the actual temperature/pressure condition is below the lowest
temperature/pressure limit or above the highest temperature/pressure limit. In these cases,
an extrapolation is done using the TP-Function valid in the nearest temperature/pressure
range.
The optional reference index {Ref. Index} is an integer number indicating where to find the
particular parameter in a special reference file. The references are listed when doing the
GET_DATA command in the DATA module. These can also be listed in the GIBBS module with
the command LIST_DATA and the option R or N.
For accounting the reference indices, also see the keyword REFERENCE_FILE.
The reference index field can also be an abbreviation (such as REF:250, REF_002, or REF-
SGTE) denoting the original reference. In this case, the reference cannot be obtained when
issuing the DATA command GET_DATA or the GIBBS command LIST_DATA (with the option R
or N).
However, the references directly coded in the database definition file (***setup.TDB) that
starts with a letter can be shown when issuing the DATA command GET_DATA or the GIBBS
command LIST_DATA (with the option R or N). Normally, such references must be located
after the LIST_OF_REFERENCE keyword. It is recommended to use reference code names
such as REF001, REF018, etc. The reference list, which is generated by the GIBBS command
LIST_DATA <file> with the N option, is thus also possible to be directly read by the DATA
module.
Examples
PARAMETER G(BCC,FE:VA) 298.15 1000+200*T+...; 6000 N 91DIN !
PARAMETER TC(BCC,FE:VA) 298.15 +1043; 6000 N 91DIN !
PARAMETER BMAGN(BCC,FE:VA) 298.15 +2.22; 6000 N 91DIN !
PARAMETER G(SIGMA,FE:CR:CR;0) 298.15 1000+200*T+...; 6000 N 101 !
PARAMETER G(LIQUID,AL;0) 298.15 +11005.553-11.840873*T
+7.9401E-20*T**7+GHSERAL#;
933.60 Y +10481.974-11.252014*T+1.234264E+28*T**(-9)+GHSERAL#;
2900.00 N REF:283 !
PARAMETER G(BCC_A2,PB:C) 298.15 UN_ASS#; 300 N REF:0 !
PARAMETER G(BCC_A2,NI:C;0) 298.15 +GHSERNI#+3*GHSERCC#
+400000-100*T; 6000 N REF071 !
PARAMETER G(BCC_A2,MN:VA) 298.15 +GMNBCC#; 6000 N REF285 !
PARAMETER BM(AQUEOUS,OH-1) 298.15 +Z0002PW0#; 1600 N 155 !
PARAMETER L(BCC,FE,CO:VA;0) 298.15 1000+200*T+...; 6000 N !
PARAMETER L(BCC,FE,CO:VA;1) 298.15 1000+200*T+...; 6000 N !
PARAMETER L(BCC,FE,CO:VA;2) 298.15 1000+200*T+...; 6000 N !
PARAM TC(BCC_A2,CO,MO:VA;0) 298.15 -3700; 6000 N R454 !
PARAM TC(BCC_A2,CO,MO:VA;1) 298.15 +2300; 6000 N R454 !
PARAM BMAGN(BCC_A2,CO,MO:VA;0) 298.15 -3.445; 6000 N R454 !
PARAM V0(BCC_A2,CR,FE:VA;0) 298.15 +ZERO#; 6000 N REF06V !
PARAM V0(BCC_A2,CR,FE:VA;1) 298.15 -1.10524097E-7; 6000 N REF06V !
PARAM V0(BCC_A2,CR,FE:VA;2) 298.15 +1.40024130E-7; 6000 N REF06V !
PARAM VA(BCC_A2,CR,FE:VA;0) 298.15 -6.49444634E-6*DELTAT#; 6000 N
REF06V !
PARAM VA(BCC_A2,CR,FE:VA;1) 298.15 +2.91269321E-5*DELTAT#; 6000 N
REF06V !
l C = Cation
l C1 = Cation 1 if more than one. Similar for anions and neutrals.
l A = Anion
l VA = Vacancy
l N = Neutral
l D = Anion or vacancy or neutral (i.e. anything on the second sublattice)
In the ionic liquid model,the Vacancy has been given an “induced” charge -Q, where Q is
the average charge of the first (cation) sublattice.
Allowed end-members, assuming the phase name is IONIC_LIQ:
G(IONIC_LIQ,C:A;0)
G(IONIC_LIQ,C:VA;0)
G(IONIC_LIQ,N;0)
(The last line is an exception to the case that the constituent array must contain constituents
from all sublattices)
This leaves one not allowed end-member:
G(IONIC_LIQ,C:N;0)
G(IONIC_LIQ,C:VA,N1,N2;i)
G(IONIC_LIQ,C:A,D1,D2;i)
G(IONIC_LIQ,C1,C2:A,D;i)
OPTIONS
OPTIONS /[alloy name]([composition limitations for all alloying
elements]) !
This keyword defines an alloy in a database. An alloy has a name, a major component and a
number of alloying elements. The purpose for defining an alloy is to be able to tell you about
applicable composition limits of the current database in applications to that particular type
of alloy. It is possible to have several alloys in the same database. The alloys are given after
the keyword in the database.
The alloy name must be proceeded by a slash (/) and terminated by the opening
parenthesis, with no spaces are allowed in between.
Example
OPTIONS /SSteel(Fe(60,60) CR(30,30) NI(15,15) SI(1,1) N(.1,1)) !
TABLE
TABLE [name]*8 [start temp] [end temp] [delta temp] [table values]
!
This keyword can appear in both files for database definition and sequential storage, but not
in FTP files. It makes a table of Gibbs energy as a function of temperature where the values
are given from the start temperature to the end temperature, at a step of the delta
temperature.
Example
TABLE DEMTAB 1000.0 1500.0 100.0 -2912.9008 -2834.2416 -2755.5824
-2677.7600 -2600.7744 -2524.2072 !
ASSESSED_SYSTEMS
ASSESSED_SYSTEM [descriptions on special treatments for specific
assessed systems]*8000 !
This keyword can be included in the database definition file (the ***setup.TDB file). A
maximum of 8000 characters after the keyword (to describe some special options when the
DATA, GIBBS and POLY models deal with the existing systems with assessed data) is allowed
until the exclamation mark (!).
Several ASSESSED_SYSTEMS keywords can be used in the same TDB file in order to have
more lists of assessed systems. There is no limit to the number of the entries in the same
TDB file.
The assessed systems in the database, and the special treatment options, are typed after the
keyword. The elements (always in UPPER CASE) in each assessed system must be in
alphabetical order and be separated by a hyphen, such as C-FE for the Fe-C binary system,
and C-CR-FE for the Fe-Cr-C ternary system. A space must be between each assessed
system. Information on assessed binary, ternary or higher-order systems may also be given
in this way.
A ternary system like C-CR-FE does not imply that the binary C-CR, C-FE and CR-
FE are assessed. There is no way to indicate partially assessed systems.
l There is a field to give some descriptive information for a specific system, with
various options about how to:
l Reject or restore phase(s) from the current database in the DATA module;
l Set major constituent(s) in the first composition set and to set a second composition
set for a specific phase available in the current database in the GIBBS module; and
l Calculate this specific system in the POLY module.
l This is the facility used by the BIN (binary phase diagrams) and TERN (ternary phase
diagrams) modules in the Thermo-Calc software/database package.
The descriptive information must immediately follow the specific system name, and must be
enclosed within parenthesis ( and ), and the left parenthesis must follow directly after the
system, such as :
AL-NI(TDB +L12 ;G5 C—S:L12/NI:AL:VA ;P3 STP:.8/1200/1
STP:.2/600/1)
The syntax TDB means that the commands to the DATA module proceed, and +L12 in the
example means that the phase called L12 should be restored (it has been rejected by
default).
The directive ;G5 means that the following are commands to the GIBBS module. C_S:
means creating a second composition set, after the colon follows the phase name and after
the slash the major constituents.
After the directive ;P3 follows commands to the POLY module. STP: means setting a start
point with the value of the X-axis first (composition for the second element in a binary
system), the slash separates the Y-axis value (temperature), and possibly one or more
directions (-1, 1, -2 or 2).
A summary of the allowed syntax is:
TDB accepts
l STP:x/t/d1/d2/d3 for a specific start point in a binary system which is set as at the
composition X(2nd element)=x and temperature T=t (in K), and with the directions
d1, d2 and/or d3.
Each entry for a specific binary or ternary sub-system can be written in one or several lines
(each line with 78 characters).
Other Examples
ASSESSED_SYSTEMS
AL-NI(TDB +L12 +BCC_B2 ;G5 C_S:L12/NI:AL:VA
;P3 STP:.8/1000/1 STP:.45/700/1 STP:.7/700/1)
AL-PB(TDB -HCP -BCC
;G5 MAJ:LIQ/AL MAJ:FCC/AL:VA C—S:LIQ/PB C—S:FCC/PB:VA ;P3
*)
CR-FE(;G5 C—S:BCC/CR:VA ;P3 STP:.6/1200/1/-2/2)
AG-CU(;G5 MAJ:FCC/AG:VA C_S:FCC/CU:VA ;P3 STP:.3/1000)
C-NB(;P3 STP:.9/1100/1)
C-SI(;P3 *)
CO-CR(;G5 MAJ:FCC/CO:VA C_S:FCC/CR:VA ;P3 STP:.1/1100)
CR-FE(TDB -HCP ;G5 C_S:BCC/CR:VA ;P3 STP:.6/1200/1/-2/2)
CR-NI(;P3 *)
CR-W(;G5 MAJ:BCC/W:VA C_S:BCC/CR:VA
;P3 TMM:500/4000 STP:.3/700/1 STP:.3/1800/2 )
CU-FE(TDB -HCP ;G5 MAJ:LIQ/CU MAJ:FCC/FE:VA C_S:FCC/CU:VA
;P3 STP:.9/1400)
FE-N(TDB +FE4N ;P3 *)
FE-O(TDB -LIQUID +IONIC ;G5 C_S:ION_LIQ/FE+2:O-2 MAJ:ION_
LIQ/FE+2:VA
;P3 STP:.2/2000/1 )
FE-S(TDB -LIQUID +IONIC ;G5 C_S:ION_LIQ/FE+2:S MAJ:ION_LIQ/FE+2:S-
2 ;P3 *)
AL-MG-SI(;P3 *)
C-CR-FE ;G5 MAJ:BCC/FE:VA C_S:BCC/CR:VA ;P3 *) !
The semicolon (;) is a part of the ;G5 and ;P3 directives. A long descriptive
information can be written in more than one line, such as for the AL-NI, AL-PB ,
CU-FE and FE-O systems shown above.
The directive ;P3 * is needed if the default start point should be used. If there is no P3
directive, the BIN or TERN module generates some 20 different start points in order to cover
all possible compositions and temperatures (for a binary system) or all possible compositions
(for a ternary system under any specific temperature).
REFERENCE_FILE
REFERENCE_FILE [file name] !
This keyword takes a reference file name as its argument. This reference file (that must be
edited in a restrictive way and be saved as a blocked file with a fixed line-length for each
line in the file, as described below) contains a complete list of the references for the various
parameters (and sometimes functions) in the database. The file must have a fixed record
structure: each reference entry with one or several records, and each record with exactly 78
characters written in one single blocked line; and no empty space is allowed at the
beginning of all lines in the file. If there are more than one record entered for a reference
entry, all the continuation lines must start with an ampersand (&). The line number of the
first record for a specific reference entry is then accounted as the unique integer for that
specific reference, which is referred when a parameter or function calls this integer as the
optional {Ref. Index}.
Example
/-1<G> T.C.R.A.S. Class 1
AG1.64TE1 THERMODATA 01/93
&28/01/93
&SILVER 1.64-TELLURIDE. Solid Standard State.
AG1 HULTGREN SELECTED VAL. SGTE **
&AT.WEIGHT 107.870,STANDARD STATE:CODATA KEY VALUE.MPT=1234.93K.
&--U.D. 30/10/85.
AG1<G> T.C.R.A.S Class: 1
AG1/+1<G> T.C.R.A.S Class: 1
AG1BR1 N.P.L. SGTE **
&Tfusion uncertain and heat vaporization estimated.
AG1BR1<G> THERMODATA 01/93
&28/01/93
&Gaseous Standard State.
AG1BR1O3 BARIN & KNACKE.SUPPL.REF:62,* SGTE **
&AGO3BR SILVER OXYTRIBROMIDE
In the example, the unique integers of related references (for assessed elements, species,
phases, interactions, etc.) are:
1/-1<G>
2AG1.64TE1
5 AG1
8AG1<G>
9AG1/+1<G>
10AG1BR1
12AG1BR1<G>
15AG1BR1O3
LIST_OF_REFERENCE
LIST_OF_REFERENCE
NUMBER SOURCE
[REFxxx] '[Detailed reference]'
..........
.......... !
This keyword starts a reference list that is directly coded in the database definition file
(***setup.TDB). Its argument begins on the following line, and normally has an explanation
line (NUMBER SOURCE) that is followed by various reference codes. Each reference code
may occupy one or more lines (each line with maximum 78 characters), but must have a
reference code name (that starts with a letter) and the detailed reference information (that
is written within two single-quotation marks, ''). It is recommended to use reference code
names such as REF001, REF018, etc. A maximum of 400,000 characters after the keyword is
allowed until the exclamation mark (!).
Such a reference list can be shown when issuing the DATA command GET_DATA or the
GIBBS command LIST_DATA (with the R option). The reference list, which is generated by the
GIBBS command LIST_DATA <file> with the N option, has this structure, and is thus possible
to be directly read by the DATA module.
Example
LIST_OF_REFERENCES
NUMBER SOURCE
REF283 'Alan Dinsdale, SGTE Data for Pure Elements,
Calphad Vol 15(1991) p 317-425,
also in NPL Report DMA(A)195 Rev. August 1990'
REF224 'P-Y Chevalier, Thermochimica Acta, 130 (1988) p 33-41; AG-
SI'
!
ADD_REFERENCE
ADD_REFERENCE
[REFxxx] '[Detailed reference]'
..........
.......... !
Use this keyword to have an unlimited number of references. The use of this is the same as
that of LIST_OF_REFERENCE, and is used after it. Several ADD_REFERENCES sections can be
used in a single database if there are too many references.
It is recommended to always start with a so-called empty reference (such as the DUMP0
reference in the following example) as the first entry in each of the ADD_REFERENCE sections
to make sure that all references are listed appropriately as retrieving data by issuing the
GET_DATA command.
Example
ADD_REFERENCE
DUMP0 'Empty reference 0'
REF4 'J-O Andersson, B. Sundman, CALPHAD Vol 11, (1987), p 83-
92
TRITA 0270 (1986); CR-FE'
REF5 'J-O Andersson, Met. Trans A, Vol 19A, (1988) p 627-636
TRITA 0207 (1986); C-CR-FE'
REFS 'Pingfang Shi (2006), TCS PTERN Public Ternary Alloys
Database,
v1.2; Modified L0(BCC,Fe,C) and L0(BCC,Cr,C) parameters
at high temperatures.'
... ...
!
ADD_REFERENCE
DUMP1 'Empty reference 1'
REF275 'A. Fernandez Guillermet, Z. Metallkde. Vol 79(1988)
p.524-536,
TRITA-MAC 362 (1988); C-CO-NI AND C-CO-FE-NI'
REF393 'K. Frisk, Metall. Trans. Vol 21A (1990) p 2477-2488,
This keyword takes as its argument, a definition on which type of the following Boolean
algebra operates. A simple Boolean algebra using AND and OR with a maximum of four levels
of parentheses works. The CASE construction must end with the ENDCASE keyword. This
makes it possible to have additional GIBBS or POLY commands executed depending on the
user selection of elements, species or phases. The DATA commands that can be given as
secondary keyword to DEFAULT_COMMAND can also be executed.
Example 1
CASE ELEMENT !
IF((CR OR TI OR V) AND N)
THEN GES AM_PH_DES @ C_S ,, CR MO TI V:C N: !
ENDCASE !
Example 2
CASE ELEMENT !
IF(O) THEN TDB DEFINE_SYSTEM_ELEMENT /- !
ENDCASE !
Example 3
CASE ELEMENT !
IF(AL AND FE)
THEN TDB DEF_SYS_ELEMENT VA !
ENDCASE !
VERSION_DATA
VERSION_DATE [string]*78 !
The string is denoted as the version/revision date and database manager of the database.
Nowadays, this directive is used mainly for the purpose of keeping the development and
revision history mostly updated.
Example
VERSION_DATE Last update and adjustment: Database Manager, 2015-
09-25 !
PARAMETER
PARAMETER [special GIBBS parameter name] [low temp. limit]
[expression 1]; [upper temp. limit 1] Y
[expression 2]; [upper temp. limit 2] Y
[expression 3]; [upper temp. limit 2] Y
.......... ; ..... Y
[expression n-1]; [upper temp. limit n-1] Y
[expression n]; [upper temp. limit n] N {Ref. Index} !
This keyword allows you to enter all types of normal GIBBS parameters for thermodynamic
data as well as five special extensions suitable for kinetic data used in the Diffusion Module
(DICTRA).
Valid extensions to special GIBBS parameter names are:
Example
See the TDB file for DICTRA example exa4: Carburization of binary Fe-C alloy:
Comparison to an analytical erf solution. Press F1 in Thermo-Calc to search the
help for more information.
DIFFUSION
DIFFUSION [model keyword] [phase name] [additional parameter(s)] !
This keyword specifies the type of diffusion model to use for a phase if the default model is
not desired. The default model calculates the full diffusion matrix. A diffusivity is calculated
from the different mobilities and the thermodynamic factors. The former ones are
calculated as:
M = exp (∑ MF/RT) exp (∑ MQ/RT) / RT
where ∑ stands for a weighted summation of the different MF’s and MQ’s plus possibly a
Redlich-Kister term.
Constitution list of dependent species in each sublattice must be given as an additional parameter. Only the
DILUTE
diagonal terms in the diffusion matrix are calculated. D = exp (∑ DF/RT) exp (∑ DQ/RT).
Constitution list of dependent species in each sublattice must be given as additional parameter. Only the
SIMPLE
diagonal terms in the diffusion matrix are calculated. D = ∑ DF + ∑ DQ.
The so-called ALPHA and ALPHA2 parameters must be given as additional parameters. ALPHA is for the
substitutional magnetic model and ALPHA2 for the interstitial one. By appending an & sign and a species name
MAGNETIC
after the alpha keyword one can supply individual values for the different species. The full diffusion matrix is
calculated.
Examples
DIFFUSION NONE SIGMA !
DIFFUSION DILUTE CEMENTITE : FE : C : !
DIFFUSION MAGNETIC BCC_A2 ALPHA=0.3 ALPHA2&C=1.8 ALPHA2&N=0.6 !
ZEROVOLUME_SPECIES
ZEROVOLUME_SPECIES [list of species] !
In the Diffusion Module (DICTRA), the assumption that the volume is carried by the
substitutional elements only is applied. The interstitial elements are assumed to have zero
molar volumes. This keyword uses a list of which species are to be considered as zero
volume ones for an argument.
Example
ZEROVOLUME_SPECIES VA C N !
PHASE SB2SN3 Z 2 2 3!
$
$CONSTITUENT, PHASE-NAME : CONSTITUENTS !
CONSTITUENT RHOMBO :SB SN:!
CONSTITUENT HCP :MG SN:!
CONSTITUENT BCT :SB SN:!
CONSTITUENT GAS:G :MG1 MG2 SB1 SB2 SB4 SN1:
> Gas phase, using the Ideal EOS and Mixing Model. !
CONSTITUENT LIQUID:L :SB SN:!
CONSTITUENT IONICLIQ:Y :MG2+:SB SB3- SN SN4- VA:
> This is the Ionic Liquid Solution Phase. !
CONSTITUENT SPLIQ:Y :MG2+:SB SB3- SN SN4- VA:!
CONSTITUENT BMG3SB2:I :MG2+:SB3- SB5- VA SN4-:!
CONSTITUENT AMG3SB2:I :MG2+:SB3- VA SN4-:!
CONSTITUENT MG2SN:I :MG2+ VA:SB3- SN4-:!
CONSTITUENT SBSN :SB SN:SB SN:!
CONSTITUENT SB2SN3 :SB:SN:!
$
$DEFAULT_COMMANDS:
DEFAULT-COM DEF-ELEM VA /-!
DEFAULT-COM REJ-PHASE LIQUID!
DEFAULT-COM REJ-PHASE SPLIQ!
$
$TYPE_DEFINITIIONS:
TYPE-DEFINITION Z SEQ * !
$
$DATABASE_INFORMATION:
DATABASE_INFO The Sb-Sn system with isentropic temperatures!
$
$VERSION_DATE:
VERSION_DATE Last update 1986-05-18 11:39:49 !
$
$
$ HERE COMES THE THERMODYNAMIC DATA (expressed in functions & parameters):
$
FUNCTION MGLIQUID 298.15 -4630.90976+192.994374*T-34.0888057*T*LOG(T)
-36544605.6*T**(-2); 6000 N!
$
FUNCTION MGSOLID 298.15 -8367.34+143.677876*T-26.1849785*T*LOG(T)
+4.858E-4*T**2-1.393669E-6*T**3+78950*T**(-1);
923.00 Y -13804.4772 +202.909445*T-34.0888057*T*LOG(T)
-3.65446056E7*T**(-2) +1.06753982E28*T**(-9); 6000 N!
$
FUNCTION SBLIQUID 298.15 9071.98+146.800*T-31.38*T*LOG(T)
-2.441646E8*T**(-2); 6000 N!
$
.....
..... <more>
$
FUNCTION LFCT 298.15 -17325.6+5.03600*T; 6000 N!
FUNCTION GFCTSBSN 298.15 LFCT+SBSOLID+SNSOLID+2948.291+3721.286;
6000 N!
FUNCTION ISB 298.15 15000; 6000 N!
FUNCTION ISN 298.15 47199.9-95.6270*T; 6000 N!
$
.....
..... <more>
$
PARAMETER G(RHOMBO,SB;0) 298.15 SBSOLID; 6000 N!
PARAMETER G(RHOMBO,SN;0) 298.15 2035+SNSOLID; 6000 N!
$
PARAMETER G(HCP,MG;0) 298.15 MGSOLID; 6000 N!
PARAMETER G(HCP,SN;0) 298.15 32000+SNSOLID; 6000 N!
PARAMETER G(HCP,MG,SN;0) 298.15 -69566-9.23183*T; 6000 N!
$
PARAMETER G(BCT,SN;0) 298.15 SNSOLID; 6000 N!
PARAMETER G(BCT,SB;0) 298.15 1000+SBSOLID; 6000 N!
PARAMETER G(BCT,SB,SN;0) 298.15 0.5*ISB+0.5*ISN; 6000 N!
PARAMETER G(BCT,SB,SN;1) 298.15 0.5*ISB-0.5*ISN; 6000 N!
$
PARAMETER G(IONICLIQ,MG2+:SB3-;0) 298.15 -204389-4.98506*T
-2.75637E9*T**(-2)+3*MGLIQUID+2*SBLIQUID; 6000 N!
$ -----------------------------------------------------------------------
$VERSION_DATE Last update and adjustment: Pingfang Shi, 2004-10-05 !
VERSION_DATE Last update and adjustment: Pingfang Shi, 2006-10-25 !
$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ Definition of Elements in the Database System:
$------------------------------------------------------------------------
$ELEM NAME STABLE_ELEMENT_REF ATOMIC MASS H298-H0 S298 !
$------------------------------------------------------------------------
$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ TYPE_DEFINITIONS for data inclusions:
$------------------------------------------------------------------------
TYPE_DEFINITION % SEQ *!
$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ TYPE_DEFINITIONS for phase descriptions:
$------------------------------------------------------------------------
$... For magnetic contributions:
TYPE_DEFINITION A GES AMEND_PHASE_DES @ MAGNETIC -1.0 4.00000E-01 !
TYPE_DEFINITION B GES AMEND_PHASE_DES @ MAGNETIC -3.0 2.80000E-01 !
$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ Default Commands:
$------------------------------------------------------------------------
$DEFINE_SYSTEM_DEFAULT SPECIES 2 !
DEFINE_SYSTEM_DEFAULT ELEMENT 2 !
DEFAULT_COMMAND DEF_SYS_ELEMENT VA !
$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ FUNCTIONS for various phases:
$------------------------------------------------------------------------
$
FUNCT GHSERCC 298.15 -17368.441+170.73*T-24.3*T*LN(T)
-4.723E-04*T**2+2562600*T**(-1)-2.643E+08*T**(-2)
+1.2E+10*T**(-3); 6000 N!
FUNCT GHSERCR 298.15 -8856.94+157.48*T-26.908*T*LN(T)
+.00189435*T**2-1.47721E-06*T**3+139250*T**(-1); 2180 Y
-34869.344+344.18*T-50*T*LN(T)-2.88526E+32*T**(-9); 6000 N!
FUNCT GHSERFE 298.15 +1225.7+124.134*T-23.5143*T*LN(T)
-.00439752*T**2-5.8927E-08*T**3+77359*T**(-1); 1811.00 Y
-25383.581+299.31255*T-46*T*LN(T)+2.29603E+31*T**(-9); 6000 N!
$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ Define the various Phase and their Constituents, and
$ Assign parameters to phases:
$------------------------------------------------------------------------
$PHASE NAME:TYPE MARKCODE #SUBL SITES_IN_EACH_SUBL. !
$------------------------------------------------------------------------
$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ ASSESSED_SYSTEMS information:
$ * necessary for the BIN and TERN modules in TCC
$ the Binary Phase Diagram module in TCW
$ and the Equilibrium calculation routine in TCW
$------------------------------------------------------------------------
ASSESSED_SYSTEM
$... Binary ...
C-FE(;P3 TMM:300/4000 *)
C-CR(;P3 TMM:300/4000 *)
CR-FE(;G5 MAJ:BCC/FE:VA C_S:BCC/CR:VA
;P3 TMM:300/3000 STP:.6/1200/1/-2/2)
$ CR-FE(TDB -HCP ;G5 MAJ:BCC/FE:VA C_S:BCC/CR:VA
$ ;P3 TMM:300/3000 STP:.6/1200/1/-2/2)
$
$... Ternary ...
C-CR-FE(;G5 MAJ:BCC/FE:VA C_S:BCC/CR:VA
;P3 STP:.4/.5/1 STP:0.1/0.5/1)
!
$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$
$ LIST OF REFERENCE:
$
$------------------------------------------------------------------------
LIST_OF_REFERENCES
NUMBER SOURCE
REF0 'Alan Dinsdale, SGTE Data for Pure Elements, Calphad Vol 15(1991)
p 317-425, also in NPL Report DMA(A)195 Rev. August 1990'
REF1 'J-O Andersson, Calphad Vol 11 (1987) p 271-276, TRITA 0314; C-CR'
REF2 'Byeong-Joo Lee, unpublished revision (1991); C-Cr-Fe-Ni'
REF3 'P. Gustafson, Scan. J. Metall. vol 14, (1985) p 259-267
TRITA 0237 (1984); C-FE'
REF4 'J-O Andersson, B. Sundman, CALPHAD Vol 11, (1987), p 83-92
TRITA 0270 (1986); CR-FE'
REF5 'J-O Andersson, Met. Trans A, Vol 19A, (1988) p 627-636
TRITA 0207 (1986); C-CR-FE'
REFS 'Pingfang Shi (2006), TCS PTERN Public Ternary Alloys Database,
v1.2; Modified L0(BCC,Fe,C) and L0(BCC,Cr,C) parameters
at high temperatures.'
!
Database Checker
In this section:
For example, a warning is reported if an abbreviated phase name is found and phase name
abbreviations are accepted by Thermo-Calc and its Add-on Modules. However, reported
errors must be corrected in the TDB file before the database can be loaded by the
application.
With respect to using this tool, the executable DatabaseChecker file is found in the Thermo-
Calc home directory. The program can also be launched by selecting Tools→ Database
Checker from the main menu.
The Database Checker application is standalone and available as indicated from the Tools
menu in Thermo-Calc. However, as required, you can run the DatabaseChecker.exe file as
a stand-alone program from the file Thermo-Calc installation directory.
The Database Checker tool uses the same parser as GES6 and can be used to verify the
consistency and correctness of databases during development, before the databases are
actually used.
Database Checker
To globally set the default from GES6 back to GES5, go to the Tools → Options
→ General tab and click Version 5 for the Preferred Gibbs Energy System
setting. The SET_GES_VERSION Console Mode command is used to change GES
versions for a single Thermo-Calc session.
Once you have installed the Thermo-Calc and are familiar with the TDB database file
concept you can start working with the file to ensure it does not contain errors that prevent
it from working with Thermo-Calc.
Open a TDB file. This example uses tcex11.TDB, which is the user-defined database
referred to from the Thermo-Calc macro file tcex11.TCM.
2. In the Thermo-Calc Database Checker window, click the File button and navigate
to a directory with TDB files or a file with a .TDB extension.
If two databases are selected at the same time, these can be tested for
compatibility i.e., whether the databases can be appended. The tool
generates error messages for database entities e.g., phases, that are not
compatible but this does not necessarily mean that the databases cannot
be appended, only that the erroneous phases cannot be appended and
must be rejected from the system.
3. Click Select directory or file.With the file loaded, click Check syntax of database.
Choose how to show the information: Show summaries only, Show errors, Show
errors and warnings, or Show all messages. The Database Checker lists the
information in the window.
4. Click Save messages as needed to save a .txt file and use this to help improve your
database.
TDB Editor
In this section:
In order to use this tool, it is important to understand how to work with the
standard TDB database format. For example, see Thermodynamic and
Kinetic/Mobility Databases in the Database Manager User Guide, which is part
of the Thermo-Calc Documentation Set, or press F1 in Thermo-Calc and search
for TDB file in the help.
The TDB Editor is an editing tool for those who develop their own custom databases for use
with Thermo-Calc or other applications. The tool speeds up the database editing process by
providing immediate feedback through syntax coloring, syntax checking, and by allowing
formatting and easy navigation to items of interest in the TDB file.
The advantage to using the TDB Editor compared to a basic text editor includes features
such as syntax coloring and checking, formatting of TDB files, and generally easier
navigation.
The TDB Editor has two components (see Installing VSCode and the TDB Editor for details):
l As an installed extension to the open source code editor Microsoft Visual Studio Code
(VSCode), which has the user interface for the TDB Editor. VSCode is available for
free.
l A server application that runs invisibly in the background and provides the VSCode
extension with services specific to the TDB format, such as syntax checking,
formatting and the location within the document of various items, such as functions
and references.
The syntax checker uses the same text parsing engine as the Database
Checker tool and the Thermo-Calc application itself. This means that an
edited TDB file with no errors shown in the TDB Editor, is also accepted
by the Thermo-Calc application. For more information see About the
Database Checker.
To use the TDB Editor, you install the Visual Studio Code (VSCode) and then in VSCode you
install the TDB Editor extension, which is included with your Thermo-Calc installation.
System Requirements
The same system requirements apply to the TDB Editor as to the Thermo-Calc installation
but the TDB Editor is only available for Windows and Linux platforms.
A full list of system requirements and program availability is found on the Thermo-Calc
website. You can also see the roadmap for platform support to use for planning purposes.
6. Click TDB Language Support to see the README file, which includes current version
information, known bugs, and limitations.
After installing the TDB Editor, there is a READ ME section available on the front
page of the extension in VSCode has the most recent information, some of
which is listed below.
l The syntax checker cannot resolve references to TDB files with partial database
information and gives errors in such cases. Only databases contained in single files
can be handled. For syntax checking of multi-file databases, use the stand-alone
Database Checker tool. See About the Database Checker.
l If you encounter warning messages that do not match the content in the TDB Editor,
a possible solution is to save the file to disk (press Ctrl+S on the keyboard), which
reloads the file and restarts the syntax checker.
l Very large files can sometimes cause issues with the language support functionality
although the actual editing should be unaffected by this.
Once you have installed the TDB Editor and are familiar with the TDB database file concept
you can start working with it to edit an existing file or create a new TDB file.
Open a TDB file. This example uses tcex11.TDB, which is the user-defined database
referred to from the Thermo-Calc macro file tcex11.TCM.
The unencrypted database opens in the TDB Editor where you can quickly see the color
syntax of the commands making it easy to navigate.
Where there are definitions or references included with the file, you can also navigate
quickly to these using Go To Definition (press F12 or right-click to select from the menu).
There are many other VSCode features available that you can learn more about from the
Visual Studio Code Help menu. One such item of particular use is to be able to customize the
color scheme.
A preview of each theme is shown. Use the arrow keys to try each and select the theme that
best suits your preferences.
One topic introduces the method of formatting DIGLIB symbols in LaTeX documents, for the
purpose of necessarily/appropriately referring to the corresponding LaTeX symbols (closest
to those DIGLIB symbols which have been plotted on a diagram using the DATAPLOT
Graphical Language) in the texts of LaTeX documents for publications/reports.
DATAPLOT Examples
To help you prepare your EXP (experimental) files to use for your plotted diagrams
generated by Thermo-Calc simulations, there are examples of EXP files using the DATAPLOT
graphical language standard, which are normally independent of software versions.
Graphical Mode
In Graphical Mode, the Experimental File Reader activity can only be created from the top
My Project node. This activity allows you to read an experimental data file (*.EXP). This type
of file has information specifying a plotted diagram, written in the DATAPLOT graphical
language. From this activity node you can plot the EXP file or save a copy of the file to
another location.
5. In the Configuration window click Perform or right-click the Plot Renderer node
and select Perform.
Console Mode
In Console Mode you use the QUICK EXPERIMENTAL PLOT command found in the POLY-3
POST module (as well as in the Diffusion Module (DICTRA) POST module) to plot the .EXP
files. This command can be used when there is no graphical information to be plotted in the
POLY3 workspace. It defines a pair of axes, sets the axis labels to X and Y, and scales both X-
and Y-axes between 0.0 and 1.0 unless a prologue is read from the DATAPLOT (*.EXP) data
file.
The basic graphical command consists of an X/Y coordinate pair and a Graphical Operation
Code (GOC). With other commands, the interpretation of this basic command can be
modified. There are separate commands to draw a polygon or a function and ways to get
texts in different fonts.
To edit a DATAPLOT file, the graphical commands can be abbreviated.
Coordinate Systems
The DATAPLOT language accepts coordinates in three different coordinate systems, which
are called world, virtual and normalized.
l The world coordinates are selected to represent any kind of data and be of “any”
magnitude.
l The virtual coordinate system uses centimeters as units. However, the actual size of
one unit is dependent on the implementation of the device driver in DIGLIB. It is not
recommended to use this coordinate system if different output devices are used for
preliminary and final plots.
l The normalized coordinate system goes from zero to one. When plotting, you
interactively scale each axis by selecting the minimum and maximum word
coordinates on the axis. In the normalized coordinate system, the minimum axis
value is represented by zero and the maximum by one. DIGLIB draws a square
between the four points (of the X and Y axes) that are determined by the coordinates
zero and one in the normalized coordinates.
It may be convenient to use normalized coordinates to draw boxes and texts. You can give
normalized coordinates outside zero and one if you want to write texts outside the area
enclosed by the square. To ensure proper operation outside the normalized box, the clipping
must be turned off.
Character Meaning
W, V or N To use word (W), virtual (V) or normalized (N) coordinates. W is the default.
B To apply “soft” splines on a line drawn between the coordinate pairs (used only on BLOCK data).
Character Meaning
To plot TEXT at XY. It must be the last operation in a GOC code. The TEXT following the ’ command is
‘TEXT interpreted and expanded by the DIGLIB software, if it includes any ^ operator or STRING names using the ~
descriptor.
Tables or Blocks
In many cases, you have (calculated or experimental) data in the form of tables, and want to
plot one or several columns as X-axis and one or more columns as Y-axis. A single table can
contain many sets of data records of the same kind of information for a specific data BLOCK.
There can be many data BLOCKS in a DATASET.
By enclosing these tables in a data BLOCK, you can select which column(s) is the X-axis and
which is the Y-axis. For example,
BLOCK X=C1; Y1=C3; Y2=C2; GOC=C4,DAW
Where the X-axis values are in column 1, the Y-axis values are in columns 2 and 3, and any
GOC codes are in column 4. The default GOC for this BLOCK is Draw Absolute Word. The
GOC code inside the table is only necessary if the default GOC is not applicable.
A more elaborate use of the table is shown in this example:
BLOCK X=C3; Y=1E3/(C3+273); GOC=C8,MAWS1
Where the X-axis values are in column 3, the Y-axis values are in column 1 with some
additional calculations applied. Any GOC is in column 8, and the default GOC is Move
Absolute Word and plot the symbol no. 1.
Columns in a table must be separated by one or more space characters and do not have to
be justified.
It is possible to have tables with mixed text and numbers, but each word followed by a space
is counted as one column. The columns used for plotting also must be numerical. An
example of a legal line in a table is
298.15 This_is_the_second_column 11.5 This_is_the_fourth_column
A line in the table must not exceed 80 characters. A BLOCK must be terminated
by a line with the BLOCKEND command.
Drawing a Polygon
Normally, each point is written on a separate line. But in order to draw a line in a more
compact way, use the command DRAWLINE. DRAWLINE is followed by a couple of X/Y
number pairs. The X/Y pairs must be separated by a space, and there must be a comma sign
between the X and Y values. DRAWLINE makes a move operation to the first pair of X/Y
coordinates, and then draws a line among all pairs up to the last one. All pairs must fit on
one line of 80 characters, but there can be several consequent DRAWLINE commands.
Writing a Text
Use the TEXT command to write a text at the current point. You can write a text at any X/Y
pair by appending a single quote followed by the text on the same line. For example:
1.1 1.0 NAM’This is a text
Use the command FONT to select the font used for the text, and CHARSIZE to select the size
of the characters. Set this size of the symbols with SYMBOLSIZE.
If a text or a single character should be of a different font than all the other text, or to use
subscripts or superscripts in a text, use the ^ operators or STRING command to create the
text. The command STRING stores the text in a specified variable that includes all text-
formatting information defined by the DIGLIB software.
Example 3 – Using Strings and Various Line Types and Example 5 – Use Included
Files for Predefined Symbols.
However, if a graphical output is done on a PostScript device using the PostScript hardcopy
fonts, special text formatting codes as LaTeX Formatting Codes should be used and the
STRING formatting syntax is then not valid.
Plotting a Symbol
As described in Graphical Operation Codes, a GOC code in a data BLOCK may contain an S
option to plot a symbol for an X/Y pair or the same symbols for the data BLOCK. A number
selecting the symbol can optionally follow the character S. You can plot a symbol at any
current X/Y position by appending a quote specified by the symbol number in the GOC code
(e.g., 1.1 1.0 MANS5’This is a text).
You can also insert DIGLIB symbols into LaTeX-edited documents.
Example 1 – Draw Lines and Symbols, Example 2 – Draw Polygons and Symbols
and Example 8 - DIGLIB Symbols
Other Commands
General
ATTRIBUTE
Use the ATTRIBUTE command to change the coordinates where text is displayed. The default
is the lower left corner of the first character in the text.
CLIP
Use the CLIP command to change the default where all data outside the normalized
coordinates zero and one are not plotted.
COLOR
If you are using a color device, use the COLOR command to change color of the lines. On
some black and white devices, colors are simulated with different width and dashing of the
lines.
INCLUDE
Use the INCLUDE command to create libraries with texts and include these in similar plots.
LINETYPE
Use the LINETYPE command to define line types as solid, long dashed, short dashed or
dotted.
Interactive Plotting
The DATAPLOT file is read into the POST module in the workspace with APPEND_
EXPERIMENTAL_DATA or QUICK_EXPERIMENTAL_PLOT. These commands ask for the name
of the DATAPLOT file and also which PROLOGUE(S) and DATASET(S) are to be plotted.
By giving the PROLOGUE/DATASET number as -1, you get a list of the available
PROLOGUES/DATASETS in the file. Note that if DATASET 0 is in a DATAPLOT file, its data is
always used even if other DATASETS are chosen.
DIGLIB_Sym.tex
\documentclass[dvips,12pt]{article}
\textwidth 165mm
\textheight 225mm
\oddsidemargin 1mm
\evensidemargin 1mm
\topmargin 1mm
%%\usepackage{amssymb}
%% next replace amssymb and to get udtimes
\usepackage[utopia]{mathdesign}
\usepackage{rotating}
\usepackage[latin1]{inputenc}
\usepackage{graphics}
\usepackage{graphicx,subfigure}% with figures
%\usepackage[draft]{graphicx}% without figures
\usepackage{subfigure}% with figures
\topmargin 1mm
\oddsidemargin 1mm
\evensidemargin 1mm
\begin{document}
{\Large \bf Diglib symbols and their corresponding LaTeX symbols}
\vspace{5mm}
The information below gives the closest corresponding LaTeX symbol. All symbols (except +)
must be generated in math mode. Most of these require the package amssymb, i.e., you
need a directive usepackage{amssymb} in the preamble. Two of the symbols require the
more extensive mathdesign that can be included with usepackage[utopia]{mathdesign}.
\vspace{5mm}
{\Large
\begin{tabular}{llll}
Diglib & Latex & Latex name & Note\\
1& $\vartriangle$& $\backslash$vartriangle & amssymb \\
2& $\square$& $\backslash$square\\
3& {\Huge $\diamond$} & $\backslash$diamond & size $\backslash$Large \\
4& $\udtimes$& $\backslash$udtimes & mathdesign \\
5& $\triangledown$& $\backslash$triangledown & amssymb\\ 6 & +& normal + \\
7& $\ast$& $\backslash$ast & amssymb\\
8& $\times$& $\backslash$times \\
9& {\Huge $\circ$}& $\backslash$circ & size $\backslash$Large \\
10& {\Huge $\star$}& $\backslash$star & size $\backslash$Large, amssymb\\
11& $\curlyvee$& $\backslash$curlyvee & amssymb\\
12& $\Join$& $\backslash$Join\\
13&& - & nothing similar, overlapping $> <$\\
14&& - & nothing similar, 10-edged star \\
15& $\maltese$& $\backslash$maltese& mathdesign \\
16&& - & nothing similar, a pentagon \\
17& $\curlywedge$& $\backslash$curlywedge & amssymb\\
\end{tabular}}
\end{document}
By default when using the LaTeX command, you are in math mode and Thermo-
Calc automatically interprets the entered text as math. The above link uses the
dollar sign ($) in all the examples but this is NOT required. For example, if you
enter $E=mc^2$ this is displayed including the $ instead of the equation.
Subscripts in an axis text S-A-TEXT Y N Mole-fraction Al^DO2$O^DO3$ S-A-TEXT Y N \latex Mole-fraction Al_2O_3
Label with subscript add .13 .15 n c-ZrO^DO2$ add .13 .15 n \latex c-ZrO_2
Greek symbol ADD .05 .50 N ^GRd$ ADD .05 .50 N \latex \delta
PROLOGUE Commands
In this section:
PROLOG 25
DIAGRAM_TYPE 26
TIC_TYPE 27
TITLE 28
XLENGTH 29
XSCALE 30
XTEXT 31
XTYPE 32
YLENGTH 33
YSCALE 34
YTEXT 35
YTYPE 36
PROLOG
PROLOG is the beginning of a number of consequent lines of user-defined diagram layout
commands. The lines are displayed with the optional text when using the -1 option in the
POST-processor as prompted for the PROLOG number with APPEND_EXPERIMENTAL_DATA
or QUICK_EXPERIMENTAL_PLOT.
DIAGRAM_TYPE
DIAGRAM_TYPE sets the diagram type to square (the default) or triangular.
TIC_TYPE
TIC_TYPE sets the relative length of the tic marks.
Syntax TIC_TYPE #
# is a real number. Default value is 1. Negative number gives tics on the inside of the
diagram frame. 0 gives no tics.
TITLE
TITLE sets the title text string to be printed above the diagram.
XLENGTH
XLENGTH sets the X-axis length to approximately # centimeters.
Syntax XLENGTH #
XSCALE
XSCALE sets the scaling in word coordinates of the X-axis.
XTEXT
XTEXT sets the X-axis text.
XTYPE
XTYPE sets the X-axis type as linear (default), logarithmic or inverse.
YLENGTH
YLENGTH sets the Y-axis length to approximately # centimeters.
Syntax Y LENGTH #
YSCALE
YSCALE sets the scaling in word coordinates of the Y-axis.
YTEXT
YTEXT sets the Y-axis text.
YTYPE
YTYPE sets the Y-axis type as linear (default), logarithmic or inverse.
DATASET Commands
In this section:
ATTRIBUTE 38
BLOCK 39
BLOCKEND 40
CHARSIZE 41
CLIP 42
COLOR 43
DATASET 45
DATAPOINT 46
DRAWLINE 47
FONT 48
FUNCTION 49
GLOBALSIZE 50
INCLUDE 51
LINETYPE 52
PAINT 53
PCFUNCTION 54
SYMBOLSIZE 55
STRING 56
TEXT 58
ATTRIBUTE
ATTRIBUTE specifies where the current XY position is in the character or symbol plotbox.
Example 2 – Draw Polygons and Symbols, Example 3 – Using Strings and Various
Line Types, and Example 5 – Use Included Files for Predefined Symbols
Syntax ATTRIBUTE
Prompts attribute
attribute may be
TOP, CENTER or BOTTOM. ATTRIBUTE CENTER is default for symbols;
ATTRIBUTE BOTTOM is default for characters.
BLOCK
BLOCK defines how the following numeric data block shall be interpreted. The definitions of
X and Y coordinates may also be expressed as a function of the column values, making it
possible to perform transformations.
&’ areoptional unsigned integers that make it possible to plot several (maximum 9) X- or Y- axis
columns. #’ are unsigned integers identifying the column numbers. The column number # in
“GOC=C#” is the location of any possible GOC codes in the current data BLOCK; @@@ stands for
the default Graphical Operation Code (GOC) for the current BLOCK. The GOC code inside the
current table is only necessary if the current default GOC is not applicable.
GOC Characters
The GOC is a combination of the following characters:
Character Meaning
W, V or N To use word (W), virtual (V) or normalized (N) coordinates. W is the default.
B To apply “soft” splines on a line drawn between the coordinate pairs (used only on BLOCK data).
To plot TEXT at XY. It must be the last operation in a GOC code. The TEXT following the ’ command is
‘TEXT interpreted and expanded by the DIGLIB software, if it includes any ^ operator or STRING names using the ~
descriptor.
BLOCKEND
Use BLOCKEND to terminate the local definition of the graphical operation code defined by
the earlier BLOCK command.
CHARSIZE
CHARSIZE redefines the default size of the characters in the plot. The character size has an
initial default value, which may vary with the current font setting and the output device (the
plot format).
Syntax CHARSIZE $$
CLIP
CLIP turns clipping on or off. If it is OFF, it allows output outside the ordinary plot area
defined by normalized coordinates zero and one.
Example 2 – Draw Polygons and Symbols and Example 9 - DIGLIB Fonts and
Lines
COLOR
Use COLOR to redefine the current color setting. There are 22 legal color codes (from 0 to
21).
DIGLIB Color Codes
Code Color Equivalent Character
0 Background Invisible
1 Black Normal
2 Red Very_Thick
3 Green Thin
4 Blue Thick
5 Yellow Very_Thin
6 Magenta Dashed
7 Cyan Dotted
8 Purple
9 Gold
10 Turquoise
11 Pink
12 Gray
13 Orange-red
14 Maroon
15 Plum
16 Sea green
17 Olive
18 Sienna
19 Orange
20 Coral
21 UserDef
22 and higher Any digit larger than 21 has the color effect as 1 (black).
DATASET
DATASET indicates the beginning of a number of consequent lines comprising a set of user-
defined data. The DATASET lines are displayed on the terminal along with the optional
text when using the -1 option in the POST-processor as prompted for the DATASET number
in the APPEND_EXPERIMENTAL_DATA or QUICK_EXPERIMENTAL_PLOT command.
DATAPOINT
DATAPOINT is not a DATASET command, but the basic DATAPLOT command (see synopsis
below) performs an action at the current point determined by the specified X/Y- coordinates.
A DATASET may contain various data points, in addition to one or more data BLOCKs. Such
data points are separated and independent on each other.
Syntax X Y GOC
X and Y are unsigned real numbers identifying the X/Y-coordinates for the current data point. GOC
stands for Graphical Operation Code (GOC) for the current point. Legal GOC characters.
Example
0.7 0.95 N'Example 6
0.5 0.08 MNA'E^FS18^SQ(^SK^FS10A+5#8*C#^FS10 -!a^FS18)^FS11+B^DIa#b#$
DRAWLINE
DRAWLINE draws a line starting at (x1,y1) to (xn,yn) through (x2,y2) à (x(n-1), y(n-1)).
Example 1 – Draw Lines and Symbols and Example 2 – Draw Polygons and
Symbols
x and y may be reals or integers of any value. This is the same as connecting all
points in a table:
FONT
FONT redefines the default font setting in the POST-processor.
Syntax FONT #
# is an unsigned integer.
Font Numbers
Number Font
1 Bold
2 Normal
3 Italic
10 Monotype Normal
11 Monotype Italic
12 Monotype Bold
14 Narrow Normal
15 Narrow Italic
FUNCTION
FUNCTION defines and plots a user-defined function.
GLOBALSIZE
GLOBALSIZE redefines the default global size of the plot. The global size has an initial default
value.
Syntax GLOBALSIZE $$
INCLUDE
INCLUDE adds a file into the current input stream.
filename is a legal filename (with its correct path) for the operation
system.
LINETYPE
LINETYPE redefines the current linetype in the plot.
Example 3 – Using Strings and Various Line Types, Example 8 - DIGLIB Symbols
and Example 9 - DIGLIB Fonts and Lines
Syntax LINETYPE #
# must be an unsigned integer. Legal linetypes are (for both normal graphical outputs and for
PostScript formats):
l Solid (default)
l Long dashed
l Short dashed
l Dotted
Line Types
Number Type
1 Straight line
2 Dashed line
3 Dotted line
4 Dash-Dot line
PAINT
PAINT paints the area enclosed by the current path in the current pattern. The current path
starts at the last MOVETO given and includes all subsequent DRAWs. This command only
works for the PostScript format (as graphical files or on printed hardcopy).
PCFUNCTION
<> denotes optional parameters. To set a new current pattern, supply any or all of
the optional parameters.
l <code> is a single
letter 0-9, A-Z or a-t (if <code>=t, also supply a space and a
number in the range 0.00-1.00). The default is 0.
l <video> is a string reading NORMAL (the default) or INVERSE.
l <mode> is a string reading TRANSPARENT (the default) or OPAQUE.
PCFUNCTION
PCFUNCTION appends a user-defined function to the current path. It is used with PAINT.
SYMBOLSIZE
SYMBOLSIZE redefines the current symbol size setting. The symbol size has an initial default
value.
Example 3 – Using Strings and Various Line Types, Example 7 – Color Codes and
Example 8 - DIGLIB Symbols
Syntax SYMBOLSIZE $$
STRING
STRING defines a string containing a text and operation codes (e.g., to change the default
font settings).
Example 3 – Using Strings and Various Line Types and Example 5 – Use Included
Files for Predefined Symbols
name is a valid alphanumeric name (variable) to represent the text including all text
formatting codes. It is highly recommended that all the characters in the name are
in CAPITAL CASE (e.g. ACA2SO4); otherwise, the defined STRING can be incorrectly
plotted.
text_with_each_character_in_^S#^G^F#^U#^D#^R#^L#^N
means the text is coded with each of its characters (and/or numeric numbers) that
are formatted with various operators (^S#, ^G, ^F#, ^U#, ^D#, ^R#, ^L# and/or ^N). #’
are unsigned integers. ^ is the caret character and does not mean a control
character. Between an # (in an operator) and a numeric number (as a part of the
text), there must always be a comma sign (,) or the number is not plotted in the
text, because the # with the number is interpreted as another incorrect #. In some
of the commands, #=0 resets the option to previous (or default) value.
Operator Operation
Operator Operation
Examples
STRING Alpha1 ^Ga^F0^D0^S8,1^S0^U0
is set to α1
STRING M23C6 M^D0^S8,23^S0^U0C^D0^S8,6^S0^U0
is set to M23C6
STRING ACA2CO3 ^Ga^F0^D0^S8Ca^D0^S4,2^S0^U0^S8CO^D0^S4,3^S0^U0
is set to Ca2CO3
TEXT
TEXT outputs, at the current position, the text following the keyword TEXT or the text in the
string string_name that is defined with STRING.
It is possible to mix ^ operators and previously defined string names using the ~
operator.
l To open the Manuals folder select Help → Manuals Folder. Note for Linux openSUSE
users: This link is not functional. To access the folder, navigate to the default location
based on your installation type
l To open the Examples based on whether you are in Console Mode or Graphical
Mode, select File → Examples Files or Help → Examples Files.
In this section:
Output Example
Macro Text
DATAPLOT Example 1
PROLOG 1 EXAMPLE 1 0<X<100, 0<Y<100
XSCALE 0.00000 100
YSCALE 0.00000 100
XTYPE LINEAR
YTYPE LINEAR
XLENGTH 11.5000
YLENGTH 11.5000
TITLE EXAMPLE 1
XTEXT X
YTEXT Y
DATASET 1 Two lines started with two symbols
ATTRIBUTE CENTER
0.05 0.95 N'Example 1
0.7 0.95 NS'Line 1
0.7 0.90 NS2'Line 2
10 10 S1
20 80 D
80 80 S2
80 10 D
50 60
Output Example
Macro Text
$DATAPLOT Example 2
PROLOG 2 EXAMPLE 2 0<X<100, 0<Y<100
XSCALE 0.00000 100
YSCALE 0.00000 100
XTYPE LINEAR
YTYPE LINEAR
XLENGTH 11.5000
YLENGTH 11.5000
TITLE EXAMPLE 2
XTEXT X
YTEXT Y
DATASET 2 Two ploygons with three types of symbols
ATTRIBUTE CENTER
CLIP OFF
0.05 0.95 N'Example 2
1.1 0.95 NS1'SYMBOL 1
1.1 0.90 NS2'SYMBOL 2
1.1 0.85 NS3'SYMBOL 3
BLOCK X=C1; Y=C2; GOC=C3,DSWA
40 40 M
40 60
60 60 S2'CHANGE OF SYMBOL
60 40
40 40 S0
BLOCKEND
BLOCK X=C1*100; Y=C2*100; GOC=C3,DSWA
0.2 0.2 MS1
0.2 0.8
0.8 0.8
0.8 0.2
0.2 0.2
BLOCKEND
$Draw an additional polygon:
DRAWLINE 20,10 30,15 40,30 50,80
DRAWLINE 50,80 60,60 90,30
Output Example
Macro Text
$DATAPLOT Example 3
PROLOG 3 EXAMPLE 3 0<X<10, 0<Y<100
XSCALE 0.00000 10
YSCALE 0.00000 100
XTYPE LINEAR
YTYPE LINEAR
XLENGTH 11.5000
YLENGTH 11.5000
TITLE EXAMPLE 3
XTEXT X
YTEXT Y
BLOCKEND
LINETYPE 2
BLOCK X=C1; Y=C1*C1+10; GOC=C2, DWA
0 M
1
2
3
4
5
6
7
8
9
10
BLOCKEND
Output Example
Macro Text
$DATAPLOT Example 4
PROLOG 4 EXAMPLE 4 0<X<100, 0<Y<100
XSCALE 0.00000 100
YSCALE 0.00000 100
XTYPE LINEAR
YTYPE LINEAR
XLENGTH 11.5000
YLENGTH 11.5000
TITLE EXAMPLE 4
XTEXT X
YTEXT Y
DATASET 4 Plot two functions as lines:
ATTRIBUTE CENTER
0.05 0.95 N'Example 4
$ Draw two lines defined by FUNCTIONS:
FUNCTION Y=10+0.5*X+20*Sin(X/5); 0 100 100; DWA;
FUNCTION Y=50+0.5*X; 0 100 10; DS1WA;
$ Write functions beside the lines:
$ Note the real rotation angle (27 degree) can be seen
$ only on the PostScript hardcopy
0.25 0.68 N'^RO27Y=50+0.5*X
0.25 0.45 N'^RO27Y=10+0.5*X+20*Sin(X/5)
Output Example
In the plot result, the hard-to-read LaTeX line is intended to highlight how to
type readable text using LaTeX.
Macro Text
$DATAPLOT Example 5 Symbols
Output Example
In the DATAPLOT language, this type of diagram is only available for Console
Mode.
Macro Text
$DATAPLOT Example 6 - Ternary Phase Diagram
PROLOG 6 EXAMPLE 6 0<X<0.969224, 0<Y<1.00000
XSCALE 0.00000 0.969224
YSCALE 0.307492E-01 1.00000
XTYPE LINEAR
YTYPE LINEAR
XLENGTH 11.5000
YLENGTH 11.5000
TITLE A-B-C at T=1000 K
XTEXT MOLE_FRACTION B
YTEXT MOLE_FRACTION C
DIAGRAM_TYPE TRIANGULAR YES YES
DATASET 6 Plot a ternary phase diagram
CLIP OFF
0.80 0.90 N'Example 6
0.86 0.31 N'B2C
0.52 0.97 N'Diamond
CHARSIZE 0.25
1.4E+01 1.10E+01 MVA'1:*B2C Liquid
1.4E+01 1.05E+01 MVA'2:*Diamond Liquid
0.10 0.10 N'Liquid
0.48 0.45 N'Diamond+
0.48 0.40 N' B2C+Liquid
5.80E-01 5.40E-02 MWA' 1
1.90E-01 2.40E-01 MWA' 1
0.65E-01 2.50E-01 MWA' 2
CHARSIZE 0.45
-0.10 -0.05 N'A
1.06 -0.05 N'B
0.48 1.05 N'C
CHARSIZE 0.35
2.9617273808E-01 5.8319382370E-02
3.2811737061E-01 4.9470417202E-02
3.6353862286E-01 4.3130427599E-02
3.9895987511E-01 3.8979098201E-02
4.5209178329E-01 3.5266116261E-02
5.2293431759E-01 3.3152002841E-02
6.1148744822E-01 3.3077053726E-02
6.4690870047E-01 3.3490389585E-02
6.8232995272E-01 3.4017231315E-02
7.3546189070E-01 3.4814555198E-02
7.5317251682E-01 3.5033416003E-02
8.0630439520E-01 3.5373892635E-02
8.5943627357E-01 3.4983776510E-02
9.1256815195E-01 3.3575300127E-02
9.6747112274E-01 3.0857827514E-02
9.6922445297E-01 3.0749246478E-02
2.2030337155E-01 1.2340000272E-01 M
2.1294665337E-01 1.5308913589E-01
2.1171525121E-01 1.8851040304E-01
2.1532440186E-01 2.2393165529E-01
2.2180187702E-01 2.5935292244E-01
2.2992117703E-01 2.9477417469E-01
2.3888295889E-01 3.3019542694E-01
2.4555855989E-01 3.5568857193E-01
$ PLOTTED COLUMNS ARE : X(B2C,B) and X(B2C,C)
6.6666668653E-01 3.3333334327E-01 M
6.6666668653E-01 3.3333334327E-01
$ TIELINES
COLOR 3
6.6666668653E-01 3.3333334327E-01 M
8.7775242329E-01 3.4625384957E-02
6.6666668653E-01 3.3333334327E-01 M
7.9250496626E-01 3.5342670977E-02
6.6666668653E-01 3.3333334327E-01 M
2.4555824697E-01 3.5568737984E-01
6.6666668653E-01 3.3333334327E-01 M
2.3944084346E-01 9.2542596161E-02
6.6666668653E-01 3.3333334327E-01 M
2.3359020054E-01 3.0954307318E-01
6.6666668653E-01 3.3333334327E-01 M
2.2585247457E-01 2.7766343951E-01
6.6666668653E-01 3.3333334327E-01 M
2.1618695557E-01 1.3621240854E-01
2.2632879019E-01 1.1058768630E-01 M
6.6666668653E-01 3.3333334327E-01
COLOR 1
BLOCKEND
$ PHASE REGION FOR:
$F0 DIAMOND_A4
$E B2C
BLOCK X=C1; Y=C2; GOC=C3,WAD;
$ PLOTTED COLUMNS ARE : X(DIAMOND_A4,B) and X(DIAMOND_A4,C)
0.0000000000E+00 9.9999523163E-01 M
0.0000000000E+00 9.9999976158E-01
BLOCKEND
$ PHASE REGION FOR:
$E LIQUID
$F0 DIAMOND_A4
BLOCK X=C1; Y=C2; GOC=C3,WAD;
$ PLOTTED COLUMNS ARE : X(LIQUID,B) and X(LIQUID,C)
2.4555855989E-01 3.5568857193E-01 M
2.0263540745E-01 3.3483061194E-01
1.6243904829E-01 3.1375369430E-01
1.2243904918E-01 2.9153180122E-01
8.2439050078E-02 2.6854267716E-01
4.2439054698E-02 2.4548016489E-01
2.4390530307E-03 2.2313812375E-01
2.4999999937E-07 2.2181616724E-01
$ TIELINES
COLOR 3
0.0000000000E+00 9.9999511242E-01 M
2.3529186845E-01 3.5085919499E-01
0.0000000000E+00 9.9999469519E-01 M
1.9826586545E-01 3.3260950446E-01
0.0000000000E+00 9.9999409914E-01 M
1.3240024447E-01 2.9716023803E-01
0.0000000000E+00 9.9999397993E-01 M
1.1439975351E-01 2.8695335984E-01
BLOCKEND
Output Example
Macro Text
$DATAPLOT Example 7 - DIGLIB Colors
PROLOG 1 DIGLIB Colors
XSCALE 0.0 1.0
YSCALE 0.0 1.0
XTYPE LINEAR
YTYPE LINEAR
XLENGTH 15.5000
YLENGTH 11.5000
TITLE DIGLIB Colors
XTEXT X
YTEXT Y
DATASET 1 DIGLIB Colors:
$ DIGLIB Colors:
CHARSIZE 0.3
SYMBOLSIZE 0.5
COLOR 1
0.05 0.95 N' Black 1
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.95 M
0.275 0.95 D
BLOCKEND
COLOR 2
0.05 0.85 N' Red 2
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.85 M
0.275 0.85 D
BLOCKEND
COLOR 3
0.05 0.75 N' Green 3
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.75 M
0.275 0.75 D
BLOCKEND
COLOR 4
0.05 0.65 N' Blue 4
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.65 M
0.275 0.65 D
BLOCKEND
COLOR 5
0.05 0.55 N' Yellow 5
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.55 M
0.275 0.55 D
BLOCKEND
COLOR 6
0.05 0.45 N' Magenta 6
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.45 M
0.275 0.45 D
BLOCKEND
COLOR 7
0.05 0.35 N' Cyan 7
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.35 M
0.275 0.35 D
BLOCKEND
COLOR 8
0.05 0.25 N' Purple 8
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.25 M
0.275 0.25 D
BLOCKEND
COLOR 9
0.05 0.15 N' Gold 9
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.15 M
0.275 0.15 D
BLOCKEND
COLOR 10
0.05 0.05 N' Turquoise 10
BLOCK X=C1; Y=C2; GOC=C3,N
0.175 0.05 M
0.275 0.05 D
BLOCKEND
COLOR 11
0.5 0.95 N' Pink 11
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.95 M
0.725 0.95 D
BLOCKEND
COLOR 12
0.5 0.85 N' Gray 12
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.85 M
0.725 0.85 D
BLOCKEND
COLOR 13
0.5 0.75 N' Orange-red 13
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.75 M
0.725 0.75 D
BLOCKEND
COLOR 14
0.5 0.65 N' Maroon 14
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.65 M
0.725 0.65 D
BLOCKEND
COLOR 15
0.5 0.55 N' Plum 15
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.55 M
0.725 0.55 D
BLOCKEND
COLOR 16
0.5 0.45 N' Sea green 16
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.45 M
0.725 0.45 D
BLOCKEND
COLOR 17
0.5 0.35 N' Olive 17
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.35 M
0.725 0.35 D
BLOCKEND
COLOR 18
0.5 0.25 N' Sienna 18
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.25 M
0.725 0.25 D
BLOCKEND
COLOR 19
0.5 0.15 N' Orange 19
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.15 M
0.725 0.15 D
BLOCKEND
COLOR 20
0.5 0.05 N' Coral 20
BLOCK X=C1; Y=C2; GOC=C3,N
0.625 0.05 M
0.725 0.05 D
BLOCKEND
Output Example
A default symbol is the current symbol in the run of the software (it is usually the No 1
symbol if the POST-processor is switched on for the first time). S (i.e., # is not specified)
means that the current symbol is plotted. S0 (i.e., #=0) means that no symbol is plotted.
Macro Text
$DATAPLOT DIGLIB Symbols 2
PROLOG 1 DIGLIB Symbols 2 0<X<2.0, 0<Y<1.2
XSCALE 0.0 2.0
YSCALE 0.0 1.2
XTYPE LINEAR
YTYPE LINEAR
XLENGTH 15.5000
YLENGTH 11.5000
TITLE DIGLIB Symbols
XTEXT DIGLIB SYMBOLS
DATASET 1 Various DIGLIB Symbols:
$ DIGLIB Symbols:
CHARSIZE 0.3
SYMBOLSIZE 0.5
0.05 0.95 WS1' 1
0.05 0.85 WS2' 2
0.05 0.75 WS3' 3
0.05 0.65 WS4' 4
0.05 0.55 WS5' 5
0.05 0.45 WS6' 6
0.05 0.35 WS7' 7
0.05 0.25 WS8' 8
0.05 0.15 WS9' 9
0.05 0.05 WS10' 10
0.15 0.95 WS11' 11
0.15 0.85 WS12' 12
0.15 0.75 WS13' 13
0.15 0.65 WS14' 14
0.15 0.55 WS15' 15
0.15 0.45 WS16' 16
0.15 0.35 WS17' 17
0.15 0.25 WS18' 18
0.15 0.15 WS19' 19
0.15 0.05 WS20' 20
0.25 0.95 WS100' 100
0.25 0.85 WS101' 101
0.25 0.75 WS102' 102
0.25 0.65 WS103' 103
0.25 0.55 WS104' 104
0.25 0.45 WS105' 105
0.25 0.35 WS106' 106
Output Example
Macro Text
$DATAPLOT Example 9 - DIGLIB Fonts
PROLOG 1 DIGLIB Fonts & Line Types 0<X<1, 0<Y<1
XSCALE 0.0 1.0
YSCALE 0.0 1.0
XTYPE LINEAR
YTYPE LINEAR
XLENGTH 11.5000
YLENGTH 11.5000
TITLE DIGLIB Fonts
XTEXT X
YTEXT Y
Pourbaix Diagrams ǀ 2 of 29
Thermo-Calc Documentation Set
To globally set the default from GES6 back to GES5, go to the Tools → Options
→ General tab and click Version 5 for the Preferred Gibbs Energy System
setting. The SET_GES_VERSION Console Mode command is used to change GES
versions for a single Thermo-Calc session.
Pourbaix Diagrams ǀ 3 of 29
Thermo-Calc Documentation Set
GES6 is a re-write and new implementation of the Gibbs Energy System module
of Thermo-Calc and it is the default engine. The previous version, GES5, is still
available and will continue to work in the background of the program where
necessary. The main purpose of GES6 is to support faster development of new
features. However, not all GES5 functionality is implemented in GES6. In such
cases (except for the POURBAIX module), GES6 falls back silently and uses
functionality from GES5 in the background.
References
[1973, Pourbaix] M. Pourbaix, Lectures on Electrochemical Corrosion (Plenum Press, New
York, 1973).
[1974, Pourbaix] M. Pourbaix, Atlas of Electrochemical Equilibria in Aqueous Solutions
(National Association of Corrosion Engineers, Houston, TX, ed. 2, 1974).
[2003, Cramer] S. D. Cramer, B. S. Covino Jr., Eds., Corrosion: Fundamentals, Testing, and
Protection: ASM Handbook, Volume 13A (ASM International, 2003).
[2011, Verink] E. D. Verink Jr., "Simplified procedure for constructing Pourbaix diagrams", in
Uhlig’s Corrosion Handbook, R. W. Revie, Ed. (John Wiley & Sons, Inc., Hoboken, NJ, USA,
ed. 3, 2011), pp. 93–101.
[2011, Thompson] W. Thompson, M. H. Kaye, C. W. Bale, A. Pelton, "Pourbaix diagrams for
multielement systems" in Uhlig’s Corrosion Handbook, Revi, Ed. (John Wiley & Sons,
Hoboken, NJ, USA, 2011), pp. 103–109.
Pourbaix Diagrams ǀ 4 of 29
Thermo-Calc Documentation Set
Pourbaix Diagrams
Marcel Pourbaix applied thermodynamics to predict materials corrosion resistance. He
determined the phase stability relations in terms of varied pH and Eh values for an
interaction system of metal and pure water or dilute aqueous solution. He presented the
stability regions of metal and secondary phases (such as metal-oxides/hydroxides) on a pH-
Eh diagram, which is now known as a Pourbaix diagram.
A Pourbaix diagram is a kind of phase diagram that shows the stability boundaries for a
metal-aqueous interaction system. The phase boundaries are shown as a function of pH
(acidity) and Eh (standard hydrogen electronic potential). An aqueous solution phase is
always present in such a system. At a given pH and Eh, a metal may lose its stability to a
soluble or corrosive aqueous solution, or be in equilibrium with either the aqueous solution
(insoluble/immune) or with a secondary-phase file that has formed (consisting of oxides,
hydroxides, sulphides or other solids). In the latter case, further dissolution of the passive or
protective metal is prevented.
The speciation and partition in the aqueous solution and the interacting phases depend not
only on pH and Eh, but also on other factors such as the bulk composition, temperature and
pressure in the system. The interacting phases may be gas mixtures, stoichiometric solids or
solid solutions.
A Pourbaix diagram is divided in regions of immunity, corrosion and passivity. These regions
provides information about the stability of a particular metal or alloy in a specific aqueous
electrochemical environment under certain pH, Eh, pressure and temperature conditions.
The following shows these three regions in a Pourbaix diagram for the heterogeneous
interaction between 0.001 mole of austenite steel (Fe-19Cr-9Ni [at%]) and 1 kg of water
(with 3 m NaCl), at 200° C and 100 bar:
Pourbaix Diagrams ǀ 5 of 29
Thermo-Calc Documentation Set
Depending on the system’s bulk chemical composition, secondary phases may form during
the transformation process. These can not only be oxides, but also be, for example,
hydroxides, sulphides, sulphates, carbonates, nitrates, phosphates, borates, silicates, hydrous
silicates and halides. Information about these secondary phases may help one understand
the passivation behaviours in corrosion processes. For example, it may be important to
understand whether any secondary phases are formed in different pH-Eh regions during
hydrolysis, oxidation, reduction or other reaction processes.
In a Pourbaix diagram, the predominant ion boundaries are often represented by dashed
and straight lines imposed on a traditional Pourbaix diagram for a simple interaction system
(Pourbaix, 1973, 1974; Cramer and Covino, 2003; Verink, 2011; Thompson et al., 2011). Such
a predominance boundary is normally an equal molality (or equal activity) line for a pair of
two most-concentrated aqueous solute species (charged or neutral) involving a common
metal. A line is then simply determined by a reaction constant of its corresponding
electrochemical reaction in the homogeneous aqueous solution phase. However, this is not
the case in Thermo-Calc.
You cannot get any information about predominant ion boundaries from a
Pourbaix diagram in Thermo-Calc.
Pourbaix Diagrams ǀ 6 of 29
Thermo-Calc Documentation Set
GES6 is a re-write and new implementation of the Gibbs Energy System module
of Thermo-Calc and it is the default engine. The previous version, GES5, is still
available and will continue to work in the background of the program where
necessary. The main purpose of GES6 is to support faster development of new
features. However, not all GES5 functionality is implemented in GES6. In such
cases (except for the POURBAIX module), GES6 falls back silently and uses
functionality from GES5 in the background.
Pourbaix Diagrams ǀ 7 of 29
Thermo-Calc Documentation Set
Pourbaix Diagrams ǀ 8 of 29
Thermo-Calc Documentation Set
Key Concepts
The following are two key concepts important for understanding how aqueous solutions
behave and how an aqueous-bearing heterogeneous interaction system is properly defined
and calculated in Thermo-Calc.
Solubility
When a heterogeneous equilibrium has a dissolving solution or mixture phase and a
stoichiometric or solution phase, then the concept of solubility becomes important. A
solubility of a phase (the solute) is its property of dissolving in the solvent phase. This
concept concerns the constitution of a phase and is applied where one or several of the
constituents are dominant (which is highly concentrated and dissolving) while there are only
small amounts of the other remaining species (which are less concentrated and dissolved).
The dissolving solution or mixture phase can be liquid, gas, aqueous or solid, as long as it has
dissolving capacity. The stoichiometric or solution phase has some constituents which tend to
be dissolved into the dissolving solution or mixture phase.
Pourbaix Diagrams ǀ 9 of 29
Thermo-Calc Documentation Set
Pourbaix Diagrams ǀ 10 of 29
Thermo-Calc Documentation Set
The pH and Eh properties of the aqueous solution in the interacting system are always
defined in the following way:
pH = -log10[ACR(H+1,AQUEOUS)*AH2O]]Eh = MUR(ZE)/RNF
The symbol AH2O is the molecular weight of solvent H2O (equals 55.508435) and RNF is the
Faraday constant (equals 96485.309).
Pourbaix Diagrams ǀ 11 of 29
Thermo-Calc Documentation Set
The activity of the solvent water (ACRH2O, Aw), the osmatic coefficient of aqueous solution
(OSMC, Os), electronic affinity (Ah), electronic activity log10ACRe (pe), ionic strength (IS),
total aqueous concentration, in molality (TM) and total alkaline concentrations under two
definitions (At1/AT2) are calculated and listed for each equilibrium state.
POLY3 calculations for mass balances in Thermo-Calc are always based on site-fractions.
Consequently, when functions for describing various properties of aqueous solutes are
defined, such as molality (MLi), activity coefficient (RCi) and activity (AIi), they should be
converted to molality-based quantities:
MLi = Y(AQUEOUS,i)*AH2O/YH2O
RCi = ACR(i,AQUEOUS)*YH2O/Y(AQUEOUS,i)
AIi = ACR(i,AQUEOUS)*AH2O
Here, YH2O is the site-fraction of solvent H2O and AH2O equals 55.508435.
Many more variables, functions and tables can be entered for various purposes. For
instance, an equilibrium constant for a homogeneous reaction or a solubility product for a
solid dissolution reaction can be entered.
Pourbaix Diagrams ǀ 12 of 29
Thermo-Calc Documentation Set
Pourbaix Diagrams ǀ 13 of 29
Thermo-Calc Documentation Set
l The aqueous solution phase which applies a certain aqueous solution model. In
Thermo-Calc, information about this phase could be retrieved from, for instance, the
TCAQ or AQS database (these also include data for the REF_ELECTRODE phase that is
used for setting the reference state of the standard hydrogen electrode).
l The alloy solution and/or compound phases for the primary matrix phases (and
possibly also for the precipitated phases in the alloy. Examples of such phases include
FCC_A1, BCC_A2, HCP_A3, SIGMA and CEMENTITE. In Thermo-Calc, information
about such phases could be retrieved from, for example, the TCFE database for
steels/Fe-alloys, the TCNI database for Ni-based superalloys, the TCAL database for
Al-based alloys, the TCMG database for Mg-based alloys, the TCSLD for Sn-/Au-/Bi-
/Zn-based solder alloys or the SSOL for general alloys.
l The secondary solid phases that would form as a result of the heterogeneous
chemical or electrochemical reactions. These phases could be, for example, oxides,
hydroxides, silicates, hydrous silicates, sulphides, sulphates, carbonates, nitrates,
phosphates, borates or halides. In Thermo-Calc, information about such phases could
be retrieved from, for example, the SSUB database for pure solid compounds or the
TCOX database for complex oxide solids.
l The gaseous mixture phase. Information about this phase could be retrieved from,
for example, the SSUB database. However, note that is also possible to perform
Pourbaix diagram calculations that ignore the gaseous mixture phase.
All this thermodynamic data about the various phases must be critically assessed and
internally consistent. Furthermore, when the data is retrieved from several databases, the
data taken from each database must be consistent with the data taken from the other
databases. When Pourbaix diagrams and other diagrams of steel corrosion processes are
calculated, it is typically recommended that the TCAQ, TCFE, SSUB and TCOX databases or
the AQS, TCFE, SSUB and TCOX are used in combination.
The public PAQ database contains thermodynamic data for all four phase types and can be
used for calculating Pourbaix diagrams. They have been designed specifically for the
purpose of demonstrating the POURBAIX module functionality in Thermo-Calc. However,
these databases only allow you to perform test calculations for simple cases with major
phases in which only a few elements can be considered.
Pourbaix Diagrams ǀ 14 of 29
Thermo-Calc Documentation Set
The first reaction describes the formation of H2-dominated gaseous mixture, under reducing
conditions. The second reaction describes the formation of O2-dominated gaseous mixture,
under oxidising conditions.
If the system reaches global equilibrium, then the water component is electrolyzed to H+
and O-2 at all pH conditions. The degree of electrolysis depends on the pH value in the
aqueous solution phase. If Eh gets high enough, then the O-2 anion is oxidized to O2 (aqs).
On the other hand, if Eh gets low enough, then the H+ cation is reduced to H2 (aqs). The
major electrolysis and redox reactions are the following:
H2O (water) = H+ + OH- → Electrolysis of water at all pH.
H2O (water) = 2H+ + O-2 → Electrolysis of water at all pH.
O-2 - 2e- = 0.5O2 (aqs) → Oxidation or de-electronization of O-2 at high Eh.
2H+ + 2e- = H2 (aqs) → Reduction or electronization of H+ at low Eh.
At a critically high Eh value under a given pH condition, an aqueous solution phase with a
high enough O2 activity becomes less stable than an O2-dominated gaseous mixture phase.
At this point, the gas phase replaces the aqueous solution phase in the system. The
replacement process can be characterised by the following phase-transformation on the
aqueous-gas phase boundary and oxidation of remaining water:
O2 (aqs) = O2 (gas)
H2O (water) - 2e- = 2H+(gas) + 0.5O2 (gas)
Similarly, at a critically low Eh value under a given pH condition, an aqueous solution phase
with a high enough H2 activity becomes less stable than a H2-dominated gaseous mixture
phase. At this point, the gas phase replaces the aqueous solution phase in the system,
through the following phase-transformation on the aqueous-gas phase boundary and
reduction of remaining water:
H2 (aqs) = H2 (gas)
H2O (water) + 2e- = O-2 (gas) + H2 (gas)
Pourbaix Diagrams ǀ 15 of 29
Thermo-Calc Documentation Set
are complex functions of the phase constituents, the temperature and the pressure). The
Gibbs energy minimization technique used in Thermo-Calc ensures that the phase
transformation is accurately simulated.
The following Pourbaix diagrams show the result of a calculation where the gaseous mixture
phase was included. In the upper region (high Eh) and lower region (low Eh), the aqueous
solution phase has been oxidized and reduced, respectively, to an O2- or H2-dominated
gaseous mixture phase.
The two example diagrams show that the upper and lower boundaries between the aqueous
phase (water) and the gas phase (dominated by either O2 or H2) can shift when solutes
dissolve or when the temperature and pressure change.
Accordingly, if one does not take a gaseous mixture phase into account when performing a
calculation of Pourbaix diagram (as above), then the aqueous solution phase may end up
with an extremely high O2 (aqs) concentration at high Eh condition, or an extremely high H2
(aqs) concentration at low Eh condition. Under either of these two extreme circumstances,
the concept of “aqueous solution phase” is no longer valid and consequently no proper
aqueous solution model can actually be applied. Therefore, from a restrictive
thermodynamic equilibrium point of view, one shall normally include a gaseous mixture
phase in an aqueous-bearing heterogeneous interaction system. This is true for all types of
equilibrium calculations for an aqueous-bearing heterogeneous interaction system, not only
of Pourbaix diagram calculations.
Hence, to perform a completely accurate Pourbaix diagram calculation, the gaseous mixture
phase must be taken into account. However, since these electrochemical reactions normally
have much higher kinetic barriers and are slower than other electrochemical and chemical
reactions in the interaction system, one can sometimes ignore the gaseous mixture phase in
the calculation. Note that if the gaseous mixture phase is ignored in this way, then the
Pourbaix diagram does not show the H2O-stability limiting lines.
Pourbaix Diagrams ǀ 16 of 29
Thermo-Calc Documentation Set
Examples
Figure 127: A pH-Eh diagram for pure water at 25° C and 1 bar.
Pourbaix Diagrams ǀ 17 of 29
Thermo-Calc Documentation Set
Figure 128: A pH-Eh diagram for 3mNaCl-0.001mCO2-0.001mSO2 aqueous solution at 150° C and
100 bar.
Pourbaix Diagrams ǀ 18 of 29
Thermo-Calc Documentation Set
Pourbaix Diagrams ǀ 19 of 29
Thermo-Calc Documentation Set
Pourbaix Diagrams ǀ 20 of 29
Thermo-Calc Documentation Set
Comparing this Pourbaix diagram with that from Basic Settings and Definitions, you can see
that both diagrams are for the same interaction system under the same temperature-
pressure condition, but the present diagram shows the results of calculations where the
gaseous mixture phase has been included. It presents the complete Pourbaix diagram for the
defined interaction system, in a full thermodynamic equilibrium. In the upper region (high
Eh) and lower region (low Eh), the aqueous solution phase is oxidised and reduced to the O2-
or H2-dominated gas phase. Hematite coexists with the O2-dominated gas, while Fe-BCC is
stable with the H2-dominated gas. The stability field of magnetite may extend slightly into
the H2-dominated gas region, where it coexists with the gaseous mixture instead of the
aqueous solution. Its boundary with Fe (BCC) cannot be drawn due to the absence of aqueous
solution phase.
It is not possible to calculate the pH value in both the O2- and H2-dominated gaseous
mixture phase stability regions where the aqueous solution phase is absent. Hence, in a
normal Pourbaix diagram, no line is drawn that indicates a phase boundary between the gas
phase and the metallic phases or secondary phases (that is, metal-oxides).
Pourbaix Diagrams ǀ 21 of 29
Thermo-Calc Documentation Set
In the interaction system that the diagrams in Pourbaix Diagrams with Gas Phase Excluded
and Pourbaix Diagrams with Gas Phase Included are based on, the initial amount of pure Fe
that was taken to have effectively reacted with 1 kg of pure water at 25° C and 1 bar was
0.001 m. The following diagrams are Pourbaix diagrams of Fe where other initial amounts of
pure Fe have been used, or where the interacting aqueous solution compositions have been
alternated, or the temperature and/or pressure have been changed. Gaseous mixture
phases have been included in all the calculations that these diagrams are based on.
Figure 129: 1E-3 m Fe actively reacted with 1 kg of pure water at 25° C and 1 bar (as in the
calculation in Pourbaix Diagrams with Gas Phase Included).
Figure 130: 1E-6 m Fe actively reacted with 1 kg of pure water at 25° C and 1 bar. Note that the
active metal corrosion region gets enlarged as the initial Fe amount decreases from 1E-3m to 1E-
6m.
Figure 131: 1E-6 m Fe actively reacted with 1 kg of water, 3m NaCl and 1E-5 m SO2 at 25° C and 1
bar. Introducing SO2 into the system leads to the formation of various metal-sulphides (Py-pyrite,
Popyrrhotite, Tr-troilite). In addition, the passivation region becomes larger.
Figure 132: 1E-6 m Fe actively reacted with 1 kg of water, 3m NaCl and 1E-5 m SO2 at 150° C and
100 bar. Here, changing the temperature and pressure affects the stability fields of various Fe-
oxides/sulphides.
As you can see from the figures, the aqueous-gas phase boundaries shift as the initial bulk
compositions, pressure and temperature conditions in the interaction system change.
The next example is a Pourbaix diagram calculated for the heterogeneous interaction
systems between 0.1 mole of AISI4340 stainless steel (Fe-0.80Cr-1.85Ni-0.70Mn-0.25Mo-
0.25Si-0.40C [wt%]) and 1 kg of seawater (with the equivalent of 0.6054 m NaCl), at 25° C
and 1 bar. This application is particularly useful for failure analysis of petroleum exploitation
industry.
13. Shi, P., Engström, A., Sundman, B., and Ågren, J. (2011b). Thermodynamic
calculations and kinetic simulations of some advanced materials. Materials Science
Forum, 675-677: 961-974.
14. Thompson, W.T., Kaye, M.H., Bale, C.W., and Pelton, A.D. (2011). Pourbaix diagrams
for multielement systems. In: Uhlig's Corrosion Handbook, 3rd Edition (Revie RW,
Ed.), The Electrochemical Society and Jon Wiley & Sons, New Jersey.
15. Verink, E.D. (2011). Simplified procedure for constructing Pourbaix diagrams. In:
Uhlig's Corrosion Handbook, 3rd Edition (Revie RW, Ed.), The Electrochemical Society
and Jon Wiley & Sons, New Jersey.