Академический Документы
Профессиональный Документы
Культура Документы
TCC
Thermo-Calc Software
User’s Guide
Version R
Thermo-Calc Software AB
Stockholm Technology Park
Björnnäsvägen 21
SE-113 47 Stockholm, Sweden
Disclaimers:
Thermo-Calc Software AB and STT (Foundation of Computational Thermodynamics, Stockholm,
Sweden) reserve the rights to further developments of the Thermo-Calc (TCC and TCW) and
DICTRA software and associated database and programming interface products, and to revisions of
their manuals and other publications, with no obligation to notify any individual or organization of
such developments and revisions. In no event shall Thermo-Calc Software AB and the STT
Foundation be liable to any loss of profit or any other commercial damage, including but not limited to
special, consequential or other damage.
There may be some minor differences in contents between this TCCR User’s Guide and the actual
appearance of the program as seen on the screen when running the TCCR (Thermo-Calc Classic
version R). This is because that some of the contents may need to be updated in the program’s on-line
help and in the future release of the program. Please visit the Thermo-Calc Software web site
(www.thermocalc.com) for any patch (with modifications and/or improvements that have been
incorporated into the program and its on-line help), or any amendment that have made to the content of
the User’s Guides and Examples Books, or to the FAQ lists and other technical information
publications.
Contents
CONTENTS ........................................................................................................................................................ I
5.4.2 APPEND_DATABASE................................................................................................................ 42
5.4.3 BACK .......................................................................................................................................... 43
5.4.4 DATABASE_INFORMATION .................................................................................................... 43
5.4.5 DEFINE_ELEMENTS ................................................................................................................ 44
5.4.6 DEFINE_SPECIES..................................................................................................................... 44
5.4.7 DEFINE_SYSTEM...................................................................................................................... 44
5.4.8 EXCLUDE_UNUSED_SPECIES ............................................................................................... 45
5.4.9 EXIT............................................................................................................................................ 45
5.4.10 GET_DATA................................................................................................................................. 45
5.4.11 GOTO_MODULE....................................................................................................................... 46
5.4.12 HELP .......................................................................................................................................... 46
5.4.13 INFORMATION.......................................................................................................................... 46
5.4.14 LIST_DATABASE ....................................................................................................................... 48
5.4.15 LIST_SYSTEM ............................................................................................................................ 48
5.4.16 MERGE_WITH_DATABASE...................................................................................................... 48
5.4.17 NEW_DIRECTORY_FILE.......................................................................................................... 48
5.4.18 REJECT ...................................................................................................................................... 49
5.4.19 RESTORE ................................................................................................................................... 50
5.4.20 SET_AUTO_APPEND_DATABASE........................................................................................... 51
5.4.21 SWITCH_DATABASE................................................................................................................. 51
5.5 EXTENDED COMMANDS ....................................................................................................................... 53
1 General Introduction
1.1 Computational Thermodynamics and Kinetics
The research and development linking materials science and engineering with computer calculations and
simulations in the last decade have given birth to a revolutionary approach for quantitative conceptual design of
various materials. A comprehensive combination of thermodynamic and kinetic models makes it possible to
predict material compositions, structures and properties resulting from various materials processing.
The increased importance of mathematical modeling for product development and process control has proven
the high need for thermodynamic calculations and kinetic simulations. Modern quantitative conceptual design
of advanced materials has tremendously benefited from computational thermodynamics and kinetics.
The information about the equilibrium or partial-/local-equilibrium state of specific elements/species/phases in
a heterogeneous interaction system and about kinetics of phase transformations (as well as chemical reactions,
surface reactions, nucleation, particle growths/dissolutions, fluid flow, etc.) in a certain materials process,
which can be provided by a software system, is essential for solving many real problems ranging from materials
design and process development in chemical, metallurgical, automobile, aerospace and electronic industries, to
resource exploitation, energy conversion and waste management in natural and environmental engineering. An
important feature of a thermochemical/kinetic databank is that it also provides an easy way, compared to
experimental work, to investigate how the equilibrium or partial-/local-equilibrium state and dynamic process
can be affected by various external and internal factors. Moreover, a computerized thermochemical/kinetic
databank has the great advantage, compared to handbooks, in providing the user with self-consistent, reliable
and the most recent data.
A general thermochemical/kinetic databank must have high-quality and internally-consistent data for a number
of fields that traditionally have been regarded as separate, e.g., metallurgy, steels/alloys, ceramics, high
temperature gas phase equilibria, aqueous chemistry, and geochemistry. In most applications, the number of
components in a heterogeneous interaction system/process is so large that the equilibrium or partial-/local-
equilibrium state and process kinetics can be efficiently and reliably calculated/simulated only by using
computer software. The establishment of the Thermo-Calc and DICTRA databank systems is a successful
attempt to provide such powerful and sophistic software systems, which are easy to learn and use for all kinds
of thermochemical calculations and for some types of kinetic simulations.
Thermochemical calculations by Thermo-Calc, and kinetic simulations by DICTRA, can dramatically enhance
your capacity in designing/developing new materials, selecting temperatures for heat treatments, optimizing
yields of manufacturing processes, supervising materials applications, protecting environments, etc. These
comprehensive software/database/interface packages have been proved worldwide to be the most powerful and
flexible engineering tools that help eliminate expensive and time-consuming experiments, improve quality
performance, and control environmental impacts.
useful, for instance, in finding the lowest melting temperature in a multicomponent alloy that has up to five
independently-varying compositions), as well as the only software that can calculate chemical driving forces
(thermodynamic factors, i.e., the second derivatives of Gibbs free energy with respect to compositions) which
are important fundamental information for kinetic simulations (such as in diffusion-controlled phase
transformation, nucleation, particle growths/dissolutions, and so on).
Linked with various databases and interfaces, it stands for the Thermo-Calc Software/Database/Interface
Package, or the Thermo-Calc Databank. The most important aim of the Thermo-Calc package is to make
efficient and quick thermodynamic calculations available for applications in science and industry. The Thermo-
Calc software system is based upon a powerful Gibbs Energy Minimizer, which has been further enhanced by
the so-called Global Minimization Technique (that has been implemented in the current version). The Thermo-
Calc software is especially designed for complex heterogeneous interaction systems with strongly non-ideal
phases (which are specifically handled by a very wide range of sophistic thermodynamic models), and can use
many different thermodynamic databases, particularly those developed by the SGTE organization (Scientific
Group Thermodata Europe, an international organization for collaborations on thermodynamic database
developments) and CALPHAD community (CALculations of PHase Diagrams). Furthermore, there are several
powerful application programming interfaces of the Thermo-Calc software engine, which can be utilized for
user-written application programs or within third-party software packages for materials property calculations
and materials process simulations.
Thermo-Calc and its sister software DICTRA (for Diffusion-Controlled phase TRAnsformation) have been
developed originally at the Department of Materials Science and Engineering of KTH (Royal Institute of
Technology), Stockholm, Sweden, and since 1997 further by our company Thermo-Calc Software (TCS).
They are the results of more than 35 years and 150 man-years R&D and many national/international
collaborations through various R&D projects.
The copyrights for the Thermo-Calc and DICTRA software and several related databases belong to a non-profit
organization, Foundation of Computational Thermodynamics (STT), Stockholm. Since 1997, the further
developments, marketing/sales, technical supports and all other activities concerning the Thermo-Calc and
DICTRA packages are managed by our company TCS that is also owned by STT.
There are two different user-interface types of the Thermo-Calc software, namely TCC (Thermo-Calc Classic)
and TCW (Thermo-Calc Windows). The first version of TCC was released in 1981. Since 1999, TCW (as the
second generation of the renowned Thermo-Calc software), with a completely GUI-driven (Graphic User
Interface), has been made available to our users. There has been an update almost every year and the most
recent ones, TCCR and TCW4, are released in May 2006.
Any modern PC (Microsoft Windows XP/2000/NT4, Linux) and UNIX workstation (SUN Sparc, Solaris, HP,
IBM AIX, DEC Alpha OSF1, SGI) can be used for running the Thermo-Calc and DICTRA
software/database/interface packages. However, since TCCP (Thermo-Calc Classic version P) and DICTRA22
(DICTRA version 22), some UNIX platforms (SUN Sparc, HP, IBM AIX and DEC Alpha OSF1) are not
supported any more.
The classical version TCC (and DICTRA) has an interactive user interface, extensive documentation, and on-
line help facilities. The general GUI-driven (Graphic User Interface) version TCW has been made available for
Windows XP/2000/NT4 environments, while such a general GUI version for UNIX and Linux environments is
still under development.
Thermo-Calc has gained a worldwide reputation as the best software for calculations of multicomponent phase
diagrams. There are more than 1000 installations all over the world today, including academic institutions
(universities and governmental institutes) and non-academic organizations (industrial companies and research
companies), and is a reference in technical literature. Many application examples are given inside the TCC
Examples Book and TCW Examples Book, and can also be found on our web site (www.thermocalc.com).
A thermodynamic software package is useless if without accurate and validated databases. Thermo-Calc allows
you to utilize many critically-assessed and high-quality databases from various sources (such as SGTE,
CAMPADA, CCT, ThermoTech, NPL, NIST, MIT, Theoretical Geochemistry Group, etc.). Such databases use
different thermodynamic models for each phase in a certain heterogeneous interaction system. Currently-
available Thermo-Calc databases cover a wide spectrum of materials, including steels, alloys, ceramics, melts,
slag, slats, glasses, hard materials, semi-/super-conductors, solders, gas/fluids, aqueous solutions, organic
substances, polymers, nuclear materials, earth materials, as well as geochemical and environmental systems,
which can be applied to research and development in industrial engineering and natural systems: for instance,
the SSUB/SSOL databases for substances and solutions in inorganic and metallurgic systems, TCFE for steels
and Fe-alloys, TCNI/TTNi for Ni-based superalloys, TTAl/TTMg/TTTi for Al-/Mg-/Ti-based alloys, SLAG for
slag, ION for carbides/nitrides/oxides/silicates/sulfides (solids/liquids/gases), TCMP for materials processing
and applications to environmental problems associated with metallurgical, chemical and waste-treatment
processes, particularly in recycling, remelting, sintering, incineration and combustion), SMEC for semi-
conductors, NSLD/USLD for lead-free solders, SNOB for noble metals, NUMT/NUOX for nuclear substances
and nuclear oxides, GCE for minerals, and TCAQ/AQS for aqueous solutions, etc. For more details on various
available databases, please see the Thermo-Calc Database Guide.
The Thermo-Calc and DICTRA groups at KTH-MSE have initiated and participated in many national and
international projects in order to create general and validated databases. Thermo-Calc Software AB is now
actively devoted to developments of more application-oriented databases of various industrial interests. There
are also many users in various academic societies and industrial companies all over the world who have
established their own databases or datasets under the assistance of the Thermo-Calc and DICTRA packages.
Both the TCC and DICTRA software also provide the users with a unique tool (the PARROT module) for
critical assessment based upon varied experimental data such as PVT-EOS, thermochemical properties, phase
equilibria, phase diagrams, diffusivity, and so on. By means of this module the user can efficiently expand
some databases or reliably create various datasets or databases for some specific materials and applications. As
a mater of fact, many of the existing databases and datasets for various materials are really the products of R&D
activities using the PARROT module.
The Thermo-Calc software system has also three application-oriented programming interfaces, namely the TQ,
TCAPI and the TC MATLAB Toolbox, which are designed for uses in various material property modeling
and complex material process simulations. Powered by the Thermo-Calc software engine (plus some DICTRA
extensions), such programming interfaces provide various kinds of calculations both for thermodynamic
quantities and for local-/partial-equilibria and driving forces, which are needed by other user-written programs
or third-party software packages in complex property modeling and process simulations. The most successful
examples are the comprehensive DICTRA package, MISCRESS software and PrecipCalc software.
Recently, there have also been many other developments on coupling the Thermo-Calc/DICTRA engines
through such programming interface with third-party software packages such as Fluent and Phoenix, as well
as with FEM/PDE calculations and with Phase-Field simulations.
Concurrent calculation and experiment makes much more rapid and reliable progress for materials and process
development than purely experimental trial-and-error methods. The full potential of thermodynamic calculation
methods can now be better employed through the significant developments of the Thermo-Calc/DICTRA
software, databases and interfaces. The package has been developed to such an extent that realistic calculations
can be made in the field of metallurgy, alloy development, material science, semi-/super-conductors, chemistry,
chemical engineering, geochemistry, energy conversion, power production, food industry, nuclear fuel waste
repository, environmental controls, etc. Figure 1-1 shows a number of examples of calculated diagrams.
One of the main purposes of the Thermo-Calc/DICTRA packages is in its use for planning and reducing the
need for new costly experiments. By calculation it is possible to predict the results of an experiment and this
can limit the number of experiments that eventually have to be made. It may even be found that the calculations
alone give results that are reliable enough to be used directly.
At present and in future, TCS, STT and KTH-MSE are highly devoted to the further development on the
Thermo-Calc and DICTRA software, as well on various databases and interfaced programs for different
materials and processes. The continuous and close cooperations with many international R&D partners and
Thermo-Calc and DICTRA users all over the world ensure such developments.
The mission of Thermo-Calc Software is to be extensively utilized as a powerful research and development tool
for scientists and engineers in their daily work in laboratories or factories, and in teaching and training
activities to bring new insight into realistic problems by linking fundamental models and critically assessed
thermodynamic and kinetic data.
The ultimate purpose of Thermo-Calc Software is to assist you, to the highest degree, to save time and money
in materials design, engineering and applications.
The development strategy of Thermo-Calc Software is to provide multiple applicability and increased
efficiency to the materials industrials and R&D community.
1300 2800
1750
1200 2600
Temperature (K)
Temperature (K)
2400
Temperature (C)
1100 1500
2200
1000
1250 2000
900
1800
800 1000
1600
700 1400
750
600 1200
500 500 1000
0 0.2 0.4 0.6 0.8 1.0 0 0.2 0.4 0.6 0.8 1.0 0 20 40 60 80 100
Mole fraction Cu Mole fraction Ga Weight percent SiO2
1.5
100 1.0
1.0
id
90 0.9
iqu
nl
80 0.8
i
Mg
70 0.5 0.7
nt
Eh (V)
o
60 0.6
rce
tM
pe
en
50 0.5
erc
le
Mo
40 0.4
tp
igh
30 0.3
We
-0.5
20 0.2
10 0.1
0 -1.0 0
0 20 40 60 80 100 0 2 4 6 8 10 12 14 0 0.2 0.4 0.6 0.8 1.0
Weight percent Cr pH Mole percent Si in liquid
1400 0.9 10 -3
3 7
0.8
1300 10-6 6
Mass fraction phase
6
1 1 2
0.7 5
5
1200 0.6
10 -9 1
Partial pressure
Temperature (C)
0.3 6
900 10-18
0.2
800 0.1
10-21
700 0 10-24
200 400 600 800 1000 1200 1400 1600 1800
0 0.5 1.0 1.5 400 600 800 1000 1200 1400 1600
Temperature (C)
Weight percent C Temperature (C)
10-2 4 32
5 640
0 630
Partial pressure of SiH2Cl2
-5 620
LOG(Partial Pressure)
10-3
-10 610
Temperature (C)
-15 600
4 -20 590
10-4
1
-25 580
1
2 -30 570
3
The diagrams illustrated in Figure 1-1 give some ideas of the capabilities of Thermo-Calc. Most of the
figures are taken from the binder "Thermo-Calc Examples Book", which describes how to calculate and
plot them. All diagrams have been calculated in Thermo-Calc after axes and other necessary selected
conditions. Thermo-Calc can calculate just a single equilibrium, and indeed, the powerful set of
commands makes it possible to directly calculate many important equilibria. There are many more
diagrams which can be calculated in a few seconds by using one of the specialised modules of Thermo-
Calc, e.g. BINary, TERnary, POTential, POURBAIX, SCHEIL modules.
The first two diagrams display the binary systems, Al-Cu and As-Ga. In diagram b), the solid lines
represent a metastable system without the gas phase. The dashed lines show the equilibrium with the gas
phase. Data for Al-Cu are from the COST-507 database and As-Ga derives from the Group III-V
database. Diagram c) is a pseudo-binary CaO-SiO2 and data are from the IONIC database. All of these
databases are compatible with the SGTE databases.
The second row shows various diagrams for ternary systems. The first is an isothermal section at 1000 oC
of a metallic system, Cr-Fe-Mo, plotted as a so-called Gibbs triangle. The second is a Pourbaix diagram
for iron in water. The last is a liquidus surface of an Al-Mg-Si alloy showing isothermal and
monovariant lines.
The third row pictures a phase diagram for a M42 steel with Co, Cr, Mn, Si, Mo, W, V and C. The alloy
content has been kept fixed and only the carbon content and temperature vary. The lines separate
regions with different sets of stable phases. The second diagram is for the same steel but here the carbon
content is also kept fixed. The amount of the various phases is plotted as a function of temperature.
Other quantities may be plotted like carbon activity, phase composition etc. from the same calculation
and other state variable as the independent variable. The last diagram shows how the partial pressures
of the major species in a C-H-O gas vary with temperature.
The bottom row shows some more "application" oriented diagrams. The first is a diagram used for CVD
applications showing the various solid phases that are in equilibrium with a gas phase made up by
mixing WCl4 and SiH2Cl2 according to the axes and with an excess of argon. In the lower right region,
only solid tungsten is deposited. The lines separate regions where one or two phases are deposited. The
label identifies the phase that has zero amount along the line. The narrow region with just WSi2 is the
interesting one. The second diagram is from the same calculation as diagram b) in the first row but now
the partial pressures of the gas species along the liquidus lines are plotted versus the inverse of
temperature. The vertical line represents the eutectic temperature. The partial pressures are important
to control the growth conditions from a gas phase. The final diagram shows a so-called Scheil-Gulliver
solidification simulation. The system is Al-Mg-Si and the curve shows how the temperature varies with
the fraction of solid phases, assuming no diffusion in the solid. The liquidus surface of this system is
given in diagram f).
1.3 Acknowledgements
During the entire development history of the Thermo-Calc software/database/interface package over the past 35
years, more than 140 man-years at the Department of Materials Science and Engineering of KTH have been
invested along the whole course of research and development related to this package. Various supports from
NUTEK (Swedish National Council of Technical Development, previously STU), NFR (Swedish National
Council of Natural Science), Sandvik Steels AB, SGTE (Scientific Group Thermodata Europe), NIF (Nordisk
Industrifond), CAMPADA Project (Swedish National Strategic Consortium on Materials), CCT Project (Center
of Computational Thermodynamics), etc. have been given during this time.
Different parts of the Thermo-Calc User’s Guide were previously written by various authors at the Department
of Materials Science and Engineering of KTH. Professor Bo Sundman had been responsible for continuous
updates of the Thermo-Calc manual since 1981, and was the principal author of almost all parts of the manual,
with co-authorship of Drs. Bo Jansson, Jan-Olof Andersson, Lars Höglund, Björn Jönsson, Malin Selleby,
among others, and under various sponsorships from the organizations mentioned above. Valuable comments
and suggestions from many colleagues at KTH and SGTE and from many international experts (especially Prof.
Mats Hillert and Prof. L. Lukas) had also been incorporated. All those have formed the sound basis of this
manual revision, and are acknowledged herein.
The current editor for the TCCR/TCCQ/TCCP/TCCN User’s Guides (Dr. Pingfang Shi at Thermo-Calc
Software; pingfang@thermocalc.se) is grateful for critical reviews on the manuscripts by Prof. Bo Sundman,
Dr. Åke Jansson, Dr. Lars Höglund, Dr. Qing Chen, Dr. Anders Engström, Dr. Jan-Olof Andersson, Dr.
Thomas Helander, and Dr. Nathalie Dupin.
We also appreciate the various comments and suggestions from our existing Thermo-Calc users all over the
world. With such inputs, we can make further improvements on the Thermo-Calc software/database/interface
package and its documentation.
L Nov. 1996 1. Two more new easy-to-use modules are added for automatic diagram Thermo-Calc
calculations: the SCHEIL module for simulating solidification processes; Newsletter
the POURBAIX module for calculating pH-Eh and many other property No. 19
diagrams in aqueous-related systems.
2. Many functionality in the POLY, GES, PARROT, TAB and POST modules
are enhanced: for instance,
• new command DEFINE_MATERIALS is added
• improved STEP and MAP commands
• the limit of optimizing variable is increased from 100 to 1000
• the CVM model for modeling short-range ordering is improved
3. The TQ version 1 (compatible with TCCL) is released.
4. The academic version of the TCCL software, namely TC4A (version N) is
released.
5. The FEDAT1 steels database and the AEAT nuclear materials databases are
released.
M Aug. 1998 1. The TERN module is added for automatic calculations of ternary diagrams; Thermo-Calc
2. Many functionality in the POLY, GES, PARROT, TAB and POST modules Newsletter
are enhanced: for instance, No. 22
• new command DEFINE_DIAGRAM is added
• new option to map monovariant lines
• new ADD_LABLE, MODIFY_LABLE, LABLE_DATA and COMMENT are
added
• improved ADD_INITIAL, CALCULATE_ALL command
• revised TAB module
3. The Alternate Mode is added to the PARROT module.
4. New composition-dependent parameters for volume.
5. The POURBAIX module is modified.
6. Multiple-database directory structure and simplified database management are
added.
7. New graphic module for WindowsNT/95/98.
8. The TQ version 2 (compatible with TCCM) is released.
9. The updated demo version for TCCM (TC4A version M) is released.
N Jun. 2000 1. The FLEXLM Software Licensing System is implemented. TCS Newsletter
2. Under Windows, the Thermo-Calc Classic (TCC) and DICTRA software Nos. 24 & 25
can be started by just simply clicking on a file.
3. The Flory-Huggins model for polymers is developed.
4. The Quasi-chemical model for ionic liquids is added.
5. The tetrahedron CVM model can be used together with regular solution
excess (Redlich-Kister).
6. The complete Revised HKF model for aqueous solution has been
implemented but needs more testing.
7. Many functionality in the POLY, GES, PARROT, TAB and POST modules
are enhanced: for instance,
• limit numbers in POLY increased to 40 components and 1000 species
• the new POLY command COMPUTE_TRANSITION simplifies
calculations of solubility limits
• the phase code F saves much memory and computation time for 4-
sublattice ordering
• phase which never disorder can have a disordered excess
• MACRO files can now be nested (5 levels)
• the command SET_INTERACTIVE is added to the GES module
• error messages from TDB module improved
• output during LIST_STATUS shortened
• output during MAP and STEP shortened
• output during PARROT improved
• some bugs fixed in TDB and PARROT module
8. The POURBAIX module is extensively revised, and the Option 4 for
stepping calculations is added.
9. The test version of the fully-GU driven Windows version, TCW1 software
(Thermo-Calc Windows version 1, i..e., TCW-Basic, compatible with
TCCN), is circulated among some groups.
10. The demo version of TCCN (TC4A version N) is released.
11. The TQ version 3 (compatible with TCCN) is released.
12. The TCAPI version 1 (compatible with TCCN) is released.
13. The TCFE steels/Fe-alloys database is updated to TCFE2 (TCFE2K).
14. Five new databases are released:
• TCNI1 (for Ni-based super-alloys, v1)
• TCER1 (for recycling/remelting processes, v1)
• TCES1 (for sintering/incineration/combustion processes, v1)
• AQS1 (for aqueous solutions using the HKF model, v1)
• GCE1 (for minerals and sub-/super-crtical fluids, v1)
• COST2 (for light alloys, v2)
P Nov. 2002 1. Special option for automatic calculations of T0 temperature, in both single TCS Newsletter
equilibrium calculations and stepping calculations. Nos. 26, 27 &
2. Special option for automatic calculations of para-equilibrium, in both 28
single equilibrium calculations and stepping calculations.
3. Special option for internal stability check if any phase can be subject to
spinodal decomposition.
4. The maximum possible number of constituents in a non-ideal solution
phase has been increased from 80 to 200.
5. The convergence for the COMPUTE_EQUILIBRIUM * command
sequence for a more robust calculation has been improved
6. The COMPUTE_TRANSITION command has been improved, so that is
now possible to look for any new phase appearing when one condition is
varied by using the keyword ANY instead of a phase name.
7. Automatic modification on the smallest fraction to ensure converged
solutions during a single equilibrium calculation, special-options
calculation, stepping or mapping; one can restore the user-desired
smallest fraction afterwards, using the SET_NUM_LIMITS command.
8. The database and conditions used for a MAPPING or STEPPING
calculation are automatically printed on the diagrams. The plotted
conditions (especially there are too many) can also be taken away by
using the SET_PLOT_OPTIONS command and switching off its
WRITE_CONDITION option.
9. TCCP can now produce 3D graphs, by generating VRML (Virtual Reality
Modelling Language) files from plotted triangular and tetrahedral
diagrams; such plot files can be read, viewed and printed, using one
VRML viewer from the many plug-ins freely available for web browsers
or standalone programs.
10. The Windows version of TCCP allows to convert any plotted diagram to
graphical formats PNG, BMP, PDF, JPEG and TIFF, using the
DUMP_DIAGRAM command.
11. In the TDB module, the new command SET_AUTO_APPEND makes it
possible to conveniently append a database with the same system
definition.
12. A special routine has been implemented in the TDB module for easy
converting database files from UNIX/Linux format to Windows
format, or vice versa. The routine automatic gives a warning message
if conversion is necessary.
13. Each commercial database is provided with a specific database license
key file, that allows its usage appropriate for the license category and
installation type. The data-listing facility for encrypted commercial
databases has been turned down in the GES module.
14. In the sub-module ED_EXP of the PARROT module, it is now possible
to store and restore a weight set that records all the weights given to
different experimental points in an assessment, using the new
STORE_ALL_WEIGHTS and RESTORE_ALL_WEIGHTS
commands.
15. In the sub-module ED_EXP of the PARROT module, it is also possible
to list out all the calculated equilibrium points (using the
LIST_ALL_EQUILIBRIA command) and to immediately calculate
property diagrams with selective stepping options in which the
calculations and the set stepping variable are based on a specific
experimental point (using the GRAPHICS_PLOT command, which is
identical to the POLY command STEP_WITH_OPTIONS).
16. The complete Revised HKF model for aqueous solution has been fully
implemented and extensively testing, along with the AQS2 aqueous
solution database.
17. The POURBAIX module is extensively revised, and now it allows either
the TCAQ2 database (SIT model) or AQS2 (HKF model), to be used
together with other appropriate databases for pure solid and solid
solution phases in investigations of very complex heterogeneous
interaction systems involving various aqueous solutions.
18. Extensive and detailed on-line help can be obtained in various modules.
The help files have been completely revised for all basic modules.
19. The TCW full version 2 (compatible with TCCP) is released.
20. The DICTRA version 22 (compatible with TCCP) is released.
21. The updated demo versions for TCCP (TC4A vP) and for TCW2 (TC4U
v2) are released.
22. The TQ version 4 (compatible with TCCP) is released.
23. The TCAPI version 2 (compatible with TCCP) is released.
24. The TC MATLAB Toolbox version 2 (compatible with TCCP) is released.
25. A systematical naming strategy for database names are adopted (for
detailed information, see Part 4).
26. Encryption of commercial databases is applied; whilst, upon use’s special
request made to TCS and on the condition a TCS Database Agreement
has been signed, a user can obtain the un-encrypted simple-textual
version of a specific commercial database.
27. Many new or updated databases (from TCS and its partners) are released
in TCCP and TCW2:
• PURE4 (for pure elements; based on PURE3)
• SSUB3 (for pure compounds/substances and gaseous species, v3)
• SSOL4 (for alloy solutions, v4; based on SSOL2 and NSOL4)
• TCFE3 (for steels/Fe-alloys, v3; based on TCFE2/TCFE2K)
• TCMP2 (for materials processing, v2; based on TCER1)
• SLAG2 (for Fe-containing and other types of slag, v2; based on SLAG1)
• ION2 (for ionic solutions, v2)
• TCAQ2 (for aqueous solutions using the SIT model, v2)
• AQS2 (for aqueous solutions using the HKF model, v2;)
• GCE2 (for geochemical and environmental systems, v2)
• SEMC2 (for semi-conductors, v2)
• NSOL4 (for alloy solutions, v4); but it is replaced by SSOL4 later on)
• NSLD2 (for multicomponent solder alloys, v2)
• NAL5 (for Al-based alloys, v5)
• NOX2 (for oxide solution phases, v2)
• SNOB1 (for noble-metal alloys, v1)
• USLD1 (for multicomponent solder alloys, v1)
4. POST Module:
• The ADD_LABEL and MAKE_EXPERIMENTAL_DATAFILE commands
have been improved. It is now possible to store the added labels and
their locations in the workspace, and it may later be saved to an EXP
file.
• The GRAPH window has been further improved. It now allows freely
moving and easily editing any plotted/added labels or texts on a
diagram.
5. PARROT and ED_EXP Modules:
• Experimental data files can be created from POP files by using the new
command GRAPHICS since TCCP. This has now been improved to
allow several datasets and using different symbols according to user's
specification.
• The ALTERNATE mode has been improved. It is now possible to include
functions to be evaluated together with an alternate calculation and to
select ALTERNATE mode for each experimental equilibrium.
• The POLY command SPECIAL_OPTIONS has now a new option
TOGGLE_ALTERNATE, which can set the use of alternate technique in
PARROT (ED-EXP) for each experimental equilibrium calculation to
DEFAULT, ALWAYS or NEVER.
• The LIST_RESULT command has a new 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.
6. REACTOR Module:
• The REACTOR module has been upgraded. It can simulate not only
steady-state processes but also dynamic ones that change with time, for
example decarburization of liquid steel.
7. SCHEIL Module:
• The SCHEIL_SIMULATION module has one new option now for users
to define one or more fast diffusing components (usually interstitials,
such as C, N, O, S, etc.) so that their back diffusions in solid phases can
be automatically taken into account during the Scheil-Gulliver
simulation. For steels with primary ferrite, an additional option
(allowing BCC FCC transition) has been given to consider its possible
transformation to austenite. (See TCCQ Example 48).
8. Three more examples (TCCQ Examples 48 through 50) are added, and
several existing examples are further revised.
9. Extensive and detailed on-line help can be obtained in various modules.
The help files have been completely revised for all basic modules.
10. The TCW version 3 (compatible with TCCQ) is released.
11. The DICTRA version 23 (compatible with TCCQ) is released.
12. The updated demo versions for TCCQ (TC4A vQ) and for TCW3 (TC4U
v3) are released.
13. The TQ version 5 (compatible with TCCQ) is released.
14. The TCAPI version 3 (compatible with TCCQ) is released.
15. The TC MATLAB Toolbox v3 (compatible with TCCQ) is released.
16. Many updated or new databases (from TCS and its partners) are released
in TCCQ and TCW3:
• All ten public databases (i.e., PURE4, PSUB, PBIN, PTER, PKP,
PCHAT, PG35, PION, PAQ2 and PGEO) have been further modified,
and their new sub-versions are freely included in TCCQ and TCW3.
• Some of the commercial databases (e.g., SSUB3, SSOL2 and SSOL4,
TCMP2, SLAG2, ION2, TCAQ2, AQS2, GCE2, SMEC2, NSLD2,
SNOB1, TTNi6, TTAl3, TTMg2) have been further revised (mostly as
sub-versions), and such updated versions will be provided if the user has
the valid database license for the same major version number (e.g., from
TCMP2.1 to TCMP2.2); otherwise, a upgraded version from an older
major version of a specific database (e.g., from TCMP1.1 to TCMP2.2)
is only available on the condition that such a database-upgrade is
purchased.
• Recently, the entire copyrights and intellectual rights of the NUMT2,
NUOX4, NUTO1 and NUTA1 databases that were previously owned by
AEA Technology plc. (UK), UES Software Inc. (USA) and ESI Group
(Switzerland) have been brought by and transferred to Thermo-Calc
Software AB.
4. POST Module:
• Now it is possible to save a plotted diagram as an editable EMF
(Enhanced Windows Metafile) graphical file under PC Windows
XP/2000/NT4 environment. This can be done by choosing the new
graphical format (using the SET_PLOT_FORMAT command and
sequentially selecting the new device number 19) and plotting the
diagram (using the PLOT command). Such a graphical file (with the
default extension of EMF) can then be edited and manipulated using an
appropriate graphical editor (such as in MS PowerPoint).
• Using the new command LIST_DATA_TABLE, it is also possible to list
on screen various properties (i.e., the Y-axis variable on a property
diagram after a stepping calculation) that change with an independent
variable (i.e., the X-axis variable on a property diagram), and/or export
such property diagram data into a spreadsheet file in the MS Excel
format (under a user-specified file name with the default file extension
of XLS), which can be further edited/manipulated or used for further
graphical handling by opening the file (using the MS Excel program)
outside of the Thermo-Calc software system;
• The GRAPH window has been further improved. It now allows:
Automatically detect any plotted line/curve on a property diagram
(the X-/Y-coordinates and the property name will be
simultaneously displayed at the bottom part of the GRAPH
window), by simply moving the mouse-cursor over or near the
property lines. This feature is available only when a standard
and bigger in later versions, and has thus turned to be more and more
difficult to maintain and read; b) some chapters are (in some senses)
independent upon software-versions, and are really common for other
software (such as TCW and DICTRA) and application programming
interfaces (such as TQ, TCAPI and TC MATLAB Toolbox). The new
document set includes the following five individual parts:
TCCR User’s Guide; (this document)
Thermo-Calc Software System;
Thermo-Calc Database Guide;
DATAPLOT User’s Guide and Examples;
Thermo-Calc Reference List.
Many chapters in these documents have been extensively revised and
updated.
9. The on-line help feature for various modules/commands has been
accordingly revised/updated.
10. Other software and programming interfaces, which are compatible with
TCCR, are released at the same time:
TCW4 (TCW Software version 4);
DICTRA24 (DICTRA Software version 24);
Demo versions for TCCR (TC4A vR) and for TCW4 (TC4U v4);
TQ6 (TQ Programming Interface version 6);
TCAPI4 (TCAPI Programming Interface version 4);
TC MATLAB Toolbox version 4.
11. The new public database, TCBIN (TC Binary Solutions Database, version
1) is free-of-charge included along with the TCCR/TCW4 software.
However, unlike other public databases, it is always and can only be
distributed in the encrypted database form, and can only be used inside
the BIN module (of TCCR) or Binary Phase Diagram module (of
TCCW4).
12. Many new or updated commercial Thermo-Calc databases (from TCS and
its partners) have been made available around the releasing time of the
TCCR/TCW4 software:
• TCFE4 is released. This database has been developed by TCS, based on
the TCFE3 version, while critically-assessed data on molar volume (and
its dependence on temperature, using the newly-implemented
Generalized PVT Model) have been incorporated.
• TTNi7 (updated from TTNi6), TTAl5 (updated from TTAl4/TTAl3),
TTMg3 (updated from TTMg2), TTTi3 (updated from TTTi2) and
TTZr1 (new), developed by our partner ThermoTech, are released.
• CCC1 (new, developed by our partner CCT Project) is released.
• STBC1 (new, developed by our partners MPI-MF and SGTE) is released.
• Some of the commercial databases (e.g., SLAG2, ION2, SSOL4, TCMP2,
TCAQ2, AQS2, NSLD2, NOX2) have been further revised (mostly as
sub-versions), and such updated versions will be provided if the user has
the valid database license for the same major version number (e.g., from
SLAG2.0/SLAG2.1 to SLAG2.2); otherwise, a upgraded version from
an older major version of a specific database (e.g., from SLAG1.1 to
SLAG2.2) is only available on the condition that such a database-
upgrade is purchased.
• Some more new/updated Thermo-Calc databases are in the pipeline for
further releases and can be used within the TCCR/TCW4 software. For
details, refer to the further-coming Thermo-Calc Software Newsletters.
TC
Literature Database
TD data SYS
Utilities
TDB TAB
Databases Phases/Reactions
PARROT POST
Optimization Graphics
GES POLY
ED_EXP Models Equilibrium Calc
Experiments
Experimental
Temperature (o C)
800
TD data
400
0
0 0.2 0.4 0.6 0.8 1.0
Mole-fraction Cu
Assessment Daily Use Phase Diagrams &
Property Diagrams
The TCC (Thermo-Calc Classic) software consists of seven basic modules, i.e.,
TDB for database retrieval and management;
GES for thermodynamic model handling and data treatments for various phases;
TAB for thermodynamic property tabulations of phases and reactions;
POLY for multicomponent heterogeneous equilibrium and stepping/mapping calculations;
POST for post-processing of various phase diagrams and property diagrams;
PARROT for parameter optimizations in data assessments/ovulations; and
ED_EXP for experimental points editing and equilibrium calculations.
All of these basic modules are generally necessary for making a thermochemical calculation or simulation.
Further, these modules are internally connected to each other, while there are separate workspaces for some
individual modules (e.g., SYS, GES, POLY and PARROT). The POST module is often referred as a sub-
module of the POLY module, and ED_EXP a sub-module of PARROT; the direct pathways to these two sub-
modules are always started from the POLY and PARROT modules, respectively; and the workspaces are
mostly (but not completely) shared between POLY and POST, and between PARROT and ED_EXP. There is
also a bridge connecting the TAB and POST modules.
In the TCC software, there are also some special modules, or so-called easy-to-use modules (except for the last
one REACTOR), for specific calculations and simulations, i.e.,
BIN for binary phase diagram calculations;
TERN for ternary phase diagram calculations;
POT for potential diagram calculations;
The TCC software always starts with the SYS module, which is designed for each computer system and its
environment settings (i.e., interactions with various operation systems). This module also usually acts as a kind
of communication center with accessibility to all basic and special modules.
The TCW (Thermo-Calc Windows) software has a different user-interface, while its built-in module-structure
is rather similar to the TCC software in many senses. For the details of TCW software structure, please refer to
the TCW User’s Guide and TCW Examples Book.
Beside the TCC and TCW software, two programming interfaces, namely the TQ and TCAPI, can be
connected with the Thermo-Calc Engine (with DICTRA extensions), as well as with Thermo-Calc (and
DICTRA) databases. These programming interfaces are designed for users who want to do application-oriented
programming in their own user-written programs or third-party software packages, for other types of materials
property calculations and materials process simulations. The powerful Thermo-Calc Engine provides accurate,
reliable and fast thermodynamic calculations. The interfaces also service Thermo-Calc software/database-
related and currently-existing toolboxes in some third-party software packages (such as TC MATLAB Toolbox
in the MATLAB package) in order to apply thermochemical calculations and simulations to many different
fields.
Through these software/databases and programming interfaces, all users may make daily use of thermochemical
calculations and simulations, as well as perform their own assessment work. Users are highly encouraged to
also build their own application programs, utilizing the Thermo-Calc Engine (with DICTRA extensions)
through various programming interfaces in various R&D activities.
The Thermo-Calc Classic was developed in the very beginning of Thermo-Calc history, and it will exist in all
forth-coming versions. Several of its unique features will be continuously appreciated by many users, especially
those who have already used such a version for some years. For instance, the MACRO-File-Open feature can
make daily use more routine and flexible as one can use the same but modified MACRO file to make many
similar calculations without bothering over all the calculation details. Moreover, by interactively running
through various modules and commands, one can make maximum use of the software, and explore the
possibility of dealing with very complicated systems, and in this way one can better understand how the
software works.
The Thermo-Calc Windows, existing along with TCC started from TCCN, is fully GUI-driven. Its latest
version, TCW4, is compatible with TCCR. It really simplifies thermodynamic calculations, especially for
beginners and for teaching activities. A TCW user can perform calculations in a more straightforward way
under a user-friendly Windows environment. However, the user may take a longer time to understand the inside
picture, implying that the easily-obtained TCW calculation results may need to be appropriately understood and
used for applications.
Important Note: This edition of the Thermo-Calc manual, including not only the TCCR User’s Guide and
TCCR Examples Book, but also Thermo-Calc Software System and Thermo-Calc Database Guide (which are
intentionally separated from the TCCR User’s Guide started from this version; see Section 2.1) concerns the
Classic version. While the Windows version has a separate manual, a TCW4 user is also recommended to refer
to Thermo-Calc Software System, Thermo-Calc Database Guide, and some parts of this TCCR User’s Guide.
The current version of the Thermo-Calc Classic (version R) is available for many types of hardware (see Table
1-2).
Table 1-2. Available Hardware Suitable for the Thermo-Calc Classic (version R)
Note: From TCCP on, several of the previously-available UNIX platforms [e.g,, SPARC (SunOS), HP
(HPUX), DEC AXP (DEC Unix) and IBM RS6000 (AIX)], as well as Macintosh (PowerMac and
iMac), were abandoned from our support list.
Two special versions are currently available (under PC Windows XP/2000/NT4 environments), but only for the
particular purposes of teaching and academic uses by university users and of testing and demonstrations by
industrial users. They are:
Thermo-Calc For Academic (TC4A) --- Demo version of the TCC (Thermo-Calc Classic)
Thermo-Calc For University (TC4U) --- Demo version of the TCW (Thermo-Calc Windows)
Both TC4A and TC4U have been developed to handle thermodynamic and phase diagram calculations and
assessment for systems of up to 3 elements, under PC Microsoft Windows XP/2000/NT4 environments. They
are free of charge for university teaching and academic uses without external financial supports, and at no cost
for industrial testing and demonstrations; and their associate licenses are only valid for a limited time. However,
it is absolutely not allowed to use them for any kind of commercial purpose. The bonded TC4A/TC4U General
Public License Agreement governs their uses.
Installations of all software, databases and interfaces provided by Thermo-Calc Software (TCS) and its agents
worldwide are handled by a very client-friendly license management system, FLEXlm Software Licensing
Management System. It allows user-preferred installations, updates and upgrades on individual computers
and/or servers. For more information, please refer to Section 2.2 and the related Installation Guides.
Table 1-3 gives a benchmark calculation of a specific system on various hardware, using the Thermo-Calc
Classic version R. This information is useful when equipping the best-suited computer in your office.
present phases:
LIQUID FCC_A1 BCC_A2 GRAPHITE SIGMA
Definition of CEMENTITE M23C6 M7C3 M3C2
the identical conditions:
1 atm, 13 weight percent Cr
system in
mapped in:
calculations
0 to 2 weight percent C, 0.05 weight percent steps
800 to 2000 degrees Kelvin, 30 degrees Kelvin steps
start point at:
1200 degrees Kelvin, 1 weight percent C
Of course, Thermo-Calc is compatible with recently released versions of these processors, and has improved
calculation methods, algorithms and routines that decrease the time needed for complex systems. Thermo-Calc
users are therefore recommended to refer to the latest reference with a benchmark calculation to see if there is
any new number of the Thermo-Calc applicable hardware family.
Thermo-Calc features a wide spectrum of models, making it possible to perform calculations on most complex
problems involving thermodynamics.
Thermo-Calc consists of several basic and special modules for equilibrium calculations, phase and property
diagram calculations, tabulation of thermodynamic quantities, database management, assessment of model
parameters, experimental data manipulations, and post-processing of professional graphical presentations.
Thermo-Calc facilitates a comprehensive data bank of assessed thermochemical data for the phases in various
systems, and uses many comprehensive databases covering a very wide range of industrial materials and
applications.
Thermo-Calc enables you to efficiently establish your own reliable databases through critical assessment based
on various experimental information.
Thermo-Calc utilizes a tremendously flexible user interface that is easy to use (TCC, Thermo-Calc Classic).
Additionally, the complete GUI-driven (graphical user interface) version, i.e., TCW (Thermo-Calc Windows),
has been developed. The results are ready to import to high-quality documents.
Thermo-Calc presents the standard thermodynamic calculation engine that has the fastest and most stable
mathematical and thermodynamic solutions. Any other software (user-written application program or third-
party software package) that requires precisely calculated thermochemical quantities can be conveniently and
efficiently plugged into the Thermo-Calc Engine (with DICTRA extensions). It currently has two powerful
application programming interfaces (i.e., TQ and TCAPI) and one comprehensive thermodynamic calculation
toolbox in the MATLAB software (i.e., TC MATLAB Toolbox).
It is available for most modern platforms, and allows user-preferred installations, updates and upgrades on
individual computers and/or servers. Moreover, it associates with a very client-friendly license management
system (i.e., FLEXlm License Manager).
The advantages of Thermo-Calc are its multiple applications. Several departments or divisions at the same
company, institute or university can use the packages for different purposed. Proven application examples
include industries such as communication, aerospace, transportation, and manufacturing. With the facilities
provided by Thermo-Calc Software (TCS), you can optimize your materials processes to produce a higher yield,
better product at a lower cost.
For a comprehensive list of the Thermo-Calc functionality and applications, please refer to the document
Thermo-Calc Software System.
In addition, technical supports are provided and consultancy services are available to help users become
Thermo-Calc and DICTRA experts.
This part presents some hints for efficiently using Thermo-Calc, including:
♦ how to easily use the Thermo-Calc manual set, including the TCCR User’s Guide, TCCR Examples
Book, as well as the Thermo-Calc Software System and Thermo-Calc Database Guide (which are
intentionally separated from the the TCCR User’s Guide started from this version);
♦ how to properly install and maintain the Thermo-Calc software/database/interface package;
♦ how to efficiently use the Thermo-Calc software/database/interface package in your R &D activities;
♦ how to promptly obtain various supporting and consultancy services from TCS or its partners;
♦ how to constructively assist TCS to further improve various software/database/interface products.
IMPORTANT NOTE: The TCC User’s Guide has become bigger and bigger in every later versions, and has
thus turned to be more and more difficult to maintain and read. Moreover, some chapters are (in some senses)
independent upon software-versions, and are really common for other software (such as TCW and DICTRA)
and application programming interfaces (such as TQ, TCAPI and TC MATLAB Toolbox). Therefore, started
from this version (TCCR), five individual documents have been separately prepared, extracted from the
relevant chapters of the TCC User’s Guide; however, for the purpose of easy reference to earlier editions, those
five chapters are still kept in the structure of this edition but will only remain a very-brief introduction page.
The above-mentioned five separated documents (and their relations with relevant chapters in the original
structure of the TCC User’s Guide) are briefly described below:
Thermo-Calc Software System: (Extracted from Chapter 3 of the TCC User’s Guide)
It demonstrates a general overview of the entire Thermo-Calc software/database/interface package.
Similar to a comprehensive reference, it is detailed in basic concepts/terms and thermodynamic
framework, further development strategies, available functionality and possible applications, etc.
Review of this document helps users obtain to an entire picture of the package. It is particularly
useful when a user is looking for descriptions on some common terms as a specific model, database
or module is interacted, and it can be used as a cross reference when the user reads other parts in
the manuals of TCC, TCW and/or DICTRA software, as well as of TQ, TCAPI and TC MATLAB
Toolbox programming interfaces.
Thermo-Calc Database Guide: (Extracted from Chapters 4&6 of the TCC User’s Guide)
It gives a full description of all the available Thermo-Calc databases that can be used together with
the Thermo-Calc software (TCC and TCW) and DICTRA software, as well as in various
application programming interfaces. This also helps in deciding whether or not to further access to
other databases is necessary for your R&D projects, as well as in planning your own database
developments. In this guide, you can also find all kinds of details regarding not only the data
structures and formats of the Thermo-Calc databases but also the DICTRA database-extensions.
DATAPLOT User’s Guide & Examples: (Extracted from Chapter 15 of the TCC User’s Guide)
It presents how the Thermo-Calc (TCC/TCW) and DICTRA software use a special data-handling
language facility, namely the DATAPLOT Graphical Language (which was developed at the MSE
department of KTH), for graphical presentations in their post-processors. The POST module (in
TCC and DICTRA) and Diagram-Definition sub-window (in TCW) communicate with various
calculation/simulation modules using this language. This document details how to arrange all kinds
of graphical settings and how to handle the calculation and simulation results of various types. A
highly professional graphic presentation of the TCC/TCW/DICTRA graphs can be obtained when a
set of DATAPLOT expressions is enforced. Some examples of DATAPLOT files and appendices
of the language are given as well.
Thermo-Calc Reference List: (Extracted from Chapter 16 of the TCC User’s Guide)
It documents some selective references of the Thermo-Calc software, databases, programming
interfaces and applications, which you may find in your local libraries or on Internet. In addition,
you are encouraged and appreciated to provide us with your own publications and manuscripts
related to varied successful applications, so that we can include them in the future revisions of
Thermo-Calc Reference List. If many users contribute their research papers and technical reports to
Thermo-Calc Software (TCS), a Thermo-Calc Reference Book could also be compiled and supplied
with this manual set in the near future.
This edition, TCCR User’s Guide, is prepared in a structure of Part-Section-Subsection. There are 17 separate
parts in the entire document (structured in the same order as in the TCCQ/TCCP User’s Guides); however, as
mentioned above, four parts have been extracted from this Guide and turned to be four separated documents
whilst a single page is used to keep each of them in the structure. Among them, the first 4 parts (two of them
are detailed in two separated documents) give general introductions of the Thermo-Calc
software/database/interface package and detailed descriptions on available database. The following 11 parts
(two of them are detailed in separated documents) primarily present various Thermo-Calc modules and
facilities, and the last 2 parts (again, one of them is detailed in a separated document) provide some principal
references, useful appendices and helpful indices. Each specific module for model/data-handling,
calculation/simulation or result presentation starts with a list of all implemented commands in the module for
user’s convenience.
Those who are not familiar with Thermo-Calc should begin with this chapter and the document Thermo-Calc
Software System. Those who have already gained some experience can directly start with a specific module
(i.e., Chapters 5-14 and DATAPLOT Guide). Reviewing Chapters 1-2 as well as the Thermo-Calc Software
System and Thermo-Calc Database Guide, is also recommended to find updated information.
Chapter 1 gives a general introduction of the Thermo-Calc software/database/interface package, including its
development history, general structure, and availability. It also briefly gives some examples from the package,
makes suggestions to meet your requirements, and presents ideas to benefit your R&D activities.
Chapter 2 (this chapter) presents some hints on how to use the package in a general sense, how to become a
Thermo-Calc expert to fully benefit the use of the package, and how to communicate with TCS and its partners.
Chapter 3 (a general overview of the entire Thermo-Calc software/database/interface package) has been
extracted from this edition of the TCC User’s Guide, and documented into the Thermo-Calc Software System.
Chapter 4 (a full description of all available Thermo-Calc databases that can be used together with the
TCC/TCW/DICTRA software and various application programming interfaces) has been extracted from this
edition of the TCC User’s Guide, and (as a part) documented into the Thermo-Calc Database Guide.
Chapter 5 through 14 (among which Chapter 6 has extracted from this edition of the TCC User’s Guide and
moved into of the document Thermo-Calc Database Guide, and Chapter 15 into DATAPLOT User’s Guide &
Examples) extensively documents all kinds of Thermo-Calc modules and associated facilities. You can select
the appropriate chapters for your needs. These chapters are arranged in an order of utilization. Modules that are
normally accessed for common calculations come first, while modules that for the understanding follow later.
All available commands in each module of the Thermo-Calc Classic package are explained in detail. In most
cases, why a command is needed and how it can be executed are described with help of some examples.
Similarly to all modules, first layout the important and frequently used commands, followed by the remaining.
Chapter 5 describes guidelines on how to use the Database Module (TDB), for choosing/appending databases,
obtaining information of selected databases, defining/rejecting/restoring systems (elements, species, phases, and
phase constituents), retrieving data from databases, etc.
Chapter 6 (oriented to database managers or experienced users who want to create a user-specified database,
dataset or data file; including some typical examples of how a Thermo-Calc database is organized, as well as
some extensions for DICTRA mobility databases) has been extracted from this edition of the TCC User’s
Guide, and (as a part) documented into the Thermo-Calc Database Guide.
Chapter 7 shows, by using the Tabulation Module (TAB), how to tabulate all kinds of thermodynamic
properties of various substances (stoichiometric or solution phases) or chemical reactions, and to graphically
present the tabulated results.
Chapter 8 describes the most important module, the Equilibrium Calculation Module (POLY), for performing
complicated thermodynamic calculations on multicomponent heterogeneous equilibria, either at a single point,
with a specific special option, in one dimension (STEP) or in two dimensions (MAP). In this particular chapter,
some further information on how to define various thermodynamic systems or problems in the Thermo-Calc
equilibrium calculations and simulations will be given prior to going to details of all kinds of POLY commands.
Specific examples show how to make various calculations with some very difficult phases or phenomena (such
as ordering/disordering and aqueous solutions). This chapter also gives some useful hints on trouble-shooting,
and provides answers on some frequently asked questions about the equilibrium and phase diagram
calculations.
Chapter 9 presents the Post-Processor Module (POST) after the POLY Module to conveniently display
successful calculations in a high professional graphical standard. This chapter illustrates how easy and efficient
plotting phase diagrams and many other property diagrams from various calculations. The procedure for
generating vrml (Virtual Reality Modelling Language) files and producing 3D graphs using one of the many
plug-ins freely available for web browsers, is also illustrated.
Chapter 10 (Some Special Modules) introduces some convenient and straightforward methods to calculate and
plot diagrams. These modules simplify certain types of calculations and graphical presentations of phase
diagrams and/or property diagrams. With such easy-to-use modules, the user just needs to answer a few simple
questions in an automatic calculating and plotting procedure. They are: the BIN module for binary diagram
calculations, the TERN module for ternary diagram calculations, the POT module for potential diagram
calculations, the SCHEIL module for solidification simulations, the POURBAIX module for Pourbaix diagram
and property diagram calculations, and the REACTOR module for steady-state reactor simulations. These
special modules have been made available in some late versions of the Thermo-Calc package and more are
going to be built up in the near future.
Chapter 11 (Gibbs Energy Module GES) provides rather comprehensive descriptions on all the already-
implemented thermodynamic models. The implementations of reliable thermodynamic models for various
phases under a wide physico-chemical conditions into the Thermo-Calc software/database/interface package are
the essential steps to achieve a successful calculation or simulation on a complex system or problem in reality.
Furthermore, this chapter shows how these models are constructed in the Thermo-Calc software core, in terms
of the data structure, the thermodynamic quantity calculations, and the module’s user interface. Information
stored in the GES module are phase constitutions, thermodynamic properties, defined symbols, model selection,
etc. There are extensive descriptions for all kinds of commands to interact the models and to access the data.
Chapter 12 introduces the Optimization Module (PARROT) to demonstrate its powerful assessment features,
and to give some helpful hints. With rich experience of using various modules for data-handling, equilibrium
and phase diagram calculations, and graphic presentations, this module conducts data assessment in order to
improve the available databases or customized datasets or data-files. The guide first shows how to prepare an
experimental data file (POP), how to create a graphic experimental file (EXP), how to generate a system setup
file (SETUP), and how to save and interactively access an optimization file (PARROT). Continuing, the
examples demonstrate various procedures of optimizing with command, special modes, and treatments. The
ED-EXP Module, as a PARROT command, is introduced and described in detail in the following chapter
(Chapter 13). Also briefly described are the necessary connections of the module with other modules (such as
GES, TAB, POLY, and POST), and its availability in the DICTRA software, the TQ and TCAPI application
programming interfaces, the TCW graphic user interface, and the TC-MATLAB interface.
Chapter 13 documents the Edit-Experiment Module (ED-EXP), to show how to edit experimental data points in
an appropriate way in order to make a good optimization, in terms of organizing data blocks, setting relative
weights, inclusion and exclusion of data points, setting alternate conditions, and so on. This module is mainly
connected with the PARROT and POLY modules, including some identical basic commands (See Chapters 8
and 12 if necessary).
Chapter 14 (the System Utility Module SYS) troubleshoots problems to configure the O/S (operation system)
dependent parameters for error message outputs and plotting environmental units. In addition, how to create,
modify and maintain a MACRO file is fully explained. Some unique extra facilities, such as patch/trace/stop
system debugging, HP-calculator, etc., are also illustrated.
Chapter 15 (a description of the special data-handling language facility, namely the DATAPLOT Graphical
Language, for graphical presentations in the TCC/TCW/DICTRA software) has been extracted from this
edition of the TCC User’s Guide, and documented into the DATAPLOT User’s Guide & Examples.
Chapter 16 (a list of some primary references of the Thermo-Calc software, databases, programming interfaces,
and applications) has been extracted from this edition of the TCC User’s Guide, and documented into the
Thermo-Calc Reference List.
Chapter 17 presents some appendices to give some helpful hints, including the guidelines of installing the
Thermo-Calc Classic package under different computer platforms, an overview of various Thermo-Calc file
types and their relations, and a Thermo-Calc Classic quick reference card. Additionally, it indexes all available
TCC commands with the references to their various modules and locations. Lists of figure and tables are also
indexed at the end.
Finally, please note that some of the previously available but not so common or useful features or commands
might have been disabled; thus, they are not longer included in this manual revision. Moreover, some models
and databases, which have already been implemented but not yet extensively tested or fully released, may be
described in this manual set. These extra features may not be fully available in the version released. For
instance, the Flory-Huggin model for polymers is available but there is no database provided in the package. In
such cases, please be patient for the subsequent patch releases of the current version (the executables will be
made available at the TCS web site for downloading by those who have the valid and proper licenses for the
current version), or for the pre-release of the next version (on-special-requests).
Please note that the copyright of all the TCS-provided manuals (User’s Guide, Examples Books, and Reference
Books) and technical information sheets (Updated Software/Interface Development, Special Database
Applications) are also bonded together general conditions set forth within the Thermo-Calc Software END-
USER LICENSE AGREEMENT (EULA) which should be entirely agreed upon the installation. Therefore,
any use of such copyrighted intellectual materials must not violate the conditions/terms restrictively stated in
the General License Agreements and the FLEXLM Software Licensing Management System.
as for the TCC installation, but adds the DICTRA database subdirectories and database files to the \DATA\
area, inserts the DICTRA help files to the \HELP\ area, and generates the \DIC_EXA\ directory and
subdirectories for all DICTRA standard examples.
After a successful installation, a user may modify some of the textual files for setting his/her own preference
and testing the enclosed standard examples. Occasionally, a user (as the administrator or locally-authorized
user) can further modify the environmental parameter(s) of the installation: TCPATH on Windows
XP/2000/NT4 (in the “Registry Editor” or “System Properties” window); TC_DATA, TC_TDBHLP,
TC_GESHLP, TC_POLYHLP, etc. under Linux and UNIX platforms.
For all kinds of detail on installation and modifications, please refer to the related Installation Guides.
Under PC Windows NT/2000/XP environments, you can create several TCC (and TCW and DICTRA) shortcut
icons (for various software versions, as well as for different purposes identifying certain systems or projects).
The properties of such icons can be easily modified, by simply right-button clicking on the icon and choosing
the “Properties” option.
For various versions of the TCC/TCW/DICTRA software, you can point to the executable program in the
Target field on the “Short-Cut” bar of an icon’s property window; and as mentioned above, for different
purposes to identify certain systems/projects, you can specify the working area in the Start-in field.
For the sake of making the TCC/DICTRA performance convenient for yourself, you can further modify the
“Options” (for cursor size, display window size, buffer size and number of buffers of command history, and
QuickEdit and Insert modes), “Fonts” (font type and font size), “Layout” (screen buffer size, window size, and
window position) and “Colors” (color type and values for texts and background of screen and of popup
windows), on the icon’s property under Windows NT/2000/XP environments, as illustrated in Figure 2.1.
Under various UNIX platforms (Solaris, SGI, PC Linux, etc.), your local system manager would always be
happy to tell you all the tricks on how to set up your preferable working environment and to make TCC and
DICTRA convenient for you to work with.
However, you can also access a Linux/UNIX version of TCC or DICTRA from a Windows-based PC with an
appropriate Tektronix-window program installed.
For instance, if you login to a Linux/UNIX server from your PC Windows NT/2000/XP using the
TeraTerm program, and run the TCC or DICTRA software/database package, as illustrated in Figure
2.2. It is recommended to first modify some appearance setting of the TeraTerm window, by changing
the some “Setup” options for e.g. Terminal (Terminal Size, Auto VT<->TEK switch), Window
(Scroll buffer lines, and Text/Background Color), Font, etc., and enabling Save setup for future uses.
For all tasks except for plotting diagrams on screen, it works perfectly. For generating graphical files (such
as in PostScript formats) of calculated diagrams, it also works satisfactorily. If you want to plot
diagrams on screen, you can either use the SYS command SET_PLOT_ENVIRONMENT with the
device number of 1 (for Tektronix 4010) before conducting any TCC/DICTRA command, or use the
POST command SET_PLOT_FORMAT with the device number of 1 (for Tektronix 4010) before
typing the PLOT_DIAGRAM command (and sequentially accepting SCREEN as PLOTFILE). It is also
recommend using the Open TEK option of the “Control” action prior to the PLOT command. Please
note that when a diagram is plotted on the TEK sub-window, you can Copy/Paste and Print the
contents on the sub-window, and also that afterwards you shall remember to Exit the TEK sub-
window before executing any further TCC action on the main TeraTerm window.
2.3.1 Get prompt technical supports from TCS and its agents worldwide
TCS has, at present moment, around ten highly qualified agents all over the world. For the detailed addresses
and contact persons of these agents, please visit our web site www.thermocalc.com.
TCS and its agents organize regular Thermo-Calc (TCC/TCW) and DICTRA training courses worldwide. For
course descriptions and schedules, please also visit web sites of TCS and of your local agents, or send us a
filled Thermo-Calc Course Application Form or DICTRA Course Application Form (which are promptly
made available at our web site http://www.thermocalc.se/Service_and_support/Training_courses.html).
Sometimes, a special training course can be arranged at a specific location upon the clients’ particular requests;
please contact us if there is a necessity and possibility.
For basic technical problems related to the installations and performances of TCS-provided software, databases
and interfaces, prompt supports can be received from TCS (post: Thermo-Calc Software AB, Stockholm
Technology Park, SE-113 47 Stockholm, Sweden; e-mail: support@thermocalc.se; phone: +46-8-5459 5930;
fax: +46-8-673 3718; http: www.thermocalc.com) or your local agents. Our web site routinely publishes
various technical updates and references, such as newsletters, technical information, FAQ list, software new
features and improvements, special database applications, selected application references, software demo
download, updated software download (for valid license holders), updated manual download, forth-coming
course information and registrations, and so on. Based on the client’s software maintenance option, some in-
deep technical assistance and problem-shooting supports can also be obtained from TCS or your local agents.
For inquiring more information about TCS software/database/interface products and support/consultancy
services, please send e-mails to us (info@thermocalc.se).
TCS and its subsidiary/agents, as well as some TCS’s special partners (experts in specific application fields),
can conduct some consultancy (perform calculations, design databases or even make special software) on
behalf of our clients. You may simply send us your requirements and specifications (consult@thermocalc.se).
We will then immediately contact you for arranging the consultancy agreements and conducting the
consultancy work.
If you have encountered any bug or problem in running any TCS-provided software, database or programming
interface, we would very much appreciate that you would promptly report to us (support@thermocalc.se). We
will do our very best to solve the problems in the corrected or updated versions, and provide you with the
appropriate solutions on time.
A new Thermo-Calc user may start with the special modules (BIN, TERN, POT, POURBAIX and SCHEIL) to
make some calculations of phase diagrams and property diagrams. The standard examples, stored as MACRO
files (*.TCM) in the installation area \TCEX\ and documented in the TCCR Examples Book, give all kinds of
instructions on various basic and special modules (SYS, TDB, GES, TAB, POLY, POST, PARROT, ED-EXP;
BIN, TERN, POT, SCHEIL, POURBAIX, REACTOR). The user can copy such exemplary MACRO files to
his/her own desired directories in order to conduct other desired calculations/simulations after having properly
made the necessary modifications (on temperature, pressure, composition and other conditions) for the user-
specified applications.
Along with your daily R&D and teaching activities, you can routinely use the Thermo-Calc and DICTRA
software/database packages as reliable and efficient engineering tools, for various kinds of thermodynamic
calculations and kinetic simulations. The powerful functionality of the packages will provide you with the most
quick and precise descriptions of thermodynamic equilibria and kinetic paths, and help you understand complex
problems and phenomena in varied materials systems and materials processes.
After gaining enough experience with using the calculation and simulation modules, you can step into
performance of critical assessments on your interested systems, utilizing the PARROT module that is available
within the TCC and DICTRA software. With your own experimental results and accessed literature information
on particular materials systems and materials processes, you can optimally modify some existing data, and
easily establish your own databases/datasets/data-files.
If you are interested in plugging the Thermo-Calc Engine (through the TQ/TCAPI application programming
interfaces) with your R&D facilities, you may write your own programs for materials property calculations and
materials process simulations, following the simple examples in the TQ/TCAPI Programming Guide and
Examples. You can also use the TC MATLAB Toolbox in the MATLAB software package for materials
property calculations, materials process simulations, and materials engineering controls.
With some experience using the Thermo-Calc and DICTRA packages, you may soon establish your own
favored routines and manners for the inclusions of your calculation and simulation results in various scientific
publications, technical reports and conference presentations.
Upon special requests, TCS may provide you with some recommendations on how to present your calculation
and simulation results (from using the Thermo-Calc and DICTRA packages) as various tabular and graphical
forms in professional and high quality standards. With help of modern advanced software for word
documenting, data handling and graphical processing, you can easily and efficiently edit/export the obtained
calculation/simulation tables (from the TAB and POST modules) and graphs (from the POST module) at your
preference.
TCS highly values your knowledge, expertise and suggestions on applying the Thermo-Calc and DICTRA
software/database/interface packages in various R&D and teaching activities, and would greatly appreciate
learning of your successful stories and unique examples. There are many good channels for significantly
exchanging your experience with TCS, our agents and development/consultancy partners, as well as with other
users all over the world.
Suggestions on improving and expanding the software functionality, user interfaces, programming interfaces,
database designs and applications, as well as our technical supporting and consultancy services, are particularly
welcomed.
With your research results promptly presented at various conferences of different societies, and frequently
published on scientific journals and technical report series, many other existing users and prospects will be able
to share your experience and to learn your stories. TCS and its agents often participant in various conferences
(where we give presentations and demonstrations, and hold workshops and user-group meetings) and
exhibitions.
Most importantly, for maintaining an updated and complete reference, TCS always expects to receive from you
a reprint of your papers and reports, and a copy of your own programs and databases developed on the basis of
the Thermo-Calc and DICTRA software/database/interface packages.
We highly encourage and very much appreciate you to send us (at info@thermocalc.se) your successful
stories/examples, reprints of published papers, copies of research reports, and suggestions/comments.
Started from this version (TCCR), this chapter has been extracted and separately prepared as an individual
document “Thermo-Calc Software System”.
5.1 Introduction
One of the problems with phase diagram calculations in multicomponent systems is finding valid parameters
that describe the various equilibria. A related problem is obtaining parameters in such a way that the elements
are referred to in the same state in all phases.
Transforming the available parameters to the same standard state is tedious work and errors are very common. It
would be a great advantage to have this work completed to use the same transformed parameters in all future
applications. This kind of work is performed by a few different groups around the world. One of the strongest
groups in this field is the Scientific Groupe Thermodata Europe (SGTE) that has collected and assessed a huge
amount of data which are available through two different database files.
For convenience, the Thermodynamic DataBase module, TDB ⇒, to easily retrieve thermodynamic data has
been developed.
The TDB module is included in the Thermo-Calc and DICTRA software packages to perform administration,
selection, and retrieval of various types of thermodynamic and kinetic data.
TDB_SSOL:?
AMEND_SELECTION EXIT NEW_DIRECTORY_FILE
APPEND_DATABASE GET_DATA REJECT
BACK GOTO_MODULE RESTORE
DATABASE_INFORMATION HELP SET_AUTO_APPEND_DATABASE
DEFINE_ELEMENTS INFORMATION SWITCH_DATABASE
DEFINE_SPECIES LIST_DATABASE
DEFINE_SYSTEM LIST_SYSTEM
TDB_SSOL:
Note that the command SET_AUTO_APPEND_DATABASE command is added in TCCP, whilst two previously
available commands (EXCLUDE_UNUSED_SPECIES and MERGE_WITH_DATABASE) have been deleted in
TCCN and TCCP, respectively.
⇒
Revision History of the TDB-Module User's Guide:
Nov 1986 First release (Edited by Jan-Olof Andersson and Björn Jönsson)
Oct 1993 Second revised and extended release (Edited by Bo Sundman)
Jun 2000 Third revised and extended release (Edited by Pingfang Shi)
Nov 2002 Fourth revised release (Edited by Pingfang Shi); with minor changes in 2004/2006
The commands of TDB often consist of several words separated by a hyphen or an underscore character. The
hyphen and underscore characters are considered identical. Some of the main keywords have a second keyword.
This second keyword can either be joined to the main keyword with a hyphen or an underscore or separated
with a space or a comma from the command keyword in the same way as for an ordinary parameter. The
command may be abbreviated by an unambiguous group of letters to shorten each part between hyphens.
Remaining parts of a command may be omitted if they are not necessary to distinguish the commands. Many
commands require that some parameter’s values be specified. By pressing the <RETURN> key, the program will
prompt for these values.
Usually, default command values are suggested between slashes and are chosen by pressing the <RETURN>
key. A command (with its second keyword, if applicable) and all parameters may be entered on the same line, if
a user knows such parameters required by the command; otherwise, they can be separately entered subsequently
in ensuing prompt(s) after the command.
5.3.1 SWITCH_DATABASE
SWITCH_DATABASE is used to change the default database. The second part of the prompt TDB_XYZ
indicates the present database, for instance, TDB_SSOL for the SSOL database.
LIST_DATABASE ELEMENT gives a list of elements available in the present database. The keyword
ELEMENT can be substituted with SPECIES, PHASE or CONSTITUENT.
5.3.3 DEFINE_ELEMENTS
DEFINE_ELEMENTS <list of elements> is a command that prompts the user for input of all the
elements that should be defined in the system.
LIST_SYSTEM CONSTITUENT gives a list of the phases that can form from the defined system. The
elements listed after the phase name are the constituents of that phase.
REJECT PHASE <list of phases> tells the database not to retrieve any data for whichever phase is
specified. The keyword SYSTEM can be used to reinitiate the database.
5.3.6 RESTORE PHASE
RESTORE PHASE <list of phases> acts as the reverse of the REJECT command, except that the
keyword SYSTEM cannot be used for this command.
5.3.7 GET_DATA
GET_DATA searches the database and enters the system defined into the GES5 and/or DICTRA workspace.
Only after executing this command is it possible to go to any of the application programs such as GES, POLY
or DICTRA and use the retrieved data.
5.4.1 AMEND_SELECTION
Description: This command can be utilized after the elements or species or the system have been defined
(with the command DEFINE_ELEMENTS or DEFINE_SPECIES or DEFINE_SYSTEM).
The subsequent prompts allow changes to the pre-defined system. By answering Y(Yes)
or N(No), each of the previously selected elements, species, or phases, but not the
constituents or the entire system, can be accepted or rejected. Ensuing prompt(s) for making
other modifications can also be quitted by answering Q(Quit).
5.4.2 APPEND_DATABASE
Description: This command appends data from a file or additional database to the current set of data
already read from another database. Data already read from another database and stored in
the Gibbs energy system is kept in the GES5 workspace.
The APPEND_DATABASE command will also enter all additional parameters (phase
constituents, G0 and interaction parameters, etc.) to already existing phases, and all existing
parameters (phase constituents, excess model, G0 and interaction parameters, etc.) in the
phase will be replaced with the values retrieved from the appending database.
All the directly connected databases as predefined by the original database initiation file
(TC_INITD file in the /DATA/ area for PC Windows XP/2000/NT4 environments, or the
initd.tdb file in the \data\ area for all kinds of UNIX/Linux platforms), or by a user-
specified database initiation file after using the NEW_DIRECTORY_FILE command, are
listed by pressing the <RETURN> key without giving any argument. The user can also
supply his own database by first giving the argument USER and then the database name
and, if it is not located in the current working directory, its correct path.
After this command executed for the first time, the TDB_XYZ: prompt (XYZ stands for the
name of the primarily switched database) is changed to the APP: prompt for proceeding
further commands related to appending data.
Synopsis 1: APPEND_DATABASE <additional database name>
Synopsis 2: APPEND_DATABASE
Ensuing Prompt: Use one of these databases
...
PURE = SGTE pure element database
...
SSUB = SGTE substance database 1997
...
USER = user defined database
DATABASE NAME /XYZ/: <additional database name>
Options: additional database name -- the name of an existing database or a USER database
definition file (***setup.TDB) that corresponds to the appending database.
Notes: Under the Windows XP/2000/NT4 environments, an Open file window will be popped up if a
USER database name or its path is not given on the same line of the APPEND_DATABASE
command, or if the name or path is incomplete or incorrect, so that the path (in the Look in
box) and database name (in the File name box) can be appropriately specified. The user can
then open the chosen USER database, or may cancel such a Window session; in the latter
case, the program will list all predefined databases and the user can then specify one of
them to be switched on or proceed the USER option again.
Under Windows XP/2000/NT4 environments, this command can be called more than once if
appending two or more databases to the primarily switched database. Under various
UNIX/Linux platforms, the second and further appending databases can only be connected
using the SWITCH_DATABASE USER command sequence.
After this command, those commands for defining system (in terms of either elements or
species), rejecting/restoring phases or species, and retrieving data must be repeated;
however, their second keywords and parameter values might have to be different from the
previous ones.
5.4.3 BACK
Description: The control goes back to the most recent module. See also GOTO_MODULE.
Synopsis: BACK
5.4.4 DATABASE_INFORMATION
Description: A short description of the current database is normally given by typing this command. This
can include information on covered systems, used models, valid ranges for parameters in
temperature and composition, major applications, and so on.
Synopsis: DATABASE_INFORMATION
5.4.5 DEFINE_ELEMENTS
Description: This command can be used to define the system in terms of elements. All possible species that
can be formed by the given elements will be retrieved from the database. The different
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, will be
defined into the system. Note that since the TCC version N, up to 40 elements can be
defined into a single system (previously 20 elements).
Synopsis: DEFINE_ELEMENTS <element1, element2, …>
Options: element& -- a list of elements to be defined into the system
Notes: When appending database(s), this command, or the command DEFINE_SPECIES or
DEFINE_SYSTEM, must be repeated with the same or similar elements as defined in the
first switched database. See detail in the command DEFINE_SYSTEM.
5.4.6 DEFINE_SPECIES
Description: This command can be used to define the system in terms of species. Only those species that
are given will be 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, will be defined into the system. Note that since the TCC
version N, up to 1000 species can be defined into a single system (previously 400 species).
5.4.7 DEFINE_SYSTEM
Description: This command defines the system in terms of either ELEMENTS (equivalent to
DEFINE_ELEMENT) or SPECIES (equivalent to DEFINE_SPECIES). Certain databases
have a default value of the keyword (as either ELEMENTS or SPECIES) reflecting what is
most appropriate when defining a system.
The different names of elements or species must be separated with a space or comma. It is
possible to use a wildcard “*” after a common part of elements or species names so that
all the elements or species, which start with that common part and are available in the
currently switched or appending database, will be defined into the system.
Synopsis 2: DEFINE_SYSTEM
Ensuing Prompt: ELEMENTS: <element1, element2, …>
Synopsis 3: DEFINE_SYSTEM
Ensuing Prompt: SPECIES: <species1, species2, …>
5.4.8 EXCLUDE_UNUSED_SPECIES
Description: This command excludes species that do not enter any of your current defined phases from the
species list (shown by the LIST_SYSTEM SPECIES command sequence), in order to
save program workspace. However, it has been disabled since the TCC version N, since
computer memory is not a big issue nowadays.
5.4.9 EXIT
Description: This command terminates the program and returns to the operation system. Unless a SAVE
command has been executed (in either the GES, POLY or PARROT module), all data and
results will be lost.
Synopsis: EXIT
5.4.10 GET_DATA
Description: This command enters the defined system’s elements, species, phases, and the connected
parameters obtained from either the primarily switched or additionally appending
database(s) to the GES5 and/or DICTRA workspace. This command is necessary for
retrieval of all information concerning a defined system from the databank.
Synopsis: GET_DATA
Notes: Only after executing this command is it possible to 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.
5.4.11 GOTO_MODULE
Description: This command switches between modules. The name of the desired module must also be
typed. In order to obtain a list of available modules, press the <RETURN> key.
Synopsis 1: GOTO_MODULE <module name>
Synopsis 2: GOTO_MODULE
Ensuing Prompt: MODULE NAME: <module name>
Options: module name -- the name of the module to subsequently open.
Notes: Pressing the <RETURN> key without typing a specific and unique module name will list all
the available TCC modules, as below:
NO SUCH MODULE, USE ANY OF THESE:
SYSTEM_UTILITIES
GIBBS_ENERGY_SYSTEM
TABULATION_REACTION
POLY_3
BINARY_DIAGRAM_EASY
DATABASE_RETRIEVAL
FUNC_OPT_PLOT
REACTOR_SIMULATOR_3
PARROT
POTENTIAL_DIAGRAM
SCHEIL_SIMULATION
POURBAIX_DIAGRAM
TERNARY_DIAGRAM
MODULE NAME: <module name>
5.4.12 HELP
Description: This command lists the available commands or gives an explanation of a specified command.
5.4.13 INFORMATION
Description: This command gives information on a few subjects concerning the Database Module and
Database Management.
Synopsis: INFORMATION
Ensuing Prompt: WHICH SUBJECT /PURPOSE/: ?
Specify a subject (or its abbreviation as long as it is unique,
e.g., EA, EXT, EXA, etc.) on which information should be given,
from the following subjects that are important to the use of the
TDB Module:
PURPOSE
5.4.14 LIST_DATABASE
Description: This command lists all elements, species, phases or phase constituents in the present database.
Synopsis: LIST_DATABASE [keyword]
Options: keyword -- One of the keywords ELEMENTS, SPECIES, PHASES or CONSTITUENT
must be used to indicate what is to be listed:
ELEMENTS -- all available elements, their reference state, atomic mass, H298-H0 and
S298. Some 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 their stoichiometric factors.
PHASES -- all available phases together with the number of sublattices and the number of
sites in each sublattice.
CONSTITUENT -- 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 the following, for
example, a phase can consist of Fe, Mo, V, and Cr, and its 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 that
those interaction parameters are, by default, set to zero, which are originated from
binary systems not included in the database.
5.4.15 LIST_SYSTEM
Description: This command lists all elements, species, phases or phase constituents in the defined system.
It is functional only after a system has been defined.
Synopsis: LIST_SYSTEM [keyword]
Options: keyword -- One of the keywords ELEMENTS, SPECIES, PHASES or CONSTITUENT (as
described in the LIST_DATABASE command) must be used to indicate what to list.
5.4.16 MERGE_WITH_DATABASE
Description: This command gets data from a file or additional database and merge them with the current
set of data already read from another database. Data already read from another database and
stored in the Gibbs energy system is kept in the GES5 workspace. It replaces the old
APPEND_DATABSE command, and is almost identical to the updated APPEND_DATABSE
command except for that this command may enter parameters to already existing phases.
However, this command has been disabled since the TCC version P. It is recommended to
use the APPEND_DATABSE command instead. See Section 5.4.2 (APPEND_DATABSE
command) for more details.
5.4.17 NEW_DIRECTORY_FILE
Description: This command opens a new database initiation file (or called database directory file)
generated by a local database manager or user, for accessing additional databases that are
not predefined in the original database initiation file. It is available since the TCC version
M.
The original database initiation file is automatically copied by the TCC installation script to
the main database area, on a local computer for an independent installation locates or a
connected server for a server installation. That is the TC_INITD (or TC_INITD.TDB)
file in the \DATA\ area that is under the directory defined by the TCPATH parameter on PC
Windows XP/2000/NT4 environments, or the initd.tdb file in /data/ area that is
under the directory defined by the TC_DATA parameter on PC Linux and various UNIX
platforms (SUN Solaris, SGI, etc.). However, if there are too many databases at one
installation or if there are some user-specified databases for some particular purposes, a
local database manager can generate some additional database initiation files, or each user
could have his own initiation file.
The command switches the working initialization of database groups in the TDB module
among the original and additional database initiation files. TCC can use several additional
database initiation files that define accessing paths to various database groups (various
databases located in different subdirectories under the directory defined by the TCPATH or
TC_DATA parameter). All directly accessible databases remain as in the same group, until
this command is called or recalled.
Synopsis 1: NEW_DICTORY_FILE <another database-initiation-file name>
Synopsis 2: NEW_DICTORY_FILE
Ensuing Prompt: File with database directory /TC_INITD/: <database-initiation-file name>
5.4.18 REJECT
Description: This command rejects 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 on the list
cannot be entered without first being restored. The different names must be separated with a
space or comma. It is possible to use a wildcard “*” after a common part of names so that
all the elements/species/phases/constituents, which start with that common part and are
available in the currently switched or appending database, will be rejected from the defined
system.
This command can also reject a defined system, and thus reinitiate the entire TDB module
memory and GES5 workspace.
Notes: One of the keywords ELEMENTS, SPECIES, PHASES, CONSTITUENT or SYSTEM must be
used to indicate what is rejected:
ELEMENTS: The given elements will be rejected.
SPECIES: The given species will be rejected, making it impossible to form them from the
defined elements.
PHASES: The given phases will be rejected, making it impossible to form them from the
defined elements or species.
CONSTITUENT: The given constituent in one phase will be rejected.
SYSTEM: The TDB module is reset to its initial state; GES5 is reinitiated and data already
entered to GES5 will be lost.
In case of rejecting constituents, further details should be specified in the subsequent prompts:
PHASE: The name of the phase containing the constituent to be rejected.
SUBLATTICE NUMBER: The sublattice where the constituent enters (the first sublattice is
1). The question is omitted if there exists only one possible sublattice.
CONSTITUENT: The name(s) of the constituent(s) to be rejected.
5.4.19 RESTORE
Description: This command does the opposite of the command REJECT, i.e., restoring already explicitly
rejected elements, species, phases or constituents; but it can not restore a completely
rejected system. Phases/species/constituents that are possible to form from the defined
elements or species are entered to the list of system phases/species/constituents (shown by
the command LIST_SYSTEM). Phases/species/constituents that are not included on the list
can now be added to the list. The different names must be separated with a space or comma.
It is possible to use a wildcard “*” after a common part of names so that all the
elements/species/phases/constituents, which start with that common part and are available
in the currently switched or appending database, will be restored in the defined system.
Synopsis 1: RESTORE [keyword] (if keyword = ELEMENTS or SPECIES or PHASES)
Ensuing Prompt: keyword: <name1, name2, …>
Synopsis 2: RESTORE [keyword] (if keyword = CONSTITUENT)
Ensuing Prompt: PHASE: <phase name>
SUBLATTICE NUMBER: <sublattice number in the phase>
CONSTITUENT: <constituent(s) in the sublattice of the phase>
Options: keyword -- ELEMENTS/SPECIES/PHASES/CONSTITUENT
name& -- names of the pre-defined elements/species/phases/constituents
Notes: One of the keywords ELEMENTS, SPECIES, PHASES, or CONSTITUENT must be used to
indicate what is restored:
ELEMENTS: The given elements will be restored.
SPECIES: The given species will be restored and thus possible to form from the defined
elements.
PHASES: The given phases will be restored and thus possible to form from the defined
elements or species.
CONSTITUENT: The given constituent in one phase will be restored.
In case of restoring constituents, further details should be specified in the sequent prompts:
PHASE: The name of the phase containing the constituent to be restored.
SUBLATTICE NUMBER: The sublattice where the constituent enters (the first sublattice is
1).
CONSTITUENT: The name of the constituent to be restored.
5.4.20 SET_AUTO_APPEND_DATABASE
Description: This command enforces an automatic action that will append thermodynamic data from an
appending database (that is set by this command) for the same system with the same phases
which is defined in the current database (i.e., the default database in the TDB module, or set
by the SWITCH_DATABASE command, see Section 5.4.21). It is useful for simultaneously
retrieving both thermodynamic and mobility data for a defined system when performing a
DICTRA simulation.
This command should be used before defining a system (by the command DEFINE_SYSTEM,
DEFINE_ELEMENT, or DEFINE_SPECIES) and retrieving the data (executed by the
GET_DATA command) from the primarily switched database.
It works in a way that is similar to the APPEND_DATABASE database-name command
sequence (see Section 5.4.3), but only the phases that are also available in the primarily
switched database will be appended. There is no possibility to manually list, reject and/or
restore any phase that are available in the appending database. When retrieving data by
executing the GET_DATA command afterwards, all the phases that exist in the appending
database but not in the primarily switched database will be automatically rejected. The
prompt will be keep as for the primarily switched database, TDB_XYZ: (where XYZ stands
for the name of the primarily switched database) until the execution of the GET_DATA
command.
Therefore, if one wants to selectively append more phases from a secondary database to
a system that will be defined and retrieved from a primarily switched database, then
the APPEND_DATABASE command and those sequential commands (such as
DATABASE_INFORMATION, DEFINE_SYSTEM, DEFINE_ELEMENT,
DEFINE_SPECIES, LIST_SYSTEM, REJECT, RESTORE and GET_DATA) should be
used instead.
Synopsis 2: SET_AUTO_APPEND_DATABASE
Ensuing Prompt: DATABASE NAME /XYZ/: <additional database name>
Options: additional database name -- the name of an existing database or a USER database
definition file (***setup.TDB) that corresponds to the appending database.
Notes: Although it is impossible to manually list, reject and restore any phase from the appending
database, the TDB module will automatically ignore all the phases that do not exist in both
the primarily switched database and the appending database, and just append the data for
the phases (that are also available in the primarily switched database) from the appending
database, as informed on screen when executing the GET_DATA command afterwards.
5.4.21 SWITCH_DATABASE
Description: This command switches (or changes) from the current database to a new one, and reinitializes
the entire TDB module for defining a system and the GES5 workspace for storing retrieved
data. All the directly connected databases as predefined by the original database initiation
file (TC_INITD file in the /DATA/ area for PC Windows XP/2000/NT4 environments, or
the initd.tdb file in the \data\ area for all kinds of UNIX/Linux platforms), or by a
user-specified database initiation file after using the NEW_DIRECTORY_FILE command,
are listed by pressing the <RETURN> key without giving any argument. The user can also
supply his own database by first giving the argument USER and then the database name
and, if it is not located in the current working directory, its correct path. The second part of
the prompt TDB_XYZ indicates the present database XYZ.
Notes: DATABASE NAME: The new database is specified by typing the abbreviation given in the
front of one of the available predefined databases. For your convenience when
switching/appending your own databases or lately purchase databases from TCS or its
agents, you can simply add them to the predefined database list in the database initiation file
TC_INITD or initd.tdb of your installed TCC/TCW/DICTRA packages; please refer to
Section 2.2.2.2, as well as to Section 3.2 of the Thermo-Calc Database Guide.
If the USER option is selected, a file that contains the definition of the USER database, and its
correct path, must be provided. Under various UNIX/Linux platforms, the filename of a
USER database, or one of the predefined names, can be used under the ensuing prompt:
FILENAME: A valid filename for the USER database definition file (***setup.TDB) or a
predefined database name, with the correct path. The default filename extension is .TDB.
Under the Windows XP/2000/NT4 environments, an Open file window will be popped up 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, so that the path (in the Look in box) and
database definition (setup) file name (in the File name box) can be appropriately
specified. The user can then open the chosen USER database, or may cancel such a Window
session; in the latter case, the program will list all predefined databases and the user can
then specify one of them to be switched on or proceed the USER option again.
The USER database is used without reinitiating the Gibbs energy system, data from different
databases can thus be combined. Therefore, the SWITCH_DATABASE USER command
sequence is equivalent to the APPEND_DATABASE command. The result of a combination
must be examined very carefully, because differences in standard states, phase models and
names can be disastrous. If the same parameters occur in several such switched or appended
databases, the last one retrieved will be used in the calculations. It is not advisable to use
this method for large databases since they load very slowly.
After this command, those commands for defining system (in terms of either elements or
species), rejecting/restoring phases or species, retrieving data, as well as for appending data
from additional database(s), can be proceeded.
A * can also be used at the end of a name to indicate that all names starting with the letters up to the * are
referred.
7.1 Introduction
The TABulation module, TAB ⇔, in the Thermo-Calc software is designed to tabulate all kinds of
thermodynamic functions of any type of substances, stoichiometric or solution phases, or reactions.
The current TAB module always evaluates the most stable species of a substance in either a homogeneous state
or in a reaction. Results are listed in table forms or plotted as graphs.
This module can also tabulate thermodynamic functions of a pure stoichiometric phase or of a solution phase at
a fixed composition.
Furthermore, this module can also tabulate various kinds of partial derivatives for a pure stoichiometric phase or
solution phase at a given composition.
TAB:?
BACK LIST_SUBSTANCES SWITCH_DATABASE
ENTER_FUNCTION MACRO_FILE_OPEN TABULATE_DERIVATIVES
ENTER_REACTION PATCH TABULATE_REACTION
EXIT SET_ENERGY_UNIT TABULATE_SUBSTANCE
GOTO_MODULE SET_INTERACTIVE
HELP SET_PLOT_FORMAT
TAB:
⇔
Revision History of the TAB-Module User's Guide:
Nov 1985 First release (Edited by Bo Sundman)
Oct 1993 Second revised release (Edited by Birgitta Jönsson and Bo Sundman)
Sept 1998 Third revised release (Edited by Bo Sundman)
Jun 2000 Fourth revised and extended release (Edited by Pingfang Shi)
Nov 2002 Fifth revised release (Edited by Pingfang Shi); with minor changes in 2004/2006
7.2.1 HELP
Description: This command lists the available commands or gives an explanation of a specified command.
Synopsis 1: HELP <command name>
Synopsis 2: HELP
Ensuing Prompt: COMMAND: <command name>
Options: command name -- the name of the command (one of the TAB-module commands) to obtain
help.
Notes: Pressing the <RETURN> key without typing a specific and unique command name will list all
the available TAB commands.
Specifying a unique TAB command will print an explanation of that command on the screen
(usually the same text as found in this User’s Guide).
Typing a command abbreviation which is not unique will list all matching commands. The
desired command information can be obtained by typing a unique abbreviation or the
complete command name.
7.2.2 GOTO_MODULE
Description: This command switches between modules. The name of the desired module must also be
typed. In order to obtain a list of available modules, press the <RETURN> key (also see
Section 5.4.11).
Synopsis 1: GOTO_MODULE <module name>
Synopsis 2: GOTO_MODULE
Ensuing Prompt: MODULE NAME: <module name>
Options: module name -- the name of the module to subsequently open.
Notes: Pressing the <RETURN> key without typing a specific and unique module name will list all
the available TCC modules, as below:
NO SUCH MODULE, USE ANY OF THESE:
SYSTEM_UTILITIES
GIBBS_ENERGY_SYSTEM
TABULATION_REACTION
POLY_3
BINARY_DIAGRAM_EASY
DATABASE_RETRIEVAL
REACTOR_SIMULATOR_3
PARROT
POTENTIAL_DIAGRAM
SCHEIL_SIMULATION
POURBAIX_DIAGRAM
TERNARY_DIAGRAM
MODULE NAME: <module name>
7.2.3 BACK
Description: This command switches control back to the most recent module. See also the GOTO_MODULE
command. Going from the POST module (post-processor), BACK goes only to the TAB or
POLY module (from where the POST module entered).
Synopsis: BACK
7.2.4 EXIT
Description: This command terminates the program and returns to the operating system. Unless a SAVE
command has been executed (in either the GES, POLY or PARROT module), all data and
results will be lost.
Synopsis: EXIT
7.2.5 PATCH
Description: This is a command intended only for system debugging; only those who think they know what
they are doing should use it!
Synopsis: PATCH
7.3.1 TABULATE_SUBSTANCE
Description: This command can be used to tabulate various thermodynamic properties of a substance
(with a given chemical formula but it is not certain in which phase/state it may form) or a
pure stoichiometric phase (getting data from a specific substance database such as
SSUB3, or from a specific solution database such as SSOL2 and TCFE3), or of a solution
phase with a fixed composition (getting data from a specific solution database such as
SSOL2 and TCFE3), under a constant pressure and various temperatures.
In case of a substance, the default database is set as the SSUB database. The user can use the
SWITCH_DATABASE command in either the TDB or TAB module to set an appropriate
database as the current database for subsequent tabulations. The notation for a chemical
formula of a substance treats upper and lower case as the same, thus elements with a single
letter symbol must be followed by a stoichiometric factor, even if it is 1. The symbol CO
will be taken as cobalt, carbon monoxide must be written as C1O1 (or O1C1). It does not
matter how you arrange the order of the elements when you type the chemical formula (e.g.,
calcite as CaC1O3 or CaO3C1 or C1O3Ca or C1CaO3 or O3C1Ca), since the TAB
module will search for the available species with the defined elements and their
stoichiomtric coefficients through all the species in the current database. If the specified
substance is not valid species in any of available phases in the current database, a warning
message appears on screen (when retrieving data) about what is incomplete or
inappropriate, and thus the tabulation will fail. For this reason, the command does not work
for charged species, e.g., H1+1, H1-1, H2+1 etc. in GAS phase, Fe1/+2, Cr1/+3, O1/-
2, etc. in LIQUID phase, H+1, OH-1, Fe+2, etc. in AQUEOUS phase. Note that the module
will automatically find out in what form (phase) the specified substance is the most stable
under a certain temperature range at the given pressure, and thus the tabulated
thermodynamic data are always for the most stable substances under various temperatures.
In case of a pure stoichiometric phase or a solution phase with a fixed composition, the user
must have already defined the system and gotten thermodynamic data from an appropriate
solution database in the TDB module before using this TAB command. The phase name can
be given either upper or lower or mixed cases, and can be abbreviated until it is unique,
e.g., fcc, BCC, Liq, cem, Al5Fe2, 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
will then optionally go through a specific sublattice or all the possible sublattices for the
specified phase, and will go through 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), when it prompts for inputs of site fractions
for various species possibly occupying such sublattices. Therefore, one can tabulate
thermodynamic properties 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).
Moreover, the variation for one of the tabulated properties for a substance, a pure
stoichiometric phase, or a solution phase with a fixed composition can be plotted against
temperature as a graph or saved as an experimental file (with an extension of .EXP).
Synopsis: TABULATE_SUBSTANCE
Ensuing Prompt: 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 database. If the SSUB database is not available
for the current TCC installation and a specific database has not been switched on yet,
C /1/: .05
N /1/: .05
Pressure /100000/: <pressure of interest, in pa>
Specify the constant pressure condition 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.
Output file /SCREEN/: <RETURN for SCREEN, or type a file name>
If typing <RETURN>, 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 will be both shown on screen and saved as an *.EXP or
an *.TAB file, and the program will further prompt the following questions:
Graphical output /Y/: <Y or N>
If answering N (No), the program will create the table output on the screen, and also
save the same table as a simple textual file with the default extension .TAB under the
current working directory. In this case, the graph cannot be plotted.
If answering Y (Yes), the program will both create a table with all thermodynamic
functions as normal (which will be shown on screen) and generate a graph with
temperature on the X-axis and a chosen property on a certain column in the table on
the Y-axis (which will be plotted on screen and saved as an *.EXP file), and will
further ask for which column to be plotted on the resulting graph:
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 (verse
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 will be
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 will appear on the screen as usual. The plot will
then appear on the screen, followed by a POST: prompt. The POST module (post-
processor) 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 will always take you back to the TAB module.
Example Output 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] (using the
SSOL2 database), the following table is obtained by typing <RETURN> 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
2002.10.23 11.55.46
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
Example Output 2: For the H2 species as a pure substance (using the SSUB3 database), the following table is
obtained by typing <RETURN> 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
2002.10.23 14. 5.26
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
1800.00 3.35526E+01 4.61426E+04 1.84823E+02 -2.86539E+05
1900.00 3.39415E+01 4.95175E+04 1.86648E+02 -3.05113E+05
2000.00 3.43045E+01 5.29300E+04 1.88398E+02 -3.23866E+05
TAB:
7.3.2 TABULATE_REACTION
Description: With this command, thermodynamic property changes for a chemical reaction can be
tabulated as a table, or variation of one chosen property can be plotted against temperature
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 the SWITCH_DATABASE command (thus there is no need to
use the TDB module before this command). The user may select any other database by
using the SWITCH_DATABASE command in the TAB module.
It is very important to keep the rules for specifying a reaction in mind:
1) The reaction is specified, by giving the reactants and products, such as Ga+S=GaS, 5Al+2Fe=Al5Fe2.
Under UNIX/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 XP/2000/NT4, the TAB module only
accepts upper cases, e.g., GA+S=GAS, 5AL+2FE=AL5FE2.
2) Elements with a single letter symbol must be followed by a stoichiometry factor, even if it is 1; thus, the
symbol CO will be taken as cobalt, carbon monoxide must be given as C1O1 (or O1C1).
3) All the reactants and products must have been 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 instance, if a database does not have a species defined with a stoichiometry of
Al5Fe2 {e.g., the Al and Fe (but not Al5Fe2) may have been defined as species, and the Al5Fe2 phase
may have been 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 can not be tabulated.
4) One should make sure that the Gibbs free energy expression for a stoichiometric phase is really
corresponding to the species-stoichiometry. For instance, if a database has a definition of Function
GAL5FE2 for 1/7 of the AL5FE2 formula, then the relation G(Al5Fe2)=7*GAL5FE2 must have been
defined; otherwise, the tabulated thermodynamic properties for the reaction 5Al+2Fe=Al5Fe2 will be
wrong.
Synopsis: TABULATE_REACTION
Ensuing Prompt: Same reaction? /Y/: <Y or N>
This prompt appears if there is at least one reaction already defined either by the
command ENTER_REACTION or TABULATE_REACTION. If answering Y (Yes),
the next prompt for defining reaction will not appear.
Reaction: <chemical reaction equation>
& <RA+RB=PC+PD> (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>
Specify the constant pressure condition 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.
Output file /SCREEN/: <RETURN for SCREEN, or type a file name>
If typing <RETURN>, 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 will be both shown on screen and saved as an *.EXP or
an *.TAB file, and the program will further prompt the following questions:
Graphical output /Y/: <Y or N>
If answering N (No), the program will create the table output on the screen, and also
save the same table as a simple textual file with the default extension .TAB under the
current working directory. In this case, the graph cannot be plotted.
If answering Y (Yes), the program will both create a table with all thermodynamic
functions as normal (which will be shown on screen) and generate a graph with
temperature on the X-axis and a chosen property on a certain column in the table on
the Y-axis (which will be plotted on screen and saved as an *.EXP file), and will
further ask for which column to be plotted on the resulting graph:
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 (verse
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 will be
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 will appear on the screen as usual. The plot will
then appear on the screen, followed by a POST: prompt. The POST module (post-
processor) 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 will always take you back to the TAB module.
Example Output: For the reaction Ga+S=GaS (using the SSUB database), the following table is obtained by
typing <RETURN> 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
2000. 7. 3 16.54. 0
Reaction: S+GA=GA1S1
S stable as S_S
GA stable as GA_S
GA1S1 stable as GA1S1_S
******************************************************************************
T 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
Temperature range exceeded for GA1S1
7.3.3 ENTER_REACTION
Description: This command is identical to 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 the SWITCH_DATABASE command (thus there is no need to
use the TDB module before this command). The user may select any other database by
using the SWITCH_DATABASE command in the TAB module.
The rules for specifying a reaction are the same as in the command
TABULATE_REACTION (see Section 7.3.2).
Synopsis: ENTER_REACTION
Ensuing Prompt: Same reaction? /Y/: <Y or N>
This prompt appears if there is at least one reaction already defined either by the
command ENTER_REACTION or TABULATE_REACTION. By answering Y
(Yes), the next prompt for defining reaction will not appear.
Reaction: <chemical reaction equation>
& <RA+RB=PC+PD> (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>
Output file /SCREEN/: <RETURN for SCREEN, or type a file name>
If typing <RETURN>, 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 will be both shown on screen and saved as an *.EXP or
an *.TAB file, and the program will further prompt the following questions:
Graphical output /Y/: <Y or N>
If answering N (No), the program will create the table output on the screen, and also
save the same table as a simple textual file with the default extension .TAB under the
current working directory. In this case, the graph cannot be plotted.
If answering Y (Yes), the program will both create a table with all thermodynamic
functions as normal (which will be shown on screen) and generate a graph with
temperature on the X-axis and a chosen property on a certain column in the table on
the Y-axis (which will be plotted on screen and saved as an *.EXP file), and will
further ask for which column to be plotted on the resulting graph:
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 (verse
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 will be
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 will appear on the screen as usual. The plot will
then appear on the screen, followed by a POST: prompt. The POST module (post-
processor) 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 will always take you back to the TAB module.
7.3.4 SWITCH_DATABASE
Description: By default, the TAB module will always automatically retrieve thermodynamic data for
substances or reactant/product substances in a defined reaction, or for pure phases or
solution phases, from the SSUB Substances Database. However, the user may select
thermodynamic data from another database (for instance, SSOL Solutions Database, TCFE
Steels/Fe-Alloys Database). This has been made possible since the TCC version N, by using
the SWITCH_DATABASE command.
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 GES5 workspace for
storing retrieved data. All the directly connected databases as predefined by the original
database initiation file (TC_INITD file in the /DATA/ area for PC Windows XP/2000/NT4
environments, or the initd.tdb file in the \data\ area for all kinds of UNIX/Linux
platforms) are listed by pressing the <RETURN> key without giving any argument. The user
can also supply his own database by first 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 has been switched on, the TDB
command GET_DATA (Section 5.4.11) is automatically executed; therefore, the TAB
module will immediately show on screen a message like below (in case the PSUB database
is specified):
TAB: SW PSUB
THERMODYNAMIC DATABASE Module running on PC/Windows NT
Current database: TC Public Substances Database
VA DEFINED
REINITIATING GES5 .....
VA DEFINED
ELEMENTS .....
SPECIES ......
PHASES .......
PARAMETERS ...
FUNCTIONS ....
-OK-
TAB:
Notes: DATABASE NAME: The new database is specified by typing the abbreviation given in front
of one of the available predefined databases. For your convenience when
switching/appending your own databases or lately purchase databases from TCSAB or its
agents, you can simply add them to the predefined database list in the database initiation file
TC_INITD or initd.tdb of your installed TCC/TCW/DICTRA packages; please refer to
Sections 2.2.2.2 and 6.2.
If the USER option is selected, a file that contains the definition of the USER database, and its
correct path, must be provided. Under various UNIX/Linux platforms, the filename of a
USER database, or one of the predefined names, can be used under the ensuing prompt:
FILENAME: A valid filename for the USER database definition file (***setup.TDB) or a
predefined database name, with the correct path. The default filename extension is .TDB.
Under the Windows XP/2000/NT4 environments, an Open file window will pop up 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, so that the path (in the Look in box) and
database definition (setup) file name (in the File name box) can be appropriately
specified. The user can then open the chosen USER database, or may cancel such a Window
session; in the latter case, the program will list all predefined databases and the user can
then specify one of them to be switched on or proceed the USER option again.
Unlike the situation in the TDB module, if a USER database is used, the Gibbs energy system
will also be reinitialized and only data from the USER databases will be retrieved for
tabulations.
7.3.5 ENTER_FUNCTION
Description: This command can be used to define a new thermodynamic function to be included in the
sixth column of tabular output. The last entered function will be 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.
A limited number of state variables, G, H, S, T, P, V and H298 can be used in the
function definition. For instance, -(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.
Synopsis: ENTER_FUNCTION
Ensuing Prompt: Name: <name>
Function: <definition>
Options: name -- name of the function (maximum 8 characters)
definition -- definition of the function. A long function can be typed over several lines.
A function should be terminated by a semicolon ";" or an empty line.
Example Output: 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 <RETURN> 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/:
Low temperature limit /298.15/:
O U T P U T F R O M T H E R M O - C A L C
2000. 7. 6 12.31. 3
7.3.6 TABULATE_DERIVATIVES
Description: This command is mainly for system debugging purposes and for experienced users. It will
automatically calculate all partial derivatives for a pure phase or solution phase at a given
composition. Note that this is not the same as the chemical potential!
Before this command, the user must have already defined the system and gotten
thermodynamic data from an appropriate solution database in the TDB module before using
this command. The phase name can be given either upper or 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 will then optionally go through a specific sublattice or all the
possible sublattices for the specified phase, and will go through 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), when it prompts for
inputs of site fractions for various species possibly occupying such sublattices. Therefore,
one can tabulate thermodynamic properties 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).
Synopsis: TABULATE_DERIVATIVES
Ensuing Prompt: Phase Name /XXXX/: <name of the phase>
Specify the phase name of a pure phase or a solution phase, e.g., FCC, CEMENTITE,
LIQUID, SLAG, AQUEOUS, GAS, Fe-S, Wustite, Fe2O3-Hematite, etc.
XXXX is the last phase the TAB module accounted for. It will automatically prompt
for other options and necessary inputs for the definition of the composition of the
specified phase.
For a pure phase (such as Fe-S, Wustite, and Fe2O3-Hematite), no further
composition definition is needed. For a solution phase 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 n-th species will automatically be assigned as the rest. Note
that the sum of input site fractions must not exceed unity. For instance, 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 will be 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 will first ask 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 will prompt 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 n-th species on each of the sublattices will automatically be
assigned as the rest. For instance, 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 will be 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
Temperature /2000/: <temperature of interest, in K>
Specify the temperature of interest in K.
Pressure /100000/: <pressure of interest, in pa>
Specify the pressure of interest in Pa.
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/:
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/:
Pressure /100000/:
TAB:
7.3.7 LIST_SUBSTANCES
Description: This command makes it possible to list all species in the current database with a certain set of
elements. This is useful for specifying species as pure substances in the
TABULATE_SUBSTANCE command.
Synopsis: LIST_SUBSTANCES
Ensuing Prompt: With elements /*/ <* or a set of elements>
The elements building up various species must be specified. * means all elements in
the current database.
If some elements are specified, it also prompts for how to list species with such
elements.
Exclusively with those elements /Y/: <Y or N>
All species (no phases!) in the current database will be searched. If the answer to this
question is Y (the default), no other elements will be allowed in searching, except
for those specified. If N is given as the answer, all species containing at least one
of the specified elements will be listed.
Example Output: For the SSOL database, various options gives different lists, as given below:
TAB:l-sub
With elements /*/:
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
N NA NB
ND NI NP
O 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:l-sub
With elements /*/: fe cr ni c n o
Exclusivly with those elements? /Y/:
C CR FE
N NI O
C1 C2 C3
C4 C5 C6
C7 N2 O2
TAB:l-sub fe cr ni c n o
Exclusivly with those elements? /Y/: n
C CR FE
N NI O
C1 C2 C3
C4 C5 C6
C7 N2 O2
H2O O1H1/- H1O1/-1
SI1O2 CA1O1
TAB:
7.4.1 SET_ENERGY_UNIT
Description: This command sets the energy unit as calories or joule, in all the subsequent outputs (tables,
graphs, and files) in the current calculation operation.
Synopsis 1: SET_ENERGY_UNIT <unit>
Synopsis 2: SET_ENERGY_UNIT
Ensuing Prompt: Energy unit (C=Cal, J=Joule) /J/: <unit>
Options: unit -- C (calories) or J (joule)
7.4.2 SET_PLOT_FORMAT
Description: This command sets the plotting format while the result is plotted on screen or the file is saved
as EXP file (using Dataplot format; please refer to Parts 12, 13 and 15) and TAB file (as a
simple text file as shown on screen). Important Note: This command is different from the
SET_PLOT_FORMAT command in the POST module, but is identical to the command
SET_PLOT_ENVIRONMENT command in the SYS (system utility) monitor.
With this command, the user can set the format of the graphical output to different graphical
devices. The default unit (1 for Windows XP/2000/NT4, and 9 for Linux and all types of
UNIX platforms) may be altered with the SET_PLOT_ENVIRONMENT command in the
SYS monitor or by your TC.INI file.
Synopsis: SET_PLOT_FORMAT <unit>
Options: unit -- the default set unit is 1 (Windows XP/2000/NT4) or 9 (Linux and all types of
UNIX platforms) for graphical presentation on screen, or all other units for outputs as
*.EXP and *.TAB files.
7.4.3 MACRO_FILE_OPEN
Description: MACRO is an extraordinary convenient and easier way of pre-defining sequences of various
TCC (and DICTRA) commands on a simple textual file (normally with the default
extension “TCM” in TCC, or “DCM” in DICTRA) and then executing them by this
command. This command can be operated within various modules (SYS, POLY, PARROT
and TAB modules in the TCC software; SYS, POLY, PARROT and DICTRA_Monitor
module in the DICTRA software).
This is extremely useful when the same/similar calculations are made often with just some
small changes (in system definitions, conditions, plotting settings, etc.). One good case for
applying this feature is when calculating diagrams from an assessment. With a MACRO
file, all kinds of legal TCC (and DICTRA) commands can be stored in the file, and you just
need to type the MACRO command preceded by the file name.
The MACRO file can contain any legal TCC (and DICTRA) commands. The MACRO must
be terminated with the command EXIT, or interrupted in the SYS, GES, POLY, PARROT
or POST modules with the command SET_INTERACTIVE.
The interesting facility of a MACRO is to allow for some interactions with the user. Thus you
can have input in the following way:
GO POLY-3
SET AXIS VAR 2 T
@?Low-temperature-limit
@?High-temperature-limit
The MACRO will stop at the “@?”, write the text after “?” on the screen and wait for user
input. It will use the user input as input to the Thermo-Calc program; in this case values of
lower and higher axis limits.
You can have MACRO variables which are denoted #1, #2, etc. Max 9 variables. These can
be assigned values by:
@#3First element?
This will write the text after “@#3” as prompt to the user and wait for user input. The input
will be assigned to MACRO variable 3. You can then use these variables in different parts
of the macro. For example,
DEFINE-SYSTEM ##3
A textual copy of the content of MACRO variable 3 will be inserted at “##3”. You can use
this in more complicated commands also.
SET AXIS VAR 1 x(##3) 0 1,,,
will set the mole fraction of macro variable 3 as axis 1.
Note again that the MACRO commands must be terminated by a command
SET_INTERACTIVE when you are in POLY, POST, SYS, GES or PARROT module.
A MACRO file can have a pause at “@&”, but one may prevent stopping at any pause by
typing any character (except Y) after the MACRO file name.
A MACRO file can also have as many as possible comment lines began with the “@@” signs.
Such lines will provide a great assistant in easily documenting the MACRO file, while they
will not be considered as command lines and thus will not affect the proceeding of all the
normal Thermo-Calc commands when the file is called by TCC.
A MACRO file can be automatically generated by the TCC software, if in the SYS module
the SET_LOG_FILE command is used and an *.LOG file name is given before any other
SYS/TDB/TAB/GES/POLY/POST/PARROT/ED-EXP command or special module
command. Such an *.LOG file is a simple textual file, and by using any simple textual
editor (such as Notepad, Wordpad, PFE, Emacs, vi, etc.) it can be further edited: e.g., taking
away unnecessary command lines, modifying some commands, settings and definitions,
adding some pausing points, adding some helpful commenting lines began with “@@” signs,
etc. Then it can be saved as a MACRO file with the standard extension “TCM”.
An experienced user can also simply write/edit an appropriate MACRO file for desired
calculations/simulations, using any simple textual editor outside the TCC (and DICTRA)
program.
Since the TCC version N, a MACRO file can have 5 nested levels, i.e., a MACRO file can
call another MACRO file, and if one sub-level MACRO is terminated by the
SET_INTERACTIVE command it will be resumed at next command in the previous
MACRO. If it is terminated by end-of-file, the TCC program will be aborted. This
nice feature can be utilized for many different purposes, especially when a user is
performing alloy design which may require many (say hundreds) of
calculations/simulations on similar material system/processes (specified in many different
but appropriately-documented MACRO files which are organized in up-to-5 levels) during
a certain period of time (e.g., in an evening), the user can simply run the main MACRO (on
the top level) at a certain time (e.g., before leaving office) and afterwards (e.g., next
morning) the user can systematically and efficiently check/compare/analysis the results
(which have been saved as various graphical files, and/or EXP/TXT/XLS/… files).
It is worth to mention that: by simply adding the SYS_Module command SET_ECHO at the
every beginning of a MACRO file [or of the primary MACRO file on the top level if any
sub-level(s) of MACRO files are used], it is very convenient and extremely useful to
automatically show up on screen the complete details of various commands in all the
sequential operations in the TCC (and DICTRA) software, that are enforced according to
the MACRO file(s).
More Notes: When using a MACRO file that is supposed to plot graphs on screen, but the command
SET_PLOT_FORMAT has been to 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, i.e., 1 (Windows XP/2000/NT4) or 9 (Linux and all types of
UNIX platforms).
For an extensive example, please refer to the TCEX12.TCM on the TCC installation area
\TCEX\ and in the TCCR Examples Book. For more details on how a MACRO is
constructed, please refer to Sections 8.10.26 and 14.2.8.
7.4.4 SET_INTERACTIVE
Description: This command resets the input and output units to their initial values, i.e., keyboard and
screen. Remember to add this as the last command to your MACRO files.
Synopsis: SET_INTERACTIVE
If you want a graphical plot, an *.EXP file with X/Y coordinates of plotted diagram, and an *.TAB file for the
output table, just give the same TABULATE_SUBSTANCE or TABULATE_REACTION) command twice (with
two different file names under the “Output file” prompt).
⇓
Revision History of the POLY Module User's Guide:
Mar 1991 First release (Edited by Bo Jansson and Bo Sundman)
Oct 1993 Second revised release (with version J) (Edited by Bo Jansson and Bo Sundman)
Oct 1996 Third revised release (with version L) (Edited by Bo Sundman)
Nov 1998Fourth revised release (with version M) (Edited by Bo Sundman)
Jun 2000 Fifth revised and extended release (Edited by Pingfang Shi)
Nov 2002Sixth revised and extended release (Edited by Pingfang Shi)
June 2004 Seventh revised release (Edited by Pingfang Shi)
May 2006 Eighth revised and extended release (Edited by Pingfang Shi)
Retrieving Data:
Thermodynamic data for the system must first be retrieved from appropriate database(s) in the
TDB module. In the specialized and advanced modules like BINARY, TERNARY,
POURBAIX and SCHEIL, there is an automatic retrieval of the necessary thermodynamic
data. One may also use the DEFINE_MATERIAL command in the POLY module. If a
calculation has already been made and SAVEd, one may instead READ from the SAVEd
file.
Setting Conditions:
After getting all available thermodynamic data for a defined system, the user must give a
number of conditions in the POLY module, in order to make the degree of freedom in the
multicomponent system equal to zero. Conditions are set by the SET_CONDITION
command. One may also use the CHANGE_STATUS command if there is a condition that a
specific phase is in the FIXED status, i.e., as a stable phase. Definitions of system
components, and their reference states, can be changed by the DEFINE_COMPONENT and
SET_REFERENCE_STATE commands, respectively. Besides the standard state and
derived variable, additional variables, functions and tables can be defined by the
ENTER_SYMBOL command.
Calculating Equilibria:
The COMPUTE_EQUILIBRIUM command in the POLY module tries to find the stable phase
assemblage at the given equilibrium conditions for the heterogeneous interaction system.
The result can be obtained by the LIST_EQUILIBRIUM command. If a calculation does
not converge, you can try to modify the conditions to be as simple as possible. The simplest
types of conditions are fixed temperature and pressure and an overall composition. Even if
that is not what you want to calculate, it may help to calculate an initial equilibrium with
such conditions as a first step. After that, you may try to play with phase status, enthalpy
conditions, compositions of individual phases, etc. It is easy to set non-sensible conditions
and the program will not tell you that the conditions are impossible in any other way than
failure to calculate the equilibrium.
Plotting Diagrams:
Phase diagrams and property diagrams are plotted in the post-processor, namely the POST
module. After a STEP or MAP command, axes are automatically set, using some default
variables (normally the axis variables set before stepping or mapping) as the X/Y axis
variables. Otherwise, one must first use the command SET_DIAGRAM_AXIS to define the
X/Y-axes. Using various POST-module commands can further refine the diagram
appearances, and can export the generated diagrams in various graphical forms.
MNEMONIC MEANING
T Temperature (in K)
N(H) Total number of moles of the hydrogen component
X(FE) Overall mole fraction of the FE component
W(AL2O3) Mass fraction of the AL2O3 component
X(LIQUID,FE) Mole fraction of the FE component in LIQUID phase
NP(BCC) Mole number of the BCC phase
BP(BCC) Mass (grams) of the BCC phase
MUR(C) Chemical potential of the C component (wrt its defined reference state)
ACR(C) Activity of the C component (wrt its defined reference state)
LNACR(C) Natural logarithm of activity of the C component [lnACRC(C)=MUR(C)/RT]
HM Total enthalpy per mole of components in the system (in J/mol)
HM(FCC) Enthalpy per mole of components of the FCC phase (in J/mol)
Note that the state variables involving components can be used for the defined components, but not for any
species. To define new components in a defined system, the DEFINE_COMPONENT command should be used.
The lists below, of basic intensive and extensive state variables, as well as of derived variables (partial
derivatives), are not exhaustive, but the remaining state variables and partial derivatives can be obtained
by using appropriate combinations of the predefined ones. For more details, please refer to Sections 2.5 and
2.6 in the document Thermo-Calc Software System).
However, when listing out the equilibrium results (through the LIST_EQUILIBRIUM command) the
temperature condition is additionally shown up in oC unit. Moreover, in the POST module one may simply
use the “T_C” quantity as an axis variable; and in both the POLY and POST module one can additionally
enter some appropriate functions in order to convert such variables to other units through the
ENTER_SYMBOL command.
Note: Suffixes M, W, V and F can be applied to these quantities (as shown in the Examples column).
The units for the above variables (when without any suffix) in the POLY module are always as:
J for H, H(phase); G, G(phase); A, A(phase); and U, U(phase)
J/K for S, S(phase)
m3 for V, V(phase)
When a suffix (M/W/V/F) is used in such properties, their units should be alternated according to the
suffix-implication [M (per mole), W (per mass in grams), V (per volume in m3) or F (per mole formula unit)]. For
instance, for the M-suffixed quantities, their units should be:
J/mol for HM, HM(phase); GM, GM(phase); AM, AM(phase); and UM, UM(phase)
J/mol/K for SM, SM(phase)
m3/mol for VM, VM(phase)
In both the POLY and POST module one can additionally enter some appropriate functions in order to
convert such variables to other units through the ENTER_SYMBOL command.
Some energetic quantities (such as heat capacity, thermal expansion, isothermal compressibility), as well as
variations of some energetic and/or compositional quantities with controlling conditions, can be defined as
partial derivatives (derived variables). For details, refer to Section 8.3.3.9 below and Section 2.6 in the
document Thermo-Calc Software System.
As a unique feature, the Thermo-Calc software can calculate chemical driving force (i.e., thermodynamic
factor) for phase transformation (precipitation of specific phase in a defined system). This energetic quantity
can only be applied to a phase and cannot be used as conditions. Moreover, it should always be used with a
specific suffix (M/W/V/F):
Note: Suffixes M, W and V may be applied to these quantities (as shown in the Examples column).
Remark: The combinations NM and BW are illegal (and not very interesting as they will always be unity)!
BV is the density of the system.
The units for the above variables and their suffixed quantities in the POLY module are always as:
N in moles; NW in mol/g; NV in mol/m3
B in grams; BM in g/mol; BV in g/m3
In both the POLY and POST module one can additionally enter some appropriate functions in order to
convert such variables to other units through the ENTER_SYMBOL command.
In both the POLY and POST module one can additionally enter some appropriate functions in order to
convert such variables to other units through the ENTER_SYMBOL command.
Important Note 1: Other two derived quantities for system components, i.e., X%(comp) [=X(comp)*100]
and W%(comp) [=W(comp)*100], can be used as axis variables for plotting in the POST module,
but they must be instead specified as Mole-Percent <comp> and Weight-Percent
<comp>, respectively. Please remember that neither of these two variables or relevant syntaxes
can be used as conditions in the POLY module.
Important Note 2: When plotting mole-fraction or mass-fraction of a component in the system as an axis
available in the POST module, it is recommended to use Mole-Fraction <comp> or
Weight-Fraction <comp>, rather than X(comp) or B(comp).
Note: Suffixes M, W and V can be applied to these quantities (as shown in the Examples column). The
normalizing properties are for the total system.
The units for the above variables and their suffixed quantities in the POLY module are always as:
NP(phase) in moles; NPM(phase) as mole fraction;
NPW(phase) in mol/g;
NPV(phase) in mol/m3
BP(phase) in grams; BPM(phase) in g/mol;
BPW(phase) as mass fraction;
BPV(phase) in g/m3
VP(phase) in m3; VPM(phase) in m3/mol;
VPW(phase) in m3/g;
VPV(phase) as volume fraction
In both the POLY and POST modules, one can additionally enter some appropriate functions in order to
convert such variables to other units through the ENTER_SYMBOL command.
Note: These special quantities for a specific phase are dependent upon the thermodynamic model chosen
for the phase. They cannot have any normalizing suffix (M/W/V/F); while the reference-state
suffix R is legal to be added to such special variables but a R-suffixed quantity is always identical to
its original variable [e.g., QFR(ph) = QF(ph)] under a specific condition in a defined system,
i.e., the phase stability functions, Curie temperature and Bohr magneton number of various phases
do not change along with any possibly re-defined reference states of system components, when the
definitions of the system conditions remain unchanged. They cannot be used as conditions.
Note: This quantity is dependent upon the thermodynamic model chosen for the specific phase.
H.T Heat capacity of the system ∂H/∂T = Cp*N (if P is a condition in a close system)
multiplied by total mole number of ∂H/∂T = Cv*N (if V is a condition in a close system)
components
H(ph).T Heat capacity of a phase multiplied by Cp(ph)*NP(ph)+HM(ph)*∂NP(ph)/∂T (if P is a condition)
the mole number of the phase, and plus a Cv(ph)*NP(ph)+HM(ph)*∂NP(ph)/∂T (if V is a condition)
HM(ph)*∂NP(ph)/∂T term
VM.T Thermal expansivity of the system ∂VM/∂T = α*VM
(already multiplied by the total molar
volume)
VM(ph).T Thermal expansivity of a phase (already ∂VM(ph)/∂T = α(ph)*VM (ph)
multiplied by its molar volume)
V.T Thermal expansivity of the system ∂V/∂T = α*V
(already multiplied by the total volume)
V(ph).T Thermal expansivity of a phase (already ∂V(ph)/∂T = α(ph)*V(ph)
multiplied by the phase volume) = α(ph)*VM(ph)*NP(ph)+VM(ph)*∂NP(ph)/∂T
VM.P Isothermal compressibility of the ∂VM/∂P = -κ*VM
system (already multiplied by the total
molar volume)
VM(ph).P
Isothermal compressibility of a phase ∂VM(ph)/∂P = -κ(ph)*VM (ph)
(already multiplied by its molar volume)
Many more …
Restrictedly speaking, any of energetic extensive variables or compositional extensive variables with normalizing
suffixes like M (per mole of component), W (per mass in grams), V (per volume in m3) or F (per mole formula unit) of
the entire system, any specific or all system components in the whole system, or a given phase, or any specific or all
system components in a given phase, as specified above and listed in Table 1 of the document Thermo-Calc Software
System, are derived variables, which have been explicitly defined inside the program by using expressions as either
first or second derivatives of some state variables with respect to other independent state variables. In case a phase is
not stable in the system, all the standard variables and derived quantities for the phase will be still precisely
calculated by the program and saved in the workspace. However, when showing a partial derivative (after an
equilibrium calculation), the state variable used after the dot sign “.” must have been defined as a condition prior to
the calculation. For instance,
the derived variable G.B is exactly the same as the W-suffixed state variable GW when B (total mass of all
components in the system) has been defined as an equilibrium condition in the system;
the derived variable N(comp).N is exactly the same as the M-suffixed state variable NM(comp) or X(comp)
when N (total moles of all components in the system) has been set as an equilibrium condition in the system.
For more details on state variables and derived variables (partial derivatives), please refer to Sections 2.5 and 2.6
in the document Thermo-Calc Software System).
8.3.4 Components
By default, the elements are used as the components in the POLY module. In some cases, e.g., in oxide and
aqueous systems, this is rather inconvenient or inappropriate. However, the set of components may be changed
with the POLY command DEFINE_COMPONENT. The new components defined in the POLY module must
also be species that are available in the currently defined system.
Note that conditions regarding the state variables AC, MU, N, X, W, etc. can only be given for components
(see Section 8.3.3)! Thus, the command
SET_CONDITION N(H2)=100
is illegal unless a component has already been defined as H2 rather than the default H. One may circumvent this
inconvenience by using the command:
SET_INPUT_AMOUNT N(H2)=100
which only requires that H2 is an existing species in the defined system, and the program subsequently
translates this to the condition
SET_CONDITION N(H)=200
8.3.5 Conditions
In order to make an equilibrium calculation, one must have zero degree of freedom according to the Gibbs
phase rule. The degree of freedom is equal to the number of components plus two (temperature and pressure).
The degree of freedom is reduced, one by each condition defined with the SET_CONDITION command, and
one for each phase with the FIXED status set with the CHANGE_STATUS PHASE command.
The simplest conditions are to set temperature, pressure and the amounts of the components. But one may
alternatively set conditions as the activity or chemical potential of a component (of the system or in a specific
phase), or enthalpy, or any intensive or extensive state variable. Use the INFO STATE_VARIABLE command
sequence, as well as in Section 2.5 in the document Thermo-Calc Software System, to understand how a state
variable is denoted.
Simple examples are, for the Fe-Cr-C system:
SET_CONDITION T=1200, P=1E5, X(CR)=0.18, W(C)=0.0013, N=1
meaning that temperature is 1200 K, pressure 1 bar, mole fraction of Cr 0.18 (i.e., 18 mole percent), mass
fraction C 0.0013 (i.e., 0.13 weight percent), and the total amount of material equals to 1 mole (meaning the Fe
is the rest). A set of conditions for the C-H-O system is
SET_CONDITION T=2173, P=101325, N(H2)=14, N(O2)=18, N(C)=5
meaning that temperature is 2173 K, pressure is 1 atm, moles of H2 is 14, moles of O2 is 18, and moles of C is
5. This assumes that the user has already set both H2 and O2 as components.
For user’s convenience, inputs of non-component species are also possible to be used in conditions, but these
have to be done with the SET_INPUT_AMOUNT command, which will translates them into acceptable
conditions in terms of the defined components in the system. See information on the SET_INPUT_AMOUNT
command.
It is possible to prescribe a nonsensical set of conditions, and thus the user must be careful. Normally, the
program can detect a nonsensical set of condition only by failure to converge during the calculation.
An important feature of the POLY module is the possibility to set a condition on the composition of a phase.
Most equilibrium program can only handle conditions on the overall composition; but with POLY, one may
specify the composition or enthalpy or entropy of an individual phase. That phase should be stable, of course.
An example is
SET_CONDITION W(LIQ,C)=0.012
meaning that the mass fraction of C in the liquid phase shall be 0.012 (i.e., 1.2 weight percent).
It is possible to give a linear expression of state variables as a condition. For an example,
SET_CONDITION X(LIQ,S)-X(PYRR,S)=0
could be used to compute the congruent melting temperature of pyrrhotite in the Fe-S system.
The FIXED phase status is useful to directly calculate invariant or monovariant points or extrema. Note that the
value set for the FIXED phase status is “NPF(phase)” rather than NP(phase). For an example, in order
to calculate the melting temperature, one can replace the temperature condition by changing the status of the
LIQUID phase status to be fixed as 0 moles in the system:
SET_CONDITION T=NONE
CHANGE_STATUS PHASE LIQUID=FIX 0
The FIXED phase state can also be used to calculate diagrams where the system is in equilibrium with one or
several given stable phases.
The Scheil-Gulliver simulation often gives reasonable results for the normal solidification behaviour in Al and
Ni-based alloys, but is by no means appropriate for steels that contain fast diffusing interstitial elements C or N.
In such a case, the Scheil-Gulliver scheme can be modified to allow equilibrium back diffusion of the interstitial
element(s) in solid phases at each temperature step, i.e. to redistribute interstitial element(s) in liquid and solid
by attaining the same chemical potential. More detailed description of this partial-equilibrium approximation
can be found in Chen and Sundman, Mater. Trans., 43 (2002) p551.
Since TCCQ, the SCHEIL module has been extended and is able to handle the partial-equilibrium solidification
approximation. A demonstration of this partial-equilibrium simulation using the extended SCHEIL module and
the comparisons with the Scheil-Gulliver and lever-rule calculations can be found in the TCCR Examples Book
(i.e., Example 48).
uM uM
µ cα = µ cγ
∑ uα µ α = ∑ u γ µ γ
j∈s
j j
j∈s
j j
γ
γ
α α
uc uc
A. Equilibrium B. Paraequilibrium
Fig. 8-1. Equilibrium and paraequilibrium states: Ternary Fe-M-C diagram where M is a
substitutional alloying element and C is the fast diffusing carbon. Figure A
shows the isothermal section and the two phase field α+γ for equilibrium
conditions, while figure B is the same isothermal section and two-phase field for
a paraequilibrium state.
Gm T
Gmγ
Gmα
γ α
T=T0 at X=X1 T0
X1
X X
A. T0 as a point at a certain composition B. T0 as a line as one composition varies
Equilibrium
Paraquilibrium
α
[Gαm = G γm − A]
Fig. 8-3. Phase diagram for an Fe-1C-0.5Mn-0.5Si-0.2C (wt%) steel. The calculated
paraequilibrium state and To temperature line are also imposed on the diagram.
For more details on how they are performed, please refer to Section 8.10.16 (the SPECIAL_OPTIONS
command) and 8.9.4 (the STEP_WITH_OPTIONS command), as well as Examples 42 and 43 in the TCCQ
Examples Book.
Binary, ternary and multicomponent phase diagrams are calculated in much the same way, not matter how many
additional conditions there are in the system (see Sections 8.5.1, 8.5.2 and 8.5.4). One may also have fixed
phases during a mapping procedure (see Section 8.5.3). There are two special modules, namely the BIN and
TERN modules, developed for automatically calculating binary and ternary phase diagrams, respectively; for
more detailed descriptions, please refer to Sections 10.4 and 10.5.
Note that all phase diagrams consist of lines where the amount of a phase is zero (zero phase fraction lines). But
there are two distinct types of phase diagrams: those with the tie-lines in the plane of the diagram and those
where the tie-lines are not in the plane. The formers are the traditional types of binary phase diagrams and
ternary isotherms. The latter are more general isopleth diagrams where at least one extensive variable, normally
a composition, is fixed.
Potential diagrams and Pourbaix diagrams are special types of phase diagrams, where the tie-lines are not in the
plane. Two special modules, namely, the POTENTIAL and POURABIX module, were implemented in
Thermo-Calc to automatically calculated such phase diagrams and other related phase diagrams. See details in
Section 8.4.6 and Section 10.6 for potential diagram calculations, and Section 8.4.7 and Section 10.7 for
Pourbaix diagram calculations.
The special module, POTENTIAL, was developed for automatically calculating such potential diagrams and
other related diagrams; for more detailed descriptions, please refer to Sections 10.6.
The special module, POURBAIX, was developed for automatically calculating the Pourbaix diagrams and other
related phase diagrams; for more detailed descriptions, please refer to Sections 10.7.
If a STEP or MAP command has been conducted, the post-processor is then independently utilized in order to
generate and refine a high-quality graphical output of the calculated results, which can be further imposed with
experimental data for comparisons. The POST command transfers control to the post-processor (i.e., the POST
module). A detailed description of the commands in the post-processor is given in Part 9.
One of the major improvements in the new version of Thermo-Calc software, TCCR and TCW4 (as well as the
new version of the DICTRA software and of various Thermo-Calc programming interfaces), is that the newly-
implemented Global Minimization Technique is used to assure that the present minimum in an equilibrium
calculation is the most stable minima for the specified conditions. In other words, this will prevent that you end
up with an undesired metastable or unstable (local) equilibrium. Additional composition sets are automatically
created in a solution phase if needed (for handling single or multiple miscibility gaps), i.e. there will no longer
be necessary for the user to specify these in advance.
The technique used may be demonstrated with the example present in Figure 8-4. In this example, the Fe-Cr-Ni
system is considered, and we seek a stable minima for an alloy with the bulk composition of xFe =0.5, xCr =0.4
and xNi =0.1 (shown as the red star), under the conditions of T=700 K and P=1 bar (100000 Pascal). When the
COMPUTE-EQUILIBRIUM command in the POLY module (see Section 8.7.4) is executed in the new versions,
a set of meshes is first computed; these meshes consist of discretized Gibbs energy functions for all the
individual phases present in the system. Using these meshes and the defined equilibrium conditions, we find an
approximate solution for the common tangent plane that has the lowest Gibbs energy. This plane is in this
example defined by three different points which are indicated by yellow squares (which present
BCC#1+BCC#2 miscibility gap and FCC phase). These points and also the amounts calculated for each of the
phases are used as a start point in a subsequential POLY optimization in order to reach a truly global minimum
(the most stable equilibrium state in the defined alloy).
G (J/mole)
X(Cr) X(Ni)
In the current versions TCCR and TCW4, fully-supported equilibrium conditions in the Global Minimization
Technique are:
T temperature in the system (in K)
P pressure in the system (in Pascal)
N system size (mole number in moles)
N(<component>) mole number of a component in the system
X(<component>) mole fraction of a component in the system
B system size (mass in grams)
If other types of equilibrium conditions are used (in the current versions TCCR and TCW4), a Global
Minimization test and corrections are performed until the lowest minimum is found after the initial POLY
optimization (using the traditional GEM Technique). Some of such conditions are listed below as examples:
• Chemical potentials and activities, and their logarithms:
MU(<component>) or MUR(<component>) chemical potential of a component in the system
AC(<component>) or ACR(<component>) activity of a component in the system
• Compositions of a given component in a specific phase:
N(<phase>,<component>) mole number of a component in a phase
X(<phase>,<component>) mole fraction of a component in a phase
B(<phase>,<component>) mass (grams) of a component in a phase
W(<phase>,<component>) mass fraction of a component in a phase
• Chemical potentials or activities (and their logarithms) of a given species in a specific phase:
MUR(<species>,<phase>) chemical potential of a species in a solution phase
ACR(<species>,<phase>) activity of a species in a solution phase
• Energies of the system or of a particular phase, for instance:
H enthalpy in the system (in J)
HM(<phase>) enthalpy of a phase (in J/mol)
G Gibbs free energy in the system (in J)
GM(<phase>) Gibbs free energy of a phase (in J/mol)
• A condition has been defined as a value of a linear expression involving more than one state variable.
• When a particular phase has been set at the FIXED phase-status (either explicitly through the
CHANGE_STATUS PHASE command or inexplicitly through the COMPUTE_TRANSITION
command).
• When a partial derivates of state variable (derived variable) has been used as conditions.
Please note that the price to pay for assuring a global minimum in a calculation is an increase in the
computational time.
The Global Minimization Technique is normally used as default in a single-point equilibrium calculation when
performing the COMPUTE_EQUILIBRIUM command, but can of course be turned off by the user using the
new POLY command SET_MINIMIZATION_OPTIONS (which, of course, can also turn on the Global
Minimization mode, if the user decisively repeats this command later on); see more details in Sections 8.4.1,
8.7.4 and 8.10.22.
For stepping and/or mapping calculations, the Global Minimization Technique is currently only performed
during the initialization (for finding the starting points), but not during the actual stepping/mapping. This
strategy has been selected in order to keep computational times short. A complete rewrite of the STEP and MAP
commands is ongoing and will be made available in the next major-version release.
Please also note that the Global Minimization Technique is not used, and should not be used, in the PARROT
module for data assessment/evaluation. This is simply because that experimental data points used during a
PARROT optimisation procedure are normally for specific phases (stoichiometric or solution phases), for well-
defined phase boundaries, and for certain phase assemblages in a given low-order subsystem (which is often a
unary, binary, ternary, quaternary or another subsystem within a multicomponent system) under specified
experimental setups, and due to that probably some experimental data used in an assessment/evaluation are truly
at some local/partial equilibrium states (that are not always necessarily at the global Gibbs energy minima state
for a larger-scaled system).
8.5 Diagrams
Note that there is a special BIN module for calculating binary diagrams (see Section 10.4). However, one must
use a special database (such as BIN and PBIN), which is adaptable to the module. One example is given as the
Example 1 in the TCCR Examples Book.
One may calculate many different types of binary phase diagrams with POLY, but the traditional one has one
composition axis and the temperature on the other axis. This is calculated by first specifying a single
equilibrium by setting conditions like
SET_CONDITION T=1200, P=1E5, W(C)=.02, N=1
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
Example 4 in the TCCR Examples Book demonstrates the traditional way of calculating a binary phase
diagram.
For more alternatives in plotting the results, look for information in the POST module (Chapter 9).
SET_CONDITION T=823,P=1E5,N=1,X(MG)=.01,X(SI)=.01
C_E
Note that there is no condition on the amount of Al as that will be the “rest”. N=1 specifies that the system is
closed. This calculation gives one point inside the system. Now define the axis as below:
S-A-V 1 X(MG) 0 1 0.01
S-A-V 2 X(SI) 0 1 0.01
Of course, one may not be interested in the whole section, and in such cases one may 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. We may use the same conditions as above if we are interested
in a section of Al-Si at 1 mole percent of Mg. We 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 will not be in the plane of the diagram, thus the lever rule etc. cannot be
applied. But one may 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, we must set up the conditions a bit
differently, as shown below:
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 one may 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 are liquidus surfaces. This is still not simple to calculate as a separate
start point is needed for each separate line at each temperature.
However, one may easily calculate the monovariant lines where the liquid is stable together with two condensed
phases in the following way:
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 one should have 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
Table 8-1 summarizes the general rules for setting equilibrium conditions and mapping variables for various
types of phase diagrams in ternary systems. It also gives hints on how to define different vertical sections.
Table 8-1. Handling of various phase and property diagrams for ternary systems in the TCC software
Phase Diagram Diagram Description Triangular Perpendicular Mapping Calculation È
Type Diagram Diagram and Graphical Plotting
Phase boundaries over the X(A)-X(B)- X(A)-X(B) mapped in X(A) and X(B), under
Isothermal
section entire or a partial X(C) specific T and P
composition space, at a plotted for phase boundaries at a
specific T (and P) specific T (and P)
Monovariant Projection of all the X(A)-X(B)- X(A)-X(B) mapped in X(A) and X(B), under
lines monovariant (or called X(C) [-T] various T and a specific P, where
univariant) lines where the [-T] the liquid phase has a fixed phase
liquid phase is stable with status (with a fixed amount 0-1.0
two condensed phases at mole)
varied T and a specific P, plotted for the monovariant lines on
over the entire or a partial the liquidus surface, with or
composition space without the varied T (in K or oC)
Liquidus surface
Isothermal Projections of all the X(A)-X(B)- X(A)-X(B) mapped in X(A) and X(B), under
surface monovariant lines (where X(C) [-T] various T and a specific P, where
projection the liquid phase is stable [-T] the liquid phase has a fixed phase
with two condensed phases status (with a fixed amount 0-1.0
at varied T and a specific mole). And there must be an
P), and of some T contours individual start point for each
(isothermal invariant lines, separate T contour
in K or oC) of the liquidus plotted for the monovariant lines on
surface, over the entire or a the liquidus surface, together with
partial composition space some projected liquidus T
contours (isothermal invariant
lines, in K or oC)
Quasi-binary diagrams, as well as quasi-ternary diagrams, etc., have often been misunderstood and misused. A
real quasi-binary phase diagram is for a ternary system where one component has a fixed activity or chemical
potential; and a real quasi-ternary phase diagram is for a quaternary system where one component has a fixed
activity or chemical potential.
A typical example of quasi-ternary system is a quaternary system Fe-Cr-Ni-C calculated at fixed carbon
activity. The condition can be set as follows:
SET-REF-STATE C GRAPH ,,,,
SET-CONDITION T=1273, P=1e5, N=1, X(CR)=.1, X(NI)=.1, ACR(C)=.002
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 FE-LIQ=FIX 0
and the mapping can be done with the following axis
S-A-V 1 X(CAO) 0 1 .01
S-A-V 2 T 1500 2000 25
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.
Example 17 in the TCCR Examples Book gives some hints on calculating a quasi-binary phase diagram.
Flexible calculations of multicomponent phase diagrams are a unique feature of the Thermo-Calc software.
Although some software can calculate particular sections through multicomponent systems, Thermo-Calc is the
only software that can calculate an arbitrary two-dimensional section through a composition space. However,
there is not anything special about these diagrams, they are calculated as simply as binary diagrams but one
more condition has to be added for each component. One may combine activity conditions, fixed phase status
and fraction conditions in any way (as long as they describe a legal equilibrium). For example a steel with (in
weight-percentage) 15% Cr, 5% Co, 2% Mo, 5% Ni, 1% V, 0.2% N rest Fe for 0-1.5% C and 700-1500oC can
be calculated as follows:
SET-CONDITION T=1000, P=1e5, N=1, W(CR)=.15, W(CO)=.05, W(MO)=.02
SET-CONDITION W(NI)=.05, W(V)=.01, W(N)=.002, W(C)=.01
C-E
S-A-V 1 W(C) 0 .015,,
S-A-V 2 T 800 1800 25
SAVE isop1
MAP
These types of diagrams are calculated using only one independent axis. In the Thermo-Calc software, they are
calculated normally by the STEP command (see the information in Section 8.4.2 “Stepping calculation of
property diagrams” and Section 8.4.3 “Solidification path simulations”).
A common type of property diagrams is when all compositions are fixed and only temperature varies. In the
POST module, one may then plot many different quantities as functions of temperature, for example, the
amounts of the stable phases, the composition of a specific phase, or the activity of a component (in the entire
system or in a specific phase).
Note that the predominance diagram is a special type of property diagram normally with temperature, pH, Eh or
the composition of one major component as one of the axis variables, in which the curves separate the areas
with dominant species (usually determined in terms of activity).
When a MAP calculation or a special module (BIN, TERN, POTENTIAL and POURBAIX) calculation has been
made, many properties of the entire system, stable phases, components in the system or a specific phase, species
in a specific phase can be used as axis variables to plot diagrams. Sometimes, such diagram might have been
called as “property diagrams”. However, they must be regarded as special types of phase diagrams, because
they represent variations of plotted properties along the phase boundaries, even only one of the mapped
variables is used as axis variable in such diagrams.
8.6.1 HELP
Description: This command lists the available commands or gives an explanation of a specified command.
Synopsis 1: HELP <command name>
Synopsis 2: HELP
Ensuing Prompt: COMMAND: <command name>
Options: command name -- the name of the command (one of the POLY-module commands) to
obtain help.
Notes: Pressing the <RETURN> key without typing a command name will list all the available POLY
commands.
Specifying a unique command will print an explanation of that command on the screen
(usually the same text as found in this User’s Guide).
Typing a command abbreviation which is not unique will list all matching commands. The
desired command information can be obtained by typing a unique abbreviation or the
complete command name.
8.6.2 INFORMATION
Description: Basic information about various POLY subjects (concepts and models) can be obtained with
this command for a number of subjects, as they are described in different parts of this
chapter.
Synopsis: INFORMATION
Ensuing Prompt: WHICH SUBJECT /PURPOSE/: <a subject and unique subject>
The name of a specific subject (or its abbreviation as long as it is unique, e.g., SIN, SIT,
SOL, SPE, STATE, STEP, SYM, SYS, SUB, etc.) must be given. Extensive information
is available for various subjects as listed below (this list can be seen if typing a
question mark “?”):
8.6.3 GOTO_MODULE
Description: This command switches between modules. The name of the desired module must also be
typed. In order to obtain a list of available modules, press the <RETURN> key (also see
Section 5.4.11).
Synopsis 2: GOTO_MODULE
Ensuing Prompt: MODULE NAME:
NO SUCH MODULE, USE ANY OF THESE:
SYSTEM_UTILITIES
GIBBS_ENERGY_SYSTEM
TABULATION_REACTION
POLY_3
BINARY_DIAGRAM_EASY
DATABASE_RETRIEVAL
REACTOR_SIMULATOR_3
PARROT
POTENTIAL_DIAGRAM
SCHEIL_SIMULATION
POURBAIX_DIAGRAM
TERNARY_DIAGRAM
MODULE NAME: <module name>
Options: module name -- the name of the module to subsequently open
8.6.4 BACK
Description: This command switches control back to the most recent module. See also GOTO_MODULE.
Going from the POST module (post-processor), BACK goes only to the TAB or POLY
module (from where the POST module entered).
Synopsis: BACK
8.6.5 SET_INTERACTIVE
Description: This command resets the input and output units to their initial values, i.e., keyboard and
screen. Remember to add this as the last command to your MACRO files.
Synopsis: SET_INTERACTIVE
8.6.6 EXIT
Description: This command terminates the program and returns to the operating system. Unless a SAVE
command has been executed (in either the GES, POLY3 or PARROT module), all data and
results will be lost.
Synopsis: EXIT
8.7.1 SET_CONDITION
Description: This is the main command to 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.
Beside temperature and pressure conditions, a multicomponent system can have a very-much
mixed types of conditions; this brings the extreme flexibility and powerfulness to the
complex calculations with the Thermo-Calc software system.
One should repeat this command for a multicomponent system, till the degree of freedom in
the defined system becomes zero. When a FIXED phase status is used on a specific phase
(through the CHANGE_STATUS command; see Section 8.10.3), it is equivalent to one
condition (implying that particular phase is stable in the defined system).
Synopsis 1: SET_CONDITION <condition(s)>
Each condition must be given explicitly, but can be given on the same line (separated by
a comma sign “,” or an empty space) or on separate lines with each one started with the
command. See details for conditions described in Section 8.3.5 (on Conditions) and
more descriptions given below.
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 user sets the temperature 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.
Synopsis 2: SET_CONDITION
Ensuing Prompt: State variable expression: <state variable name or linear expression>
This question is rather cryptic but the user is expected to give either just a state variable
or a linear expression of state variables.
Some of the state variables that can be used in conditions are:
T temperature in the system (in K)
P pressure in the system (in Pascal)
N system size (mole number in moles)
B system size (mass in grams)
N(<component>) mole number of a component in the system
X(<component>) mole fraction of a component in the system
W(<component>) mass fraction of a component in the system
ACR(<component>) activity of a component in the system
MUR(<component>) chemical potential of a component in the system
X(<phase>,<component>) mole fraction of a component in a phase
W(<phase>,<component>) mass fraction of a component in a phase
ACR(<species>,<phase>) activity of a species in a solution phase
MUR(<species>,<phase>) chemical potential of a species in a solution
phase
H enthalpy in the system (in J)
HM(<phase>) enthalpy of a phase (in J/mol)
There are many more state variables can be used in conditions. For more information,
give an INFO STATE_VARIABLES command.
A condition is normally just a value of a single state variable with its value. For instance,
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 should be the same in the
LIQUID and PYRRHOTITE phases. In practice that should be the congruent melting
point. Note that after the equal sign only a numeric value is allowed in the expression.
Factor: <a factor for the state variable, or a continuation>
This question is even more cryptic, and it means that the user 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 will be prompted if a single state variable name has not given in either the
prompt “State variable expression” or “Factor”, or a state variable
expression has been 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. The user needs to specify here a state variable or a complete
state variable expression, or complete the unfinished state variable expression. If a
numeric factor has been given before this prompt, only one state variable can be
specified; otherwise, the program will only take 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.
8.7.2 RESET_CONDITION
Description: This command does not exist (!), but a condition is reset by using the SET_CONDITION
command again with a new value. A set condition is removed with the value NONE.
Synopsis 1: SET_CONDITION <condition>=<new value>
Synopsis 2: SET_CONDITION <condition>=NONE
Example: SET_CONDITION T=1673.15
This will reset the condition T (temperature) as 1673.15 K.
SET_COND T=NONE
This will remove the condition on T (temperature).
More: It is now possible to remove all conditions by giving the command as below:
SET_CONDITION *=none
8.7.3 LIST_CONDITIONS
Description: All the conditions, that are set by the command SET_CONDITION and the command
sequence CHANGE_STATUS PHASE ... =FIXED <0 or 1 or alike>, are listed on the
screen. The current conditions are also listed by the command LIST_EQUILIBRIUM.
The degree of freedom in the defined system is also shown up. With such an information, the
user can figure out if what could/should be further done:
If this is zero, one may perform a COMPUTE_EQUILIBRIUM command.
If it is larger than zero, some more conditions are required, and the user must further
set additional ones, using the SET_CONDITION or CHANGE_STATUS command.
If it is negative, the user has defined too many conditions and needs to take away the
unnecessary ones, using the SET_CONDITION command (with a value of NONE
for the to-be-deleted condition) or CHANGE_STATUS command (i.e., changing a
FXIED status of a phase to another type of phase status, ENTERED or DORMANT or
SUSPENDED).
Synopsis: LIST_CONDITIONS
Example Output: P=100000, T=800, N(NI)=1E-1, N=1
FIXED PHASES
FCC_A1=1 LIQUID=0
DEGREE OF FREEDOM 0
8.7.4 COMPUTE_EQUILIBRIUM
Description: The full equilibrium state is calculated for the given set of conditions. The number of
iterations and the CPU time is listed after the command has finished.
Important Note: Since TCCR, the Global Minimization Technique is 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 subsequential single-point calculations or stepping/mapping
calculations within the current TCC run) if having decisively switched it off by the user (or
possibly in some special modules) through changing the minimization option using the
SET_MINIMIZATION_OPTION command (see details in Section 8.10.22).
For some details of the new Global Minimization Technique and of the traditional GEM
Technique (i.e., the ordinary POLY minimization routines used in versions up to the current
version TCCR/TCW4), refer to Section 8.4.9; and for some strategies of single-point
equilibrium calculations, refer to Section 8.4.1.
Synopsis 1: COMPUTE_EQUILIBRIUM
Synopsis 2: COMPUTE_EQUILIBRIUM *
Synopsis 3: COMPUTE_EQUILIBRIUM -
Notes: Since TCCR, the “C_E –” command-combination can be used, in order to enforce the
ordinary POLY minimization routines (i.e., the traditional GEM Technique) in an
equilibrium calculation; this is because of that the ordinary “C_E” command is now
associated with the Global Minimization Technique (if it has not been turned off prior to the
current calculation), and only after the Global Minimization Technique has been
permanently switched off the “C_E” command makes no difference from the “C_E –”
command-combination.
However, in the current version TCCR, 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 (we call it “Direct Global
Minimization”); and when other types of equilibrium conditions (for some details of such
conditions, refer to Section 8.4.9) are used, after the initial POLY optimization (using the
traditional GEM Technique), a Global Minimization test and corrections are performed until
the lowest minimum is found (we call it “Indirect Global Minimization”).
In previous versions before TCCR, if there is any problem with convergence, you may try the
powerful “C_E *” command-combination. The character * will enforce the command to
use an advanced technique (that is more robust than the traditional GEM technique) to
obtain a complex equilibrium. However, it is worth notice that after a successful “C_E *”
calculation, you may repeat the “C_E” command and can check the status of
phases/species/components (by the LIST_STATUS CPS command sequence) and equilibrium
conditions (by the LIST_CONDITION command) and list out the calculation results (by the
LIST_EQUILIBRIUM command), because such actions may tell you how to further modify
various settings for your current calculation. Since TCCP, the “C_E *” command-
combination has been further improved. BUT, since TCCR, this command-combination is not
that useful any more, because the newly-implemented 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 favourable
composition after this command, and thus their driving forces may not be correct. One may force
the program to correctly calculate the driving forces of metastable phases, by simply giving
repeated C_E commands until the number of iterations (that is shown on screen after this
command) is reduced to 2. See also the POLY command SET_NUMERICAL_LIMIT (Section
8.10.7), which can set the “Approximate driving force for metastable phases”
option on (as Y) or off (as N) in all the subsequent POLY calculations within the current TCC run.
Started from TCCP, if there is any convergence difficult in finding a stable solution at any stage of an
ordinary equilibrium calculation performed by this command (except for the cases where the
special option NEVER_ADJUST_MINIMUM_Y has been switched on by the user or in some
special modules such as POURBAIX and SCHEIL modules, prior to the equilibrium calculations),
the following messages will appear 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
implying that smallest site fraction in the current POLY3 workspace has been automatically increased
from the default value 1.00E-30 to the hardware-dependent precision (under PC Windows, as
2.00E-14). For other subsequent POLY-module calculations in the current TCC run, you can use
the 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 (see Section 8.10.7 on
the SET_NUMERICAL_LIMITS command).
If an equilibrium state for the defined system has not been found, an error message is given on
screen. In such a case, you may try to repeat this command a few times, or to 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, before consulting Section 8.12 (Trouble shooting).
8.7.5 LIST_EQUILIBRIUM
Description: The result from the last calculated equilibrium is listed on screen or in a textual file. Note that
one may also execute this command if no calculation has been made or if the calculation
failed. It is the user's responsibility to interpret the result accordingly.
Synopsis 1: LIST_EQUILIBRIUM <Return or file name> <option(s)>
Synopsis 2: LIST_EQUILIBRIUM
Ensuing Prompt: OUTPUT TO SCREEN OR FILE /SCREEN/: <file name>
The name of the textual file where the list of the calculation results shall be written.
Default is SCREEN (only shown on the terminal).
Options /VWCS/: <option(s)>
The user may select the output units and formats by optionally specifying a combination
of the following letters:
8.7.6 DEFINE_MATERIAL
Description: This command makes it possible to 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 will read the
system from the specified database, set the composition and temperature (and pressure
equal to 1 bar) and calculate the equilibrium state before the user is prompted for a new
command. The user may then list the results by the LIST_EQUILIBRIUM command or set
a new composition or set axis for a STEP or MAP command.
Previously, data were always retrieved from the TDB module and this is still the
recommended way. But the growing number of “occasional” TCC users makes it necessary
to provide simpler ways through the program, in addition to the various Windows interface
developed in parallel. Note that one cannot “append” data from different databases this
way. One may also use this command for USER databases.
Synopsis: DEFINE_MATERIAL
Ensuing Prompt: Same elements as before /Y/? <Y or N>
This question will be asked only as the user has already read some data from the
database, or has previously used the command DEFINE_MATERIAL or
DEFINE_DIAGRAM. It then offers a convenient way to change the composition and
temperature with one command.
Note that the DEFINE_MATERIAL command only works properly in case that the
composition of the material system has already been defined as in the mole-percent or
mass-percent unit.
Mole percent of <element> /##/: <value>
or
Mass percent of <element> /##/: <value>
If the user has already decided to use the same materials system (available in the current
POLY3 workspace) by accepting the default answer (Y) to the previous prompt “Same
elements as before /Y/?”, one of the two alternative prompts given above
will appear for each of the components in the defined system, depending on how the
composition has previously been defined (either in mole-percent, or in mass-percent).
Such prompts will be repeated until all the defined components have been gone through.
Then, the program will prompt for specifying the temperature condition.
. . . . . .
Database /ABCDE/: <database name>
The database with the description for the material must be given, or just press
<RETURN> if using the current database. It is possible to give a USER database.
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 “*”.
Note: This question will be repeated until the user presses <RETURN> after restoring all
desired phases.
OK? /Y/: <Y or N>
All phases to be selected from the database are listed and the user must confirm the
selection. If he has made some errors or wants to amend the selection, he can answer N
(No) and will then be back at the question about rejecting phase(s).
If the selection is confirmed by answering Y (Yes), the software will retrieve all
thermodynamic data and available references from the chosen database.
Should any phase have a miscibility gap check? /N/: <Y or 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 the user should specify this here. It will cost some
computation time and may make subsequent MAP or STEP more difficult to converge.
If the user does not want to have any such phase with miscibility gap in the calculation,
he shall just press <RETURN>. Then, the DEFINE_MATERIAL command will start
calculating the equilibrium, and be terminated.
If the user wants to set such a phase with miscibility gap in the calculation, he shall
answer Y (Yes). Then the software will ask some questions about the phase names and
their constitutions, like below:
Phase with miscibility gap: <phase name>
The user must supply the phase name, which will have a miscibility gap under the
specified system and conditions.
Major constituent(s) for sublattice #: /AA/: <constituent(s)>
The software will show up a default constituent in the sublattice # (1,2,3,…), according
to the existing phase definition in the chosen database. The user may specify one or
more major constituents for the sublattice # in the phase.
This question will be repeated until all sublattices have been specified.
Phase with miscibility gap: <phase name>
The user may 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 <RETURN>, the DEFINE_MATERIAL command will start calculating the
equilibrium, and then be terminated.
. . . . . .
Notes: Since the TCCM, it is possible to use this command to select an “alloy” from a database (e.g.,
the TCNI Ni-based Superalloys Database). The alloys are predefined by the OPTION
keyword in the database, and have their default major elements and composition limits of
their alloy elements (for detailed information, see Section 6.3.16).
Such alloys available in the selected database (at the prompt “Database /ABCDE/:” can
be listed on the screen if typing an “?” mark on the prompt “Major element or
alloy:”. When a specific predefined alloy (instead of a major element) is selected, the
major element will be staked from the alloy definition and shown on the screen (with a
message like “Alloy found with major element NI”).
The user is only allowed to specify alloying elements and their compositions (weight percent
or mole percent). Typing an “?” mark at any of the prompts for the alloying element
names, e.g., “1st alloying element:”, “2nd alloying element:”, will list all
the alloying elements and their composition limits in the alloy.
If the composition of an alloying element is outside of its limit, there will be a warning
message (like “Amount above limit: 30.0000”) and a prompt “Override
limit ? /N/:”. If the user decide on enforcing the overriding by answering Y (Yes) on
this prompt (i.e., accepting the over-limit alloying composition), another warning message
(like “Amount of major element below limit: 70.0000”) and prompt
“Override limit ? /N/:”. Then the user can further decide on if enforcing the
overriding: if Y (Yes) then accepting the major element’s composition below the limit; if N
(No) then using the predefined major element composition limit.
The intention of the “alloy OPTION” feature is to provide a safety net for inexperienced
users. At present, there is no check inside Thermo-Calc that the selected set of composition
conditions is within the applicable composition limits of a database. Experienced users can
still use the old command without this safety feature.
8.7.7 DEFINE_DIAGRAM
Description: This command is an extension of the DEFINE_MATERIAL command and has been available
since the TCCM. It allows automatic calculation and plotting of a diagram with a single
command. It is the exactly same as the DEFINE_MATERIAL command up to the point
when the first equilibrium has been calculated. Therefore, the “alloy OPTION” feature
(see Section 8.7.5) is also available in this command for specifying alloying compositions
for a special alloy predefined by the OPTION keyword in a selected database (e.g., the
TCNI Ni-based Superalloys Database).
One can use this command to calculate all types of phase diagrams after specifying all
composition value and an initial temperature (if temperature will be used as an axis).
However, for binary and ternary diagrams, one may prefer the special BIN and TERN
modules.
This command will then list all the independent variables for the defined system (i.e.,
temperature and the components) and asks for a variable as the X-axis. The user 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 will then calculate and plot a Phase Diagram, as there are two
independent quantities on the axes.
Alternatively, the user may 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 will calculate and plot how this quantity
depend on the condition on the X-axis. This is called a Property Diagram.
This command will end up within the POST module monitor. One can refine the calculated
phase diagram or property diagram as desired.
Moreover, many more property diagrams with axes other than compositions can also be
plotted (after the calculation), using the normal SET_AXIS_VARIABLE command in the
sequent POST monitor.
Synopsis: DEFINE_DIAGRAM
Ensuing Prompt: Same elements as before /Y/? <Y or N>
Mole percent of <element> /##/: <value>
or
Mass percent of <element> /##/: <value>
. . . . . .
Database /ABCDE/: <database name>
Major element or alloy: <element name>
Composition in mass (weight) percent? /Y/: <Y or N>
1st alloying element: <element name>
Mass (weight) percent: <amount of the above specified element>
2nd alloying element: <element name>
Next alloying element: <element name>
Mass (weight) percent: <amount of the above specified element>
. . . . . .
Temperature (C) /1000/: <Temperature of interest in oC>
8.8.1 SAVE_WORKSPACES
Description: Thermo-Calc has a unique feature that allows saving the current status and workspaces of the
program, including thermodynamic data, conditions, options and results from a single,
stepping or mapping calculation on an *.POLY3 file. A user can do so for later uses or
when he has to terminate the current TCC run for any reason.
The POLY3 and GES5 workspaces are saved on a file with this command. In the GES5
workspace, all thermochemical data are stored. In the POLY3 workspace, all
thermochemical data, all the last set of conditions and equilibrium state, changed status,
entered symbols, special options, defined stepping/mapping variables, added initial
equilibria, stepped/mapped results, etc., are stored, so it also contain the GES5 workspace.
After a SAVE command, the user can always come back to exactly the state he had when he
issued the SAVE command by simply giving a READ command.
After saving the POLY3 and GES5 workspaces on a file, one may leave the program and at a
later time READ the file and continue from the saved state. Note that a STEP or MAP
command automatically saves on the work file with the most lately specified name. Do not
SAVE after a MAP or STEP!
The results from the MAP or STEP commands are destroyed by SAVE. You may append
several results obtained by sequential MAP or STEP calculations without destroying the
previous results, whilst SAVE will erase them all. Keeping this in mind is very important
and useful particularly for calculating various isothermal (or isoplethal) sections and
plotting them on the same diagram in a single TCC run.
To suspend some of the MAP or STEP results, use the AMEND_STORED_EQUILIBRIA
command.
Synopsis 1: SAVE_WORKSPACES <file name> <Y or N>
Options: file name -- A user-desired file name must be specified. The default extension of the
POLY workspace file is “*.POLY3” (under Windows XP/2000/NT4) or “*.poly3”
(under UNIX and Linux), while the user can have any other extension as wished.
Synopsis 2: SAVE_WORKSPACES
Ensuing Prompt: File name /RESULT/: <file name>
By pressing <RETURN>, one can save the POLY3 and GES5 workspaces onto a file
under the default name RESULT and with a default extension of “*.POLY3” (under
Windows XP/2000/NT4) or “*.poly3” (under UNIX and Linux).
Or a user can specify a desired file name, for which the default extension is
“*.POLY3” or “*.poly3”, while the user can also have any other extension as
wished.
Overwrite current file content /N/: <Y or N>
(under Windows XP/2000/NT4 environments)
or
Proceed with save /N/: <Y or N>
(under PC Linux and various UNIX platforms)
This question is asked only if there is already a file with the same name, and the
following message appears on screen:
This file contains results from a previous STEP or MAP command.
The SAVE command will save the current status of the program but destroy
the results from the previous STEP or MAP commands.
If you answer Y, the previous content will be overwritten. Note that results from the
STEP or MAP commands are destroyed by SAVE. You may append several results by
MAP or STEP without destroying the previous results but SAVE will erase them all. To
suspend some of the MAP or STEP results, use the AMEND command.
If you answer N, nothing will be saved, and the previous content will not be overwritten.
You may later use the SAVE command with an unspecified name to save the POLY3
and GES5 workspaces.
Notes: Under Windows XP/2000/NT4 environments, a Save As window will pop up on the screen if
a file name is not given after the command, so that the path (in the Save in box) and file
name (in the File name box) can be appropriately specified, as shown in Figure 8-4. The
file type (i.e., POLY3, as in the Save as type box) can not be changed. By pressing the
Save button, the program proceeds with saving the POLY3 and GES5 workspace in the
specified *.POLY3 file. The user may also cancel such a Save As window session, and
thus the current POLY3 and GES5 workspaces will not be saved.
Figure 8-4. The “Save As” window: Saving the POLY3/GES5 workspaces as
an *.POLY3 file.
However, if there is already a file with the same name under the directory (as indicated by
the Save in box), a warming message will pop up on the screen, as shown in Figure 8-5. If
clicking on the No button, the program returns to the Save As window, so that the user may
choose another Save in path or a different File name. If clicking on the Yes button, the
program will then ask the question “Overwrite current file content /N/:”,
so that the user can decide if overwriting the current POLY3/GES5 workspaces on the
existing *.POLY3 file (see above).
SAVE_WORKSPACE ,,y
However, this should be avoided if some results from previous MAP or STEP calculations
shall not be destroyed.
8.8.2 READ_WORKSPACES
Description: The POLY3 and GES5 workspaces and the calculated results from the MAP and STEP
commands can be READ from a file where they must have been saved previously with a
SAVE_WORKSPACES command. Such an *.POLY3 file is not printable.
Synopsis 1: READ_WORKSPACES <file name>
Options: file name -- The name of a previously saved POLY3-file where the POLY3 and GES5
workspaces shall be read from must be specified. The user does not need to type the
extension if it is the default “*.POLY3” (under Windows XP/2000/NT4) or “*.poly3”
(under UNIX and Linux), otherwise the user must type the whole POLY-file name.
Synopsis 2: READ_WORKSPACES
Ensuing Prompt: File name /ABCDEF/: <file name>
The program shows up the “ABCDEF” as the most lately specified POLY3-file name or as
“RESULT” if there is no workspace already saved in the run. By pressing <RETURN>
or typing a specific file name, one can read the POLY3 and GES5 workspaces
from the file.
Notes: Under Windows XP/2000/NT4 environments, a Open file window will pop up on the screen
if a file name is not given after the command or its path is incorrect, so that the path (in the
Look in box) and file name (in the File name box) can be appropriately specified, as
shown in Figure 8-6. The file type (i.e., POLY3, as in the Files of type box) can not be
changed. By pressing the Open button, the program proceeds with opening the POLY3 and
GES5 workspaces from the specified, previously-saved *.POLY3 file. The user may also
cancel such an Open file window session, and thus no previously-saved POLY3 and GES5
workspaces will be opened.
Figure 8-6. The “Open file” window: Reading the POLY3/GES5 workspaces
from an *.POLY3 file.
Useful Hints: When reading back an original POLY3 workspace that has already saved as an *.POLY3 file
in the current TCC run or previously read from an existing POLY3 file under the current
work area, while some additional changes in the settings may have been made (but do not
need to be kept in further steps in the current TCC run) or any diagram has been plotted in
the POST module, one can simply type “READ,,” or the following line:
READ_WORKSPACE ,,
8.9.1 SET_AXIS_VARIABLE
Description: In order to calculate a diagram, one must 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 the SET_AXIS_VARIABLE command, and the POLY
program will, after a STEP or MAP command, vary the value of the condition between the
limits set on its related axis variable.
As an extremely unique and very powerful feature of the TCC software, up to 5
independent axis variables can possibly be used in a mapping calculation of a
multicomponent system; however, the axis numbers 3, 4 and 5 must have chemical
potentials of components (or temperature or pressure) as conditions.
One may also give the SET_AXIS_VARIABLE command without having previously set a
condition on the axis variable. Under such a circumstance, the relevant condition will be
automatically created and the value set between the minimum and maximum axis limits;
however, be aware of that, as a side effect, the POLY module will create two conditions,
P=1e5 and N=1 (in they have not been defined as condition yet), in case that the user sets
an axis variable which is not already a condition.
One may 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. One specifies the logarithmic axis by giving a * after the
increment value. Note that the increment in this case is treated as a factor. For example,
S-A-V 1 P 1E5 1E25 5*
will make axis 1 a logarithmic axis where the difference between two calculated values will
max be a factor 5. Note that the factor must be larger than 1.0.
Note that in some cases, such as when the DEFINE_DIAGRAM command has been used or a
special advanced module (e.g., BIN, TERN, POT, SCHEIL or POURBAIX) has been
called, some axis variables would have been automatically set by the program, not
necessarily by this command.
Synopsis 1: SET_AXIS_VARIABLE <axis number> <condition> <min> <max> <length>
Synopsis 2: SET_AXIS_VARIABLE
Ensuing Prompt: 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>
Here the condition that should be varied along the axis must be given. The condition is
specified as in the SET_CONDITION command, for example W(C) for mass fraction
of carbon. By accepting NONE, the axis is removed.
Min value /0/: <min value>
Specify the minimum value of the axis condition.
Max value /1/: <max value>
Specify the maximum value of the axis condition.
Increment /.025/: <step length>
Specify the maximum step length. By default, this is 1/40 of the total axis length.
8.9.2 LIST_AXIS_VARIABLE
Description: All the axis variables for a stepping or mapping calculation that have already been set by the
SET_AXIS_VARIABLE command are listed on screen by this command.
Synopsis: LIST_AXIS_VARIABLE
Then all the axis variables that have been set in the current POLY3 workspace will show
up on screen, like:
Axis No 1: W(C) Min: 0.001 Max: 0.010 Inc: 0.001
Axis No 2: X(Cr) Min: 0.001 Max: 0.100 Inc: 0.010
Axis No 3: T Min: 1073.15 Max: 2073.15 Inc: 25
Notes: When there is only one axis variable defined in the current POLY3 workspace, the user can
only conduct a stepping calculation (STEP_WITH_OPTIONS). However, if there are two
or more (up to five) axis variables defined appropriately, the user should perform a
mapping calculation (MAP).
8.9.3 MAP
Description: This command maps a phase diagram from one or more initial equilibria. Note that a phase
diagram consists of lines where the amount of a phase is zero. All different types of phase
diagrams are generated by this command (see information in Section 8.4.5).
Synopsis: MAP
Notes: During a MAP calculation, the values of the mapping axis variables for each calculated
equilibrium will be listed and also the set of stable phases. Since TCCN, the lengthy output
of calculated equilibria has been removed; however, the new special option
“OUTPUT_AT_MAP_AND_STEP” if switched on by the SPECIAL_OPTION command
(see Section 8.10.22) can set the along listing back again.
The user may terminate the mapping of a line by pressing a single CTRL-A (on PC Windows)
or CTRL-C (on UNIX or PC Linux). This can be useful in order to stop a longish
calculation without loosing what is already calculated.
Since TCCP, if there is any convergence problem in finding a stable solution at any stage
during a calculation procedure enforced by the MAP command (except for the case where
the special option NEVER_ADJUST_MINIMUM_Y has been switched on), the following
messages will appear 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
implying that smallest site fraction in the current POLY3 workspace has been automatically
increased from the default value 1.00E-30 to the hardware-dependent precision (under
PC 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 (see Section 8.10.7 on the SET_NUMERICAL_LIMITS command).
The procedure during the MAP command to calculate phase diagrams has been continuously
improved in all new releases! And it will be improved in the forthcoming releases!!.
In particular, diagrams with tie-lines in the plane, i.e., most binary systems and ternary
isotherms, have now a special MAP procedure which checks for the best phase to use as axis
variables in order to ensure reasonable increments between the tie-lines. This gives
smoother curves and also better stability in finding adjacent regions.
Miscibility gaps will be detected during mapping if a phase has two or more composition sets.
It may be necessary to use other values than the default axis increment in some diagrams.
To get a complete phase diagram, sometimes it may be necessary to have multiple start points.
8.9.4 STEP_WITH_OPTIONS
Description: This command initiates the stepping procedure. Before it can be evoked, one must have
calculated an equilibrium and given a SET_AXIS_VARIABLE command. The program
will list the current values of the axis variable for each calculated equilibrium and also
when the set of stable phases changes. There are seven options with the STEP command.
These are:
NORMAL which means that just the axis variable will change.
INITIAL_EQUILIBRIA which means that an initial equilibrium will be stored at
each calculated equilibria. (Not implemented yet).
EVALUATE which means that the variables given will be evaluated
after each step, which may change other conditions.
SEPARATE_PHASES which means that each entered phase will be calculated
separately at each step.
T-ZERO which means that T0 (T-zero) lines in a diffusionless
transformation [where two specific partially-
equilibrated phases have the same Gibbs energy] will
be calculated along a composition variable (set as the
stepping variable). This option has been available
since TCCP.
PARAEQUILIBRIUM which means that the paraequilibrium state in a partly
partitionless transformation [under which 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.] will
be calculated along varied temperature or along a
composition variable (of the matrix or one
substitutional component). This has been available
since TCCP and has been greatly improved in TCCQ.
MIXED_SCHEIL which means that a stepping calculation of partial-
equilibrium Scheil-Gulliver simulation on
solidification with back diffusion of one or more
interstitial species (such as C, N, O, S, etc.) in solid
phases will be performed. However, users are always
recommended to go directly to the extended
SCHEIL_SIMULATION module and make the
simulation in an automatic way. This option has been
available since TCCQ.
Note that one may terminate the stepping in a controlled way by pressing a single CTRL-A
(on Windows XP/2000/NT4) or CTRL-C (on UNIX or Linux).
Synopsis 1: STEP_WITH_OPTIONS <a chosen option, N or I or E or S or T or P>
Synopsis 2: STEP_WITH_OPTIONS
Ensuing Prompt: Option? /NORMAL/: <a chosen option, N or I or E or S or T or P>
One has to choose one of the following four available options:
NORMAL Stepping with given conditions
INITIAL_EQUILIBRIA An initial equilibrium stored at every step
This is not implemented yet. It has been intended to generate a “matrix” of calculated equilibria.
One may thus use one axis variable, e.g., temperature, and give a STEP_INITIAL command.
This will calculate a number of equilibria and automatically ADD each as an initial equilibrium for
another STEP_NORMAL or MAP command. Before the second STEP command, one may chose
composition as axis variable, and the STEP command will then use the start points at different
temperatures and step in composition and this will give a “matrix” of values. Actually one may
carry this even deeper.
EVALUATE Specified variables evaluated after each step
This is an advanced command for experts of Thermo-Calc. It allows stepping 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 one may change the conditions during the stepping. One example of
using this command is described in the INFORMATION command with the subject as
SOLIDIFICATION (Solidification Path Calculations).
With this option, the following prompt needs to be specified:
Variable name(s): <variable name>
The names of the variables that shall be evaluated after each step must be typed here.
During a STEP calculation in some earlier versions, it used to calculate all kinds of
property diagram, phase fraction plots, etc., all kinds of problems can occur, especially
when new phases want to appear. These problems have been simplified by the general
improvement of convergence but a number of additional fixes have been added to the
STEP command to handle the problems. The miscibility gap test is automatically used
during stepping (see the command SPECIAL_OPTIONS) if a phase has two or more
composition sets.
The miscibility gap test means that one can now start calculating from high temperatures in
a steel, where the MC carbide is not stable and during the STEP command the MC
carbide will first become metastable with a composition different from the metallic FCC
phase and later also stable. Previously such calculations had to be made from low
temperature.
SEPARATE_PHASES Each phase calculated separately
This is used when the user wants to plot Gm curves versus composition for a given temperature.
T-ZERO T0 lines between two specific phases calculated
This option, which has been available since TCCP, allows calculating the 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 by the
SET_AXIS_VARIABLE command. Note that the temperature condition can not set as the
stepping variable if one wants to make a STEP T-ZERO calculation.
To ensure a successful calculation of T0 line between two specific phases after an initial
equilibrium calculation in the current system, it is recommended to make a single T0 point
calculation by the SPECIAL_OPTION T-ZERO command sequence, prior to performing this
STEP_WITH_OPTION T-ZERO command sequence, although this might not be always
necessary for some systems.
With this option, the following prompts need to be specified:
Name of first phase: <phase A>
Name of second phase: <phase B>
The names of the two target phases, for which the Gibbs energies equal to each other at
each point on the T0 line, must be typed at the above two prompts subsequently.
During the STEP T-ZERO calculation procedure, the calculated 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
. . . . . .
2.950000E-01 1084.87
3.000000E-01 1080.99
After a successful STEP T-ZERO calculation, one may 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 an T-X isopleth].
See Examples 23 and 41 in the TCCR Examples Book.
PARAEQUILIBRIUM Paraequilibrium state between two specific phases calculated
This option, which has been made available since TCCP, allows a stepping calculation of
paraequilibrium states in a partly partitionless transformation between two specific phases in an
alloy system with interstitial component(s) as fast diffusion species. Note that within TCCP only
carbon C was possible to be considered as the interstitial component which was always set as
default; however, this option been greatly modified and improved in TCCQ, and it now allows
more than one interstitial components treated as fast diffusion species (such as C, N, O, S, etc., as
individual or combined) in a paraequilibrium stepping calculation.
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 by the
SET_AXIS_VARIABLE command.
Since TCCQ this option works not only for alloy systems with carbon C but also with other
interstitial components (such as N, O, S, etc.), furthermore it allows combined cases such as C and
N both treated as interstitial species. Please also note that the composition condition for the
interstitial components can not be set as the stepping variable if one wants to make a STEP
PARAEQUILIBRIUM calculation.
To ensure a successful stepping calculation of paraequilibrium states between two specific
phases in a defined alloy system, it is very important to first make a starting-point
equilibrium calculation with an initial overall composition in the current system before
performing this special-option stepping calculation; however, it is unnecessary to obtain an
equilibrium in which either one or both of the target phases is stable. The initial overall
composition must have a reasonable setting for the desired paraequilibrium calculation for
the two target phases. This is especially true for cases where there are more than one
interstitial components to be considered in the paraequilibrium state, because different
interstitial components (for instance C and N combined) may have significant different
behaviours as partitioning into different structured phases; otherwise, for one chosen
interstitial component the initial overall composition is OK for the paraequilibrium
calculation between the specified two phases, but for other chosen interstitial component(s) it
might be impossible to calculate the paraequilibrium state.
It is also recommended to make a single paraequilibrium point calculation by the
SPECIAL_OPTION PARAEQUILIBRIUM command sequence, prior to performing this
STEP_WITH_OPTION PARAEQUILIBRIUM command sequence, although this might not be
always necessary for some systems.
With this stepping calculation option, the following prompts need to be specified:
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 line at
once (separated by an empty space, e.g., “FCC#2 M23C6”).
Please note that you must have completely understood what you are dealing with here
in terms of calculating a paraequilibrium state between the two specified phases.
Specifically, there are four distinguished cases which need to pay a great attention:
(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 simply impossible to calculating the paraequilibrium state
between the target phase pairs with given interstitial component(s) in the currently
defined system.
Fast diffusing component: /C/: <interstitial component>
Since TCCQ, it is possible to specify one or more interstitial component(s) as fast diffusion
species.
Please note that such specified interstitial component(s) must be appropriately
defined according to the phase constitution definitions of the two selected phases:
It/they must be located on the interstitial/vacancy sublattices in both chosen phases.
If the desired fast diffusion component is not the default C (carbon), then type the
appropriate interstitial species; you can input more than one such interstitials at once on
the same line (separated by an empty space, such as “C N”).
Fast diffusing component: /NONE/:
If there is/are more fast diffusion component(s) for the current paraequilibrium calculation,
then type the appropriate interstitial species; otherwise, just press <RETURN> key to
start the paraequilibrium point calculation.
During the STEP PARAEQUILIBRIUM calculation procedure, the calculated
paraequilibrium states, including the amounts of phases A and B expressed in mole-percent
[NP(phase)], as well as the contents of the interstitial component(s) in phases A and B
expressed in u-fractions [e.g., u(phase,C) and u(phase,N)], are shown after the
corresponding scanned conditions (of the stepping temperature variable), e.g.,
Output during stepping is:
axis value, amount of phases and composition of C in phase 1 and 2
very important to pay special attentions to the following four aspects, before performing this
special-option stepping calculation:
• For solution phases with possibility of miscibility gap existence, you have appropriately
added the necessary composition set(s);
• You have already set the temperature condition as the stepping axis variable (by the
SET_AXIS_VARIABLE command, with a minimum and maximum temperature
points as well as an appropriate s temperature step for the cooling process);
• It is equally important to set the composition condition(s) of the fast diffusion
interstitial components in terms of mole fraction or weight fraction, e.g., X(C) and
W(N). Otherwise, the stepping calculation with this option will fail.
• You must have made a starting-point equilibrium calculation in the liquid stability
region (i.e., at a relatively higher temperature condition);
In cases where fast diffusion interstitial components have been specified as fast diffusion
interstitial components, there is a possibility to choose an option to allow BCC FCC phase
transformation during the solidification process.
However, users are always recommended to go directly to the extended
SCHEIL_SIMULATION module and make the Scheil-Gulliver simulation of alloy
solidification processes in an automatic way.
With this stepping calculation option, the following prompts need to be specified:
Fast diffusing components: <fast diffusion interstitial(s)>
Specify one or more interstitial component(s) as the fast diffusion species; always on the
same line at once (separated by an empty space, e.g., “C N”).
Please note that such specified interstitial component(s) must be appropriately
defined according to the phase constitution definitions of the two selected phases:
It/they must be located on the interstitial/vacancy sublattices in both chosen phases.;
otherwise, such a Scheil-Gulliver simulation does not make sense at all.
Allow BCC -> FCC ? /Y/: <Y or N>
If there is/are more fast diffusion component(s) for the current paraequilibrium calculation,
then type the appropriate interstitial species; otherwise, just press <RETURN> key to
start the paraequilibrium point calculation.
During the STEP MIXED_SCHEIL calculation procedure, the solidus temperature of the
alloy is first calculated and shown on screen, and then the calculated solidification path,
including the amounts (in the unit of mass fraction) of remaining liquid phase and overall
formed solid phases, as well as the heat of latent along the solidification process, are
shown along the corresponding scanned conditions (of the stepping temperature variable),
e.g.,
Solidification starts at 1743.15 K
Phase Region from 1.744150E+03 for:
LIQUID
Phase Region from 1.742525E+03 for:
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 STEP MIXED_SCHEIL calculation, one may go to the POST module
to plot various property diagrams for the alloy solidification process according to the
Scheil-Guillver model, or to impose existing relevant experimental information or other
types of calculated solidification results [e.g., Scheil-Gulliver simulation with or without
Notes: During a STEP calculation, the value of the stepping axis variable for each calculated
equilibrium will be listed and also the set of stable phases. Since TCCN, the lengthy output
of calculated equilibria has been removed; however, the new special option
“OUTPUT_AT_MAP_AND_STEP” if switched on by the SPECIAL_OPTION command
(see Section 8.10.22) can set the along listing back again.
The user may terminate the mapping of a line by pressing a single CTRL-A (on PC Windows)
or CTRL-C (on UNIX or PC Linux). This can be useful in order to stop a longish
calculation without loosing what is already calculated.
Since TCCP, 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 (except for the case where the special option NEVER_ADJUST_MINIMUM_Y
has been switched on), the following messages will appear 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
implying that smallest site fraction in the current POLY3 workspace has been automatically
increased from the default value 1.00E-30 to the hardware-dependent precision (under
PC 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 (see Section 8.10.7 on the SET_NUMERICAL_LIMITS command).
The procedure of STEP calculations (of property diagrams) has been continuously improved
in all new releases! And it will be improved in the forthcoming releases!!.
1200 1200
Fe-Mn-C System Fe-Cr-N System
at 2.5%Mn Mass u-fraction at 3%Cr Mass u-fraction
1150
1100
FCC FCC + FCC_M1N
TEMPERATURE_KELVIN
TEMPERATURE_KELVIN
FCC
1150
1050
FCC + Cementite BCC + FCC
BCC
1000
BCC + FCC
entit e)
FC C + C em
950 (B CC +
1100
BCC + Cementite
850
800 1050
0 2 4 6 8 10 12 14 16 18 20 0 1 2 3 4 5 6 7 8 9 10
-4
-3 10
10 MASS U-FRACTION, C
MASS U-FRACTION, N
8.9.5 ADD_INITIAL_EQUILIBRIUM
Description: This command is used to add initial equilibrium points from which a phase diagram is
calculated (through the MAP command). It is not needed for calculating a property diagram
(through the STEP command). In many cases, the ADD_INITIAL_EQUILBRIUM
command is not required for MAP commands either, as the mapping procedure will then
start from the current equilibrium state that has already been calculated. In order to
calculate a simple phase diagram, the user may just set the equilibrium conditions and the
mapping axis variables, and then give a MAP command. But if a phase diagram has
disconnected lines, the ADD command may still be needed to add two or more initial
equilibria so that the MAP calculation will start from such initial equilibria at the specified
directions to find all phase boundary lines.
Synopsis 1: ADD_INITIAL_EQUILBRIUM <direction code>
Synopsis 2: ADD_INITIAL_EQUILBRIUM
Ensuing Prompt: Direction /default/: <direction code>
The direction is important when the initial equilibrium point is in a single-phase region or
when the phase 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, imply that if just starts to become stable on one side of the line and
disappear on the other side) in the given direction.
Options: direction code(s): 1 or 2 for positive direction of axis 1 or 2, respectively.
-1 or -2 for negative direction of axis 1 or 2, respectively.
Default for all directions.
Notes: From the TCC version M, the default direction is treated in a new way. The ADD command
with the default direction will scan along the axis variables and generate start points each
time the scanning procedure crosses a phase boundary. In addition, it will generate 4 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 will be 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. Of course, it may take a little
longer time 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 will
subsequently stop 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 will generate 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 will ensure successful finding of 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.
All the initial equilibrium points generated by the ADD_INITIAL_EQUILBRIUM command
(previously and presently; saved in the current POLY workspace) can be easily listed out on
screen by issuing the LIST_INITIAL_EQUILBRIUM command (see Section 8.10.18). A
certain initial equilibrium point (including its conditions and equilibrium results) can be
loaded into the current equilibrium, if needed, by the LOAD_INITIAL_EQUILBRIUM
command (see Section 8.10.19). Furthermore, any specific or all of the initial equilibrium
points can be deleted from current POLY workspace, if desired, by the
DELETE_INITIAL_EQUILBRIUM command (see Section 8.10.20).
8.9.6 POST
Description: This command switches to the post-processor, the POST module, which has its own command
repertoire.
Synopsis: POST
Comments: After a STEP or MAP calculation, through the POLY module (as well as via TAB module, and
any special module e.g. BIN, TERN, POT, SCHEIL and POURBAIX) in the Thermo-Calc
(and DICTRA) software system, the calculation/simulation results should be handled in the
POST module, to generate various graphical presentations [on screen, and into desired files
with various types of graphical formats (e.g., PS, EMF, PNG, BMP, PDF, JPG, TIF, among
many others) or data forms (e.g., EXP, TAB and WRL)] of phase diagrams, property
diagrams, diffusion profiles and many other types of plots a user would expect, as well as to
create some tabulated forms [on screen, or into simple textual files (TXT) or spreadsheet
files (but this feature is only available since TCCR, only in the MS Excel format XLS, and
only limited to results from stepped calculations].
Within the POST module, one can choose any state variable, any derived variable, or any
entered symbol (functions or variable) as the X/Y-axis. When a diagram has been plotted,
varied appearance parameters for defining a high-standard graph can be further specified,
e.g., curve-labeling 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 labeling on phase boundaries and phase regions, graphic formats, text fonts, colors,
raster plot, etc. A user can easily append experimental data onto a plotted diagram. One 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, one can translate a plotted property diagram (after a steeping calculation) into a
tabulated form, such as a simple list on screen or a textual file, and a spreadsheet (e.g., an
MS Excel file with an extension of .XLS).
For all kinds of details of the POST module, please refer to Chapter 9 – Post-Processor
Module.
8.10.1 DEFINE_COMPONENTS
Description: The set of components can be changed by this command. By default, the elements are used as
components. The set of components may be important because some conditions can only be
set using components, for example, the amounts, activities or chemical potentials.
NOTE that this command implies a REINITIATE command and thus it should be given as
the first command in the POLY module.
Synopsis 1: DEFINE_COMPONENTS <all new components>
Synopsis 2: DEFINE_COMPONENTS
Ensuing Prompt: Give all new components /existing components/: <new components>
The new components must be given (all on one line) to replace the existing
component definitions. The number of components cannot be changed. If one wishes
to change the number of components, the appropriate command is CHANGE_STATUS.
If some of the existing component definition shall be kept, it is recommended to type
them again in the line; otherwise, the program might be confused in defining the new
components, especially when some components are built by several elements.
The new components must already be present as species. For example, in the system Fe-
Si-O, one may wish to define the components FEO, FE2O3 and SIO2 instead of the
default FE, SI and O.
8.10.2 SET_REFERENCE_STATE
Description: The reference state for a component is important when calculating activities, chemical
potentials and enthalpies. See information in Section 2.13 in the document Thermo-Calc
Software System. The reference state for a component is determined by the database. 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 may use different reference states for
the same element. Thus one must be careful when, for example, mixing data from different
databases.
By default, activities, chemical potentials, etc. are computed relative to the reference state
used by the database and this may thus differ depending on the database. With this
command the user himself may select the reference state for a component if the reference
state in the database does not suit.
One may also set the reference state for a component as “SER”, i.e., the Stable Element
Reference (which is usually set as default for a major component in alloys that is dominated
by the component). Under such a case, the temperature and pressure for the reference state
is not needed and thus will not be prompted.
In order to specify conditions in the user specified reference state, one may 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).
Appendix D (Units for State Variables and Derived Variables) in the TCCR User’s Guide
gives an extensive overview and comprehensive examples on how to set reference states for
various system components inside the Thermo-Calc software system and how to explain the
calculated results.
8.10.3 CHANGE_STATUS
Description: This command 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 usage of this command 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:
ENTERED means that the component(s) or species are included in the calculation.
This is the default status.
SUSPENDED means that the component(s) or species are not considered in the
calculation.
SPECIAL means that specified component(s) will not be included in summations
for mole or mass fractions. It only works for component(s).
Note that only component(s) may have the status SPECIAL, which implies that they will
not be included in summations for mole or mass fractions. For instance, for the so-called
“u-fractions” or other normalized fractions, when one or more of the components are
excluded from the summation, one 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. For example, to obtain the metallic fraction in a system with carbon as an
interstitial component, one can set the component status for carbon as SPECIAL:
Change_status comp C=special
Please also note that the SUSPENDED status for components and species will not always
work, as there are bugs in the program!
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
Start value, number of moles /0/: <initial amount>
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 it is only used as the rough starting value in the equilibrium
calculations.
Number of moles /0/: <equilibrium amount>
For FIXED phases, the equilibrium amount of the phase [always using an initial
estimation being 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.
Important Note: Special attentions should be paid when specifying a FIXED phase status in
equilibrium calculations (for single points, stepping or mapping calculations), as described below:
The phase amount variables, NP(phase), BP(phase) and VP(phase), as well as all their M/W/V-suffixed
quantities, should not be used as conditions. Instead, one can use the CHANGE_STATUS command to set a
relevant condition, e.g., CHANGE_STATUS phase <phase>=fix <amount> where the fixed
<amount> is roughly the same as the F-suffixed quantity “NPF(phase)”.
The “NPF(phase)” quantity is the normalized mole number of components (per mole formula unit) of the
specific phase in the defined system, which unlike other F-suffixed state variables [e.g., GF(phase),
HF(phase) and DGF(phase)] can not be directly applied in any POLY command, implying that it can not
be directly evaluated or listed/shown. If intended to shown such a normalized phase amount value in an
equilibrium state, one should instead use a properly-entered symbol (function or variable), for instance,
NPFabc = NP(abc)/NA
or NPFabc = NPM(abc)/NA*N
N is the total system size (in mole). The NA value is a quantity that is phase-dependent (and sometimes also
equilibrium-dependent for ionic solution phases), and is the total atomic number in a mole-formula-unit of the
specific phase abc (excluding interstitial component and, of course, vacancy).
For instance, the SIGMA, FCC, BCC and LIQUID phases (among others) in a defined Fe-Cr-Ni-C-N-O system
(retrieved from a specific database) may be modeled by certain models, and their NA values must be evaluated in
different ways, as described below:
LIQUID (C,Cr,CrO3/2,Fe,FeO,FEO3/2,N,Ni,NiO)1 NA = 1
FCC_A1 (Cr,Fe,Ni)1(Va,C,N,O)1 NA = 1
BCC_A2 (Cr,Fe,Ni)1(Va,C,N,O)3 NA = 1
SIGMA (Fe,Ni)8(Cr)4(Cr,Fe,Ni)18 NA = 30
If in the same Fe-Cr-Ni-C-N-O system the liquid solution phase has been 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
the evaluation of its NA value becomes even more complicated,
2 2
NA = p + q* yC + q* y N + q* yO2 −2 + 2
q* y FeO
3/ 2
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
multiple-sublattice model with ionic constituents, such as SPINEL and HALITE phases in some databases.
Obviously, there will be no strange thing when using a zero value [i.e., 0] in a FIXED phase-status, since it simply
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 just
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.
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 has been 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, one 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
very difficult to use a proper “NPF(ION_LIQ)” value in setting its FIXED phase-status, because that should be
2 2 2 2
less than (or equal to) the complex value of N/[p + q* yC + q* y N + q* yO −2 + q* y FeO3 / 2 ].
In the following example, two calculated equilibrium states, in which the SIGMA and FCC phases have set as
FIXED phase-status, respectively, in a Fe-Cr-Ni-C system under certain conditions of pressure and bulk alloy
compositions, are listed:
Conditions:
P=100000, X(CR)=1E-1, X(NI)=1E-1, X(C)=1E-4, N=2
FIXED PHASES
SIGMA=1.377267E-05
DEGREES OF FREEDOM 0
Conditions:
P=100000, X(CR)=1E-1, X(NI)=1E-1, X(C)=1E-4, N=2
FIXED PHASES
FCC_A1=.2156597
DEGREES OF FREEDOM 0
8.10.4 LIST_STATUS
Description: The status of components, species or phases can be listed with this command. The user may
select all or some of these.
Synopsis 1: LIST_STATUS <keyword(s)>
Synopsis 2: LIST_STATUS
Ensuing Prompt: Option /CPS/: <keyword(s)>
keyword = C or P or S, or any combination
C means list component status,
P means list phase status,
S means list species status.
Default is CPS. By pressing <RETURN>, a complete list with status for components,
phases and species is obtained. By just giving the option P, a list of just the phase
statuses is obtained. If you are also interested in component status, then type C. You
may also simply input CS so that a list of statuses for both components and species can
be listed out.
The statuses of components, phases and species can be changed with the
CHANGE_STATUS command (see above).
Results: Depending upon the key word specified in the CHANGE_STATUS options, a table with the
current statuses of phases or species or components, or their combinations, is shown up.
• For components, their statuses and reference states are listed.
• For ENTERED and FIXED phases, their statuses, driving forces and equilibrium
amounts are listed. Note that the metastable phases are listed in descending order of
stability. To avoid long outputs, in the versions later than TCCN, only 10
metastable phases (in ENTERED status) will be 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.
• For species, only the statuses are listed out.
Example:
POLY_3:l-st
Option /CPS/:
*** STATUS FOR ALL COMPONENTS
COMPONENT STATUS REF. STATE T(K) P(Pa)
VA ENTERED SER
C ENTERED GRAPHITE * 100000
FE ENTERED SER
NI ENTERED SER
*** STATUS FOR ALL PHASES
PHASE STATUS DRIVING FORCE MOLES
FCC_A1 FIXED 0.00000000E+00 1.00000000E+00
BCC_A2 ENTERED 0.00000000E+00 0.00000000E+00
HCP_A3 ENTERED -2.69336869E-01 0.00000000E+00
CEMENTITE ENTERED -2.86321394E-01 0.00000000E+00
M23C6 ENTERED -3.44809821E-01 0.00000000E+00
LIQUID ENTERED -4.95421844E-01 0.00000000E+00
CBCC_A12 ENTERED -6.16764645E-01 0.00000000E+00
M7C3 ENTERED -6.56332559E-01 0.00000000E+00
M5C2 ENTERED -6.83594326E-01 0.00000000E+00
GRAPHITE ENTERED -1.02142788E+00 0.00000000E+00
DIAMOND_A4 ENTERED -1.73225646E+00 0.00000000E+00
ALNI_B2 ENTERED -4.79816887E+00 0.00000000E+00
ENTERED PHASES WITH DRIVING FORCE LESS THAN -4.80
AL3NI2 GAS
HCP_A3 DORMANT -2.69336869E-01
SUSPENDED PHASES:
V3C2 KSI_CARBIDE FECN_CHI FE4N CUB_A13
*** STATUS FOR ALL SPECIES
C ENTERED C2 ENTERED C4 ENTERED C6 ENTERED FE ENTERED VA ENTERED
C1 ENTERED C3 ENTERED C5 ENTERED C7 ENTERED NI ENTERED
8.10.5 COMPUTE_TRANSITION
Description: This command is actually a combination of the CHANGE_STATUS, SET_CONDITION and
COMPUTE_EQUILIBRIUM commands, so it allows a direct calculation when a new phase
may form by varying one of the already-set conditions. It can be used only after at least
one equilibrium has already been calculated successfully; otherwise, the user will be
informed on the necessity of first making an equilibrium calculation to find out the stable
phases under the current conditions. It was available since TCCN, and has been improved
further in TCCP.
When this command is used, the program will call the CHANGE_STATUS command to
temporarily change the phase status of a user-specified phase as FIXED at the zero amount,
and at the same time to temporarily release one of the existing equilibrium conditions
(which is chosen by the user). The program will calculate a new equilibrium in which that
specific phase is stable but its equilibrium amount in the system is zero. The released
condition will then be assigned with a calculated value that ensures the calculated
equilibrium. Afterwards, the program will automatically change the phase status of that
specific phase back to ENTERED, and reset the temporarily released condition as one of the
conditions and assign it with the value that has been calculated to ensure the zero-amount
formation of that specific phase.
This command is particularly convenient to find melting temperature, boiling temperature, or
solubility limits, and generally useful when the user wants to set the most optimal
conditions for calculating an equilibrium where a specific phase will become stable. It can
also be used when the user wishes to know exactly how far is one of the defined conditions
away from the value that can ensure a zero-amount of a specific phase in the system when
other conditions remain the same.
After a successful COMPUTE_TRANSITION calculation, the user may issue a
COMPUTE_EQUILIBIRUM calculation to assure the calculated transitional equilibrium is a
really stable one, and can also use the LIST_EQUILIBRIUM command to see the details
of transitional equilibrium state.
Since TCCP, 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 one wishes, and thus this new feature is very useful for finding out all
possible phase transformations along a certain released condition.
Synopsis: COMPUTE_TRANSITION
Ensuing Prompt: Phase to form: <phase name>
A new phase name, e.g., BCC that is expected to form, must be specified here. This
will change the status of this new phase to be FIXED as 0 amount, and the program
will show the information such as below:
You must remove one of the these conditions
P=100000, T=800, N=1, X(FE)=.5 DEGREE OF FREEDOM 0
Note that since TCCP, it is also possible to find out any new phase to be formed in a
certain direction of the released condition if the key word ANY is given as the phase
name when it is prompted for “Phase to form:”. In such a case, the above
informative message will also be shown on screen.
Give the state variable to be removed /T/: <one condition>
One condition as listed in the above message must be removed, in order to be able
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 following message may come up (after a successful calculation) if having
typed, e.g., X(Fe):
To form BCC the condition is set to X(FE)=.48605791769
This calculated value will then be assign as the parameter of that removed condition, in
this case, the X(FE) variable. So the following message will be shown on the screen,
if the LIST_CONDITIONS command is typed:
P=100000, T=800, N=1, X(FE)=4.86057918E-1
DEGREES OF FREEDOM 0
Note that in TCC version P, 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 following line
will be further 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 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 instance, if a combination of -.02 is input, the following message may
come up (after a successful calculation):
To form BCC_A2#1 the condition is set to X(FE)=.493708756187
This calculated value will then be assign as the parameter of that removed condition, in
this case, the X(FE) variable. So the following message will be shown on the screen,
if the LIST_CONDITIONS command is typed:
P=100000, T=800, N=1, X(FE)=4.93708756E-1
DEGREES OF FREEDOM 0
8.10.6 SET_INPUT_AMOUNTS
Description: This command can be used to specify how a system is made up from mixing of various
substances. It is most useful with a substance database. In the C-H-O-N system, one may,
for example, give
S-I-A N(H2)=10,N(H2O)=25,N(C1O2)=5,N(N2)=100
The POLY module will convert this into conditions for the current set of components. In the
case when the elements are the components the command above is equivalent with
SET-CONDITION N(H)=70,N(O)=35,N(C)=5,N(N)=200
Note that one may also give negative amounts in the SET-INPUT-AMOUNTS command!
8.10.7 SET_NUMERICAL_LIMITS
Description: This command makes it possible to change the criteria for convergence. This is very helpful to
speed up a calculation in a complex system.
This command will first list on screen various limitations of system definitions, as below:
LIMITATIONS of the present version of Thermo-Calc
Max number of elements : 40
Max number of species :1000
Max number of sublattices in a phase : 10
Max number of constituents in a phase: : 200
Max number of constituents in an ideal phase :1000
Please notice that the maximum number of constituents in a non-ideal solution phase, such
as the AQUEOUS solution using the SIT, HKF or PITZ models, has been increased from 80
to 200 since TCCP.
Synopsis: SET_NUMERICAL_LIMITS
Ensuing Prompt: Maximum number of iterations /200/: <xxx>
By default, the program will try 500 iterations (increased from 200 as in previous
versions) before it gives up. As some models will give computation times of more than
1 CPU second/iteration, this number is also used to check the CPU time and the
calculation will terminate if 500 CPU seconds/iterations have been used.
Required accuracy /1E-6/: <yyy>
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 will
normally mean fewer iterations but less accurate solution. The value should be at least
one order of magnitude larger than the machine precision.
Smallest fraction /1E-30/: <zzz>
This is the value assigned to constituents that are very unstable. It is normally only in the
gas phase one may find such low fractions.
Approximate driving force calculation for metastable phases /Y/: <Y or N>
Normally the POLY module only requires that the set of stable phases is in equilibrium in
order to terminate the iterations. The metastable phases are included in all iterations but
they may not have reached their most favorable composition and thus their driving
forces may be only approximate [corresponding to the Y (Yes) answer for this
question]. The user may also force the calculation to converge for the metastable
phases by answering this question by N (No), if it is very important that these driving
forces are correct, which may require more iterations, and the STEP and MAP
command may also terminate due to bad convergence in a metastable phase.
Notes: Since TCCP, if there is any convergence problem in finding a stable solution at any stage
during a calculation procedure enforced by the COMPUTE_EQUILIBRIUM, or
STEP_WITH_OPTION, or MAP or SPECIAL_OPTIONS command (except for the
case where the special option NEVER_ADJUST_MINIMUM_Y has been switched on), the
following messages will appear 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
implying that smallest site fraction in the current POLY3 workspace has been automatically
increased from the default value 1.00E-30 to the hardware-dependent precision (under
PC Linux, as 2.00E-14). For other subsequent POLY-module calculation in the current
TC run, you can use this SET_NUMERICAL_LIMITS command to restore or reset the
smallest site fraction to the previous or another preferred value, as well as to reset other
numerical limits.
8.10.8 SET_ALL_START_VALUES
Description: This command is unnecessary unless one wants to supply 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 will be asked for values of them. Then for each phase prompt on if it should
be stable and on its constitution.
Synopsis: SET_ALL_START_VALUES
Ensuing Prompt: T /XXXX/: <temperature in K>
If the temperature is not a condition, the user must supply a guess of its final value (in K).
P /100000/: <pressure in pa>
If the pressure is not a condition the user must supply a guess of its final value (in pa).
Automatic start values for phase constitutions? /N/: <Y, N or F>
The user may answer N (No), Y (Yes) or F (for FORCE). The default is No.
The reason for the F option is that in some cases the calculation has failed because the
user has set impossible conditions, 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 will fail anyway. When the user detects 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, one gives the answer F for FORCE.
If the user answers Y (Yes), this command will immediately terminate, and the program
will automatically set the start values for phase constitutions in all possible phases.
If the user accepts N (No) by pressing RETRUN, he will be asked to supply an initial
amount of each entered phase and their major constituents or site fraction of each
constituent.
Should <phase> be stable /N/: <Y/1 or N/2>
A guess on if this phase should be stable or not is requested. All entered phases will be
prompted for this question and next two. Note that 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 changed. If there should be no major constituent give NONE and or if
the major constituent(s) are improperly specified, you will be asked for individual
fractions in the phase.
Y(<phase>,<constituent>) /.XXXXXXXXXX/: <.YYYYY>
The current value (.XXXXXXXXXX) is default. The user may accept the default by
pressing <RETURN> 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 will also be
suffixed with a hash sign “#” followed by a digit.
8.10.9 SET_START_VALUE
Description: A start value of an individual variable can be set by this command. It is rarely used any more
as the automatic start values can be handled for most problems.
Synopsis: SET_START_VALUE
Ensuing Prompt: State variable: <name of a state variable>
The state variable must be given.
Value:
Specify the value to be assigned the state variable as start value.
8.10.10 SET_START_CONSTITUTION
Description: This command is similar to the SET-ALL-START-VALUES command, but is used for an
individual phase that may have a wrong constitution.
Synopsis: SET_START_CONSTITUTION
Ensuing Prompt: Phase name: <name of a phase, and possible major constituent(s)>
Specify the name of a phase for which the constitution shall be set.
If there is a major constituent of the phase, you must specify this on the same line as the
phase name. By giving a “*”, the user selects 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.
8.10.11 RECOVER_START_VALUES
Description: This command can recover the start values in equilibrium calculations. But it is not
implemented yet.
Synopsis: RECOVER_START_VALUES
8.10.12 ENTER_SYMBOL
Description: Symbols are a very useful feature of the POLY module to define quantities that are
convenient for the user. Symbols can be constants, variables, functions or tables.
Constants can only be entered once and is just 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
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.
Variables are similar to functions because they can also be expressions of state
variables. However, contrary to functions, they will only be evaluated when
they are entered or if they are explicitly named in an EVALUATE command.
It is possible to enter a variable with a new expression anytime. This
expression will be evaluated directly and its value stored as the value of the
variable. Defined variables can be used as values in the SET-CONDITION
command.
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.
Note: There is a special connection between tables and variables. If a variable is used in a
table, it will be evaluated for each line of the table in the TABULATE command or
when the table is used in a plot.
8.10.13 LIST_SYMBOLS
Description: For all constants, functions, variables and tables, their definitions can be listed by this
command. The defined variables will be listed up together with the defined functions, but
variable names will be followed by a percentage sign “%”.
In order to find the value of a function or variable, use the SHOW or EVALUATE commands. A
table is tabulated with the TABULATE command.
Synopsis: LIST_SYMBOLS
8.10.14 DELETE_SYMBOL
Description: Symbols (i.e., constants, variables, functions or tables, which are entered by the command
ENTER_SYMBOL) can be deleted by this command.
8.10.15 SHOW_VALUE
Description: This command is used to show on the screen the current value of any state variable, function
or variable.
8.10.16 EVALUATE_FUNCTIONS
Description: The value of one or more or all entered functions or variables are evaluated and listed. Note
that variables are evaluated only if they are explicitly named.
8.10.17 TABULATE
Description: This command will give the values of an already-defined table (with various properties varied
with the stepping axis variable) from equilibria calculated with a STEP command. One can
tabulate a table even the table is entered after the STEP calculation.
8.10.18 LIST_INITIAL_EQUILIBRIA
Description: This command lists all the equilibria added with the ADD_INITIAL_EQUILIBRIUM
command. All the initial equilibria are used for the STEP and MAP commands.
Synopsis: LIST_INITIAL_EQUILIBRIA
8.10.19 LOAD_INITIAL_EQUILIBRIUM
Description: This command copies all conditions and calculated results from a specific added initial
equilibrium to the current equilibrium. The current conditions and results are lost.
Synopsis 1: LOAD_INITIAL_EQUILIBRIUM <number of an initial equilibrium>
Synopsis 2: LOAD_INITIAL_EQUILIBRIUM
Ensuing Prompt: Number: <number of an initial equilibrium>
Specify the number of an initial equilibrium to be loaded as current. The
number can be found with the LIST-INITIAL-EQUILIBRIA command.
8.10.20 DELETE_INITIAL_EQUILIBRIUM
Description: This command deletes an initial equilibrium or all initial equilibria. The initial equilibria are
used as start points for the MAP and STEP commands, see also the ADD-INITIAL-
EQUILIBRIUM command.
Synopsis 1: DELETE_INITIAL_EQUILIBRIUM <number of an initial equilibrium>
Synopsis 2: DELETE_INITIAL_EQUILIBRIUM
Ensuing Prompt: Number /ALL/: <number of an initial equilibrium>
Specify the number of an initial equilibrium to be deleted from the
POLY3 workspaces. Use the LIST-INITIAL-EQUILIBRIA command to find out
the numbers for all initial equilibria. By default, ALL are deleted.
8.10.21 AMEND_STORED_EQUILIBRIA
Description: This command gives information about the calculated blocks (and phase regions included in
blocks) after the STEP or MAP calculation(s). It allows the user to list all or parts of the
calculation results, to suspend all or parts of the calculation results that are redundant or
where metastable equilibria have been 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.
One may use one the following options:
• L for listing the calculated equilibria (all or a specified block)
• S for suspending everything (all blocks and their regions)
• Q for suspending each set of equilibria individually (specified blocks and/or regions)
• R for restoring everything (all blocks and their regions)
Synopsis: AMEND_STORED_EQUILIBRIA
Ensuing Prompt: Name: <name of a defined table>
Options: L(ist) S(uspend) Q(uery suspend) R(estore) /L/: <option>
One may just 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. Alternatively, one can include all the
blocks in the amending option, by accepting the wild card “*” (pressing <RETURN>).
In case of the option L, a block (if a block number is specified) or all the blocks (if the
wild card “*” is accepted/used), with the regions and the equilibrium details, that have
been calculated during stepping or mapping will be listed out on screen or in a textual
file (see later).
In case of the option Q, each ranger in a block (if a block number is specified) or in all
blocks (if the wild card “*” is accepted/used) will be shown up on screen and the user
will be asked if suspending or keeping it (see later):
S(uspend) K(eep) /K/: <S or K>
In case of the option S or R, if a block is specified, the user will be asked on which region
in the block shall be suspended or retored; however, if the wild card “*” is
accepted/used, the user will be asked the following question (and needs to answer Y or
N):
Really suspend all /N/: <Y or N>
Really restore all /N/: <Y or N>
If the answer to the above question is N, the program will sequentially ask for which
block(s) and which region(s) in a certain block to execute the S or R action.
Really suspend all /N/: <Y or N>
Confirm your choice: Y for suspending everything, or
N for not suspending everything
Really restore all /N/: <Y or N>
Confirm your choice: Y for restoring everything, or
N for not restoring everything
Range: <range(s) of region>
The user may specify one or more ranges to be suspended (the S option) or restored (the
R option). By typing the wild card “*” to suspend or restore all ranges in the specified
block. In order to know the ranges the LIST option must first be used.
S(uspend) K(eep) /K/: <S or K>
The “Query suspend” option (Q) will ask 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
<RETURN>. A list of stored equilibria as various blocks (with all their ranges) will be
shown out on screen or the file.
8.10.22 SET_MINIMIZATION_OPTIONS
Description: This command (newly-implemented since TCCR/TCW4) is designed to decide how to
perform the Gibbs energy minimizations in the POLY module. By default, the POLY
module in TCCR/TCW4 uses the Global Minimization Technique for various single-point
equilibrium calculations (and partially for stepping or mapping calculations). The user can
use this command to permanently (for all sequential calculations throughout the current
TCC run) turn off the Global Minimization Technique and consequently use only the
normal POLY optimization routine (which is similar to that in previous versions e.g.
TCCQ/TCW3, TCCP/TCW2 and so on), and additionally adjust the way 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, one can further 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 way on how to
control the steps in reach Gibbs energy minima in an equilibrium state, in order to improve
convergence.
Of course, the same command can be used again to switch on the Global Minimization mode
afterwards.
This command consists of two parts: one for adjusting Global Minimization settings, and
other for adjusting the normal POLY optimization routine (general calculations). The
syntaxes (and default options) look as below:
Settings for global minimization:
Use global minimization /Y/:
Maximum number of gridpoints per phase /20000/:
Settings for general calculations:
Force positive definite Phase Hessian /N/:
Control minimization step size /N/:
The first two options will adjust the way that the Gibbs energy minimization is done, and
last two will affect how the POLY optimization does the normal minimization to reach the
minimum of an equilibrium state.
Synopsis: SET_MINIMIZATION_OPTIONS
Ensuing Prompt: Use global minimization /Y/: <Y or N>
The user may choose to answer Y (Yes) or N (No), to decide if using Global
Minimization Technique or not.
By answering Y (Yes), the global minimization is done when possible (depending on the
condition settings), and global minimization test is always performed. This costs more
computer time but the calculations are more accurate.
By answering N (No), the global minimization is never tested for or done for all
sequential calculations throughout the current TCC run. This implies that Global
Minimization Technique will be permanently turned off, and that consequently only the
normal POLY optimization routine will be used.
Maximum number of gridpoints per phase /20000/: <integer number>
Specify the maximum number of grid points that will be 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 accuracy and take more computation
time. The total number of computed grid points in all phases is limited to 2E6 in
TCCR/TCW4.
Force positive definite Phase Hessian /N/: <Y or N>
The user can choose to answer Y (Yes) or N (No), to determine the way on how to reach
the minimum of an equilibrium state in a normal POLY optimization procedure. This is
related to the special quantity, the phase stability function QF(phase), for all kinds
8.10.23 SPECIAL_OPTIONS
Description: Since TCCN, this command replaces the old SET_MISCIBILITY_GAP command of some
previous TCC versions, and adds 7 more options in TCCN, 4 more in TCCP, and further 2
more in TCCQ.
At present moment, the following 14 options can be set:
SET_MISCIBILITY_GAP
SET_MAJOR_CONSTITUENTS
MISC_GAP_TEST_INTERVAL
SET_PHASE_ADDITION
LIST_PHASE_ADDITION
SET_BREAK_CONDITION
SET_PRESENT_PHASE
OUTPUT_AT_MAP_AND_STEP
T-ZERO TEMPERATURE
PARAEQUILIBRIUM
STABILITY_CHECK
NEVER_ADJUST_MINIMUM_Y
TOGGLE_ALTERNATE_MODE
SHOW_OUTPUT_FILE
NONE
Synopsis: SPECIAL_OPTIONS
Ensuing Prompt: Which option? / SET_MISCIBILITY_GAP /: <Option>
Option: Choose one of the following 12 options or NONE (for no special option). For some options,
some further questions will be asked.
SET_MISCIBILITY_GAP
A solution phase that can exist with two (or more) different compositions simultaneously
must have two (or more) composition sets in its phase descriptions. Previously this had
to be done in the Gibbs Energy System (GES mdoule), but in the version TCCJ the
command SET_MISCIBILITY_GAP was introduced into the POLY module. Now it
has been made a subcommand of the SPECIAL_OPTIONS command. Normally the
database creates as many composition sets as is necessary but the user can use this
command to add or delete more sets.
It is often necessary to have two or more composition sets in phases that have
order/disorder transformations, but the users have often forgotten to create composition
sets for both the ordered and disordered phases, and this leads to program crashes. This
special option can automatically create composition sets also for disordered phase
when it is executed for the ordered phase.
If the user has his own data file, this special option must be used to indicate that a
solution phase may 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 for amending composition-set) or been
manipulated through the GES module (using the AMEND_PHASE_DESCRIPTION
COMPOSITION_SET command-sequence). This special option will ask 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.
Phase with miscibility gap: <name of a phase>
Specify the name of the phase with miscibility gap.
New highest composition set number /2/: <#>
The default value will usually be one higher than the current value. Each phase has
initially one composition set. If a lower value is given, composition sets will be deleted.
One cannot take away the first composition set.
The following message appears to show that the user is requested to specify the
composition for the composition set # (2,3,…).
Give for composition set #
Major constituent(s) for sublattice 1: /XX/: <YY>
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 question will be 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.
SET_MAJOR_CONSTITUENT
This gives an option 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 SET_MISCIBILITY_GAP option; but for the first
composition set, this option may be needed before using SET_MISCIBILITY_GAP
option.
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 (#) will usually be /1/ as the other
composition sets will be 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 will be repeated for each sublattice in the phase.
MISC_GAP_TEST_INTERVAL
A miscibility gap test has been added to all calculations. This works both in the normal
compute equilibrium as well as in STEP and MAP. Normally the database will create all
necessary composition sets for possible miscibility gaps of a phase, but the user may
also enter them, see other SPECIAL_OPTION options. The test will try the default
composition of all composition sets and calculate if it is possible for the set to exist,
stable or metastable, with a composition different from any other composition sets of
that phase. If this is successful, it means that one is within a stable or metastable
miscibility gap. If all composition sets have different compositions, the test will be
skipped, otherwise there will be a message for each phase tested. This message will
have probably been suppressed in some later versions.
Miscibility gap test frequency /5/: <#>
This rather awkward command can be useful to control the miscibility gap test during
STEP and MAP. By default a test is made every fifth calculation but the user may
change this to another numerical number # by this option if there are problems during a
MAP or STEP command.
SET_PHASE_ADDITION
In some cases it may be interesting to add a constant contribution to the Gibbs energy of a
phase (stoichiometric or solution). This can, of course always, be done also in the
Database Module (TDB) or Gibbs Energy Module (GES), for a stoichiometric phase,
or for a pure end-member in a solution phase; however, if the addition is related to the
equilibrium state, for example, strain energies or surface energies or interfacial
energies, it may be more convenient to have this quantity related to the equilibrium
state rather than the thermodynamic data. Two special options related to this aspect
have been added to the SPECIAL_OPTIONS command, i.e.,
SET_PHASE_ADDITION and LIST_PHASE_ADDITION.
The user may give a value of an addition to the Gibbs energy of a phase. The value
should always be constant (implying that the addition is not a function of phase
composition or temperature-pressure conditions in the equilibrium state) and always be
given in the unit of J/mol formula unit of the phase.
Phase name: <name of a phase>
Specify the name of the (stoichiometric or solution) phase with the addition.
Addition to G per mole formula unit: <xxxxx>
The value (xxxxx) given will be added to the Gibbs energy of the (stoichiometric or
solution) phase. It can represent a nucleation barrier, surface tension, elastic energy or
whatsoever. Note that it is not composition-, temperature- or pressure-dependent.
LIST_PHASE_ADDITION
The values set as additional contributions (given by the special option
SET_PHASE_ADDITION) to Gibbs energy Gm (J/mol formula unit) to all the phases
(stoichiometric or solution) are listed at the current calculated equilibrium.
SET_BREAK_CONDITION
The condition for terminating a STEP command can be set.
Break Condition: <a break condition>
The user can specify a break condition that can cause the STEP calculation to
terminate before it has reached the end of the axis. The break condition can look like
NP(LIQ) < 0.001 or W(FCC,CR) >.13 or REST=1 where REST is a user
defined function or variable.
SET_PRESENT_PHASE
The phase specified with this option must be stable at all equilibria calculated during a
MAP command. It is a convenient way to limit the calculations of the monovariant lines
in a ternary system to those in the liquidus surface. Normally such a calculation would
have two compositional axes and a temperature axis and all monovariant lines, also
those between 3 solids, would be mapped. If the liquid is set present only those with
the liquid will be mapped.
Phase name: <name of a phase>
Specify the name of the phase that should be present at all calculated equilibria.
OUTPUT_AT_MAP_AND_STEP
Normally, the information given on screen during a MAP or STEP calculation is
compressed, and only the first few values of the mapping or stepping variables are
shown for each phase assemblage. However, if one wishes to see all the details of a
MAP or STEP calculation as in a long list, he can set this special option on.
On? /Y/: <Y or N>
The user may answer Y (Yes) or N (No). The default is Y to switch on the extensive
listing during all subsequent MAP or STEP calculations. By answering N, the listing is
set back to normal.
T-ZERO TEMPERATURE
This special option 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 special-option calculation;
however, it is unnecessary to obtain an equilibrium state in which either one or both of
the target phases is stable.
Name of first phase: <phase A>
Name of second phase: <phase B>
At these two prompts, the names of phases A and B must be given, for which the T0
temperature (where their Gibbs energies are equal) is to be calculated.
If the T0 temperature between the two specified phases has been successfully calculated,
the following two messages will appear on screen, 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 one indicates that after this special-option calculation the
LIST_EQUILIBRIUM command is irrelevant and does not list the equilibrium for the
system at the T0-temperature.
PARAEQUILIBRIUM
This special option calculates a paraequilibrium between two specific phases in an alloy
system with interstitial component(s) as fast diffusion species. Note that within TCCP
only carbon C was possible to be considered as the interstitial component which was
always set as default; however, this special option been greatly modified and improved
in TCCQ, and it now allows more than one interstitial components treated as fast
diffusion species (such as C, N, O, S, etc., as individual or combined) in a
paraequilibrium calculation.
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 by the SET_AXIS_VARIABLE command.
To ensure a successful point calculation of paraequilibrium state between two
specific phases in a defined alloy system, it is very important to first make a
starting-point equilibrium calculation with an initial overall composition in the
current system before performing this special-option calculation; however, it is
unnecessary to obtain an equilibrium in which either one or both of the target
phases is stable. The initial overall composition must have a reasonable setting for
the desired paraequilibrium calculation for the two target phases. This is
especially true for cases where there are more than one interstitial components to
be considered in the paraequilibrium state, because different interstitial
components (for instance C and N combined) may have significant different
behaviours as partitioning into different structured phases; otherwise, for one
chosen interstitial component the initial overall composition is OK for the
paraequilibrium calculation between the specified two phases, but for other
chosen interstitial component(s) it might be impossible to calculate the
paraequilibrium state.
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 line at
once (separated by an empty space, e.g., “FCC#2 M23C6”).
Please note that you must have completely understood what you are dealing with
here in terms of calculating a paraequilibrium state between the two specified
phases. Specifically, there are four distinguished cases which need to pay a great
attention (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 simply impossible to calculating the
paraequilibrium state between the target phase pairs with given interstitial
component(s) in the currently defined system.
Fast diffusing component: /C/: <interstitial component>
Since TCCQ, it is possible to specify one or more interstitial component(s) as fast
diffusion species.
Please note that such specified interstitial component(s) must be appropriately
defined according to the phase constitution definitions of the two selected phases:
It/they must be located on the interstitial/vacancy sublattices in both chosen
phases.
If the desired fast diffusion component is not the default C (carbon), then type the
appropriate interstitial species; you can input more than one such interstitials at once on
the same line (separated by an empty space, such as “C N”).
Fast diffusing component: /NONE/:
If there is/are more fast diffusion component(s) for the current paraequilibrium
calculation, then type the appropriate interstitial species; otherwise, just press
<RETURN> key to start the paraequilibrium point calculation.
If the paraequilibrium state between the two specified phases has been successfully
calculated, the following messages will appear on screen, e.g.,
NP(FCC) = 1.0012 with U-fractions C = 4.02917E-04 N = 9.9616962E-05
NP(M23C6) = 0.0012 with U-fractions C = 2.60870E-01 N = 0.0000000E+00
All other compositions the same in both phases
Note: LIST-EQUILIBRIUM is not relevant
The first line shows the overall u-fraction of the interstitial component C in the system.
The first and second lines list the phase amounts expressed in mole-percent
[NP(phase)] and the content of the interstitial components C and N in a specific
phase expressed in the so-called u-fractions [u(phase,C) and u(phase,N)], for
the phase A (in this case as FCC) and phase B (in this case as M23C6), respectively.
The last two lines indicate that the all remaining compositions are the same in both
target phases in the current paraequilibrium state, and after this special-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 point calculation of the paraequilibrium state between the two specified
phases has failed, the following messages will appear on screen:
*** ERROR 4 IN NS01AD
*** Numerical error
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). 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.
STABILITY_CHECK
In some composition ranges of a multicomponent system, it often happens that an
unstable solution phase region locates inside a miscibility gap, and the stability limit
(the so-called spinodal curve or simply spinodal) may be not easy to find. A system
inside a spinodal is thermodynamically unstable with respect to compositional
fluctuations, and the system may experience the so-called spinodal decomposition (i.e.,
decomposing to a mixture of regions with the two stable compositions, one on each
side of the miscibility gap).
Since TCCP, this special option makes it possible to automatically check internal stability
of both stable and unstable phases in all subsequent single-point equilibrium and
MAP/STEP calculations. It can thus find out if any phase is subject to spinodal
decomposition during the subsequent calculations. If there is an unstable phase locates
inside a miscibility gap in a calculation, it gives a warning so that the user shall
suspend the unstable phase, or use FORCED automatic start values for phase
constituents (i.e., SET_ALL_START_VALUE FORCE command sequence), or create
other composition sets; the user could also simply ignore the warning message if he/she
knows that the unstable phase will not be formed anyhow in the current calculations.
Stability check on? /Y/: <Y or N>
The user may answer Y (Yes) or N (No). The default is Y to switch on the automatic
stability check during all subsequent single-point equilibrium and MAP/STEP
calculations. By answering N, there will be no stability check in various calculations.
Check also for unstable phases? /Y/: <Y or N>
If the automatic stability-check option has been switched on (in the last prompt), the user
can choose here on if he/she wishes to also check the stability for unstable phases. The
default is Y (Yes); consequently, 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 will inform the user to selectively make some necessary
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 (No), the stability
check will be enforced only to stable phases in the system.
NEVER_ADJUST_MINIMUM_Y
With this special option switched on, the smallest fraction for species in all subsequent
single-point equilibrium and MAP/STEP calculations will be permanently set as the
8.10.24 CREATE_NEW_EQUILIBRIUM
Description: During data-assessments using the PARROT/ED_EXP modules, one may, 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. If the user wishes to
keep the set of conditions and phase for this equilibrium, he may 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.
Synopsis: CREATE_NEW_EQUILIBRIUM
Ensuing Prompt: Equilibrium number /2/: <a new equilibrium number>
Each equilibrium in the POLY3 workspace is identified by a unique integer number. Such
an equilibrium number can be recalled by the SELECT_EQUILIBRIUM command
later on.
Initiation code /2/:
When an equilibrium is created, one may 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. Note that the entered
components and phases can lately be changed with the CHANGE_STATUS command.
8.10.25 SELECT_EQUILIBRIUM
Description: If the user has created more than one initial equilibrium (during data-assessments using the
PARROT/ED_EXP modules), he can switch between them using this command.
Synopsis 1: SELECT_EQUILIBRIUM <choice on equilibrium>
Synopsis 2: SELECT_EQUILIBRIUM
Ensuing Prompt: Number /NEXT/: <choice on equilibrium>
One may answer FIRST, LAST, NEXT, PREVIOUS or PRESENT.
Most commands affect only the PRESENT equilibrium. However, the REINITIATE and
DEFINE_COMPONENT commands will remove all equilibria.
8.10.26 MACRO_FILE_OPEN
Description: MACRO is an extraordinary convenient and easier way of pre-defining sequences of various
TCC (and DICTRA) commands on a simple textual file (normally with the default
extension “TCM” in TCC, or “DCM” in DICTRA) and then executing them by this
command. This command can be operated within various modules (SYS, POLY, PARROT
and TAB modules in the TCC software; SYS, POLY, PARROT and DICTRA_Monitor
module in the DICTRA software).
This is extremely useful when the same/similar calculations are made often with just some
small changes (in system definitions, conditions, plotting settings, etc.). One good case for
applying this feature is when calculating diagrams from an assessment. With a MACRO
file, all kinds of legal TCC (and DICTRA) commands can be stored in the file, and you just
need to type the MACRO command preceded by the file name.
The MACRO file can contain any legal TCC (and DICTRA) commands. The MACRO must
be terminated with the command EXIT, or interrupted in the SYS, GES, POLY, PARROT
or POST modules with the command SET_INTERACTIVE.
The interesting facility of a MACRO is to allow for some interactions with the user. Thus you
can have input in the following way:
GO POLY-3
SET AXIS VAR 2 T
@?Low-temperature-limit
@?High-temperature-limit
The MACRO will stop at the “@?”, write the text after “?” on the screen and wait for user
input. It will use the user input as input to the Thermo-Calc program; in this case values of
lower and higher axis limits.
You can have MACRO variables which are denoted #1, #2, etc. Max 9 variables. These can
be assigned values by:
@#3First element?
This will write the text after “@#3” as prompt to the user and wait for user input. The input
will be assigned to MACRO variable 3. You can then use these variables in different parts
of the macro. For example,
DEFINE-SYSTEM ##3
A textual copy of the content of MACRO variable 3 will be inserted at “##3”. You can use
this in more complicated commands also.
SET AXIS VAR 1 x(##3) 0 1,,,
will set the mole fraction of macro variable 3 as axis 1.
Note again that the MACRO commands must be terminated by a command
SET_INTERACTIVE when you are in POLY, POST, SYS, GES or PARROT module.
A MACRO file can have a pause at “@&”, but one may prevent stopping at any pause by
typing any character (except Y) after the MACRO file name.
A MACRO file can also have as many as possible comment lines began with the “@@” signs.
Such lines will provide a great assistant in easily documenting the MACRO file, while they
will not be considered as command lines and thus will not affect the proceeding of all the
normal Thermo-Calc commands when the file is called by TCC.
A MACRO file can be automatically generated by the TCC software, if in the SYS module
the SET_LOG_FILE command is used and an *.LOG file name is given before any other
SYS/TDB/TAB/GES/POLY/POST/PARROT/ED-EXP command or special module
command. Such an *.LOG file is a simple textual file, and by using any simple textual
editor (such as Notepad, Wordpad, PFE, Emacs, vi, etc.) it can be further edited: e.g., taking
away unnecessary command lines, modifying some commands, settings and definitions,
adding some pausing points, adding some helpful commenting lines began with “@@” signs,
etc. Then it can be saved as a MACRO file with the standard extension “TCM”.
An experienced user can also simply write/edit an appropriate MACRO file for desired
calculations/simulations, using any simple textual editor outside the TCC (and DICTRA)
program.
Since the TCC version N, a MACRO file can have 5 nested levels, i.e., a MACRO file can
call another MACRO file, and if one sub-level MACRO is terminated by the
SET_INTERACTIVE command it will be resumed at next command in the previous
MACRO. If it is terminated by end-of-file, the TCC program will be aborted. This
nice feature can be utilized for many different purposes, especially when a user is
performing alloy design which may require many (say hundreds) of
calculations/simulations on similar material system/processes (specified in many different
but appropriately-documented MACRO files which are organized in up-to-5 levels) during
a certain period of time (e.g., in an evening), the user can simply run the main MACRO (on
the top level) at a certain time (e.g., before leaving office) and afterwards (e.g., next
morning) the user can systematically and efficiently check/compare/analysis the results
(which have been saved as various graphical files, and/or EXP/TXT/XLS/… files).
It is worth to mention that: by simply adding the SYS_Module command SET_ECHO at the
every beginning of a MACRO file [or of the primary MACRO file on the top level if any
sub-level(s) of MACRO files are used], it is very convenient and extremely useful to
automatically show up on screen the complete details of various commands in all the
sequential operations in the TCC (and DICTRA) software, that are enforced according to
the MACRO file(s).
Synopsis 1: MACRO_FILE_OPEN <name of a Macro file>
Synopsis 2: MACRO_FILE_OPEN
Ensuing Prompt: Macro filename: <name of a Macro file>
Specify the filename with the MACRO command. The default extension is “TCM”.
Notes: Under Windows XP/2000/NT4 environments, if an appropriate MACRO file is not given
after the command, an Open file window will pop up on the screen, so that the path (in the
Look in box) and file name (in the File name box) can be appropriately specified, as
shown in Figure 8-6.
The file type (i.e., TCM, as in the Files of type box) can not be changed. By pressing the Open
button, the program proceeds with executing various Thermo-Calc commands. The user
may also cancel such an Open file window session, and thus the current MACRO file will
not be opened.
If the MACRO file contains some SYS/TDB/TAB/GES/POLY/POST/PARROT/ED_EXP-
module commands for setting *.LOG files, saving/reading GES5/POLY3/PARROT
workspaces, switching USER databases, compiling experiments (from existing *.POP
files), creating new *.PAR files, appending experimental data *.EXP files,
plotting/dumping diagrams, etc., a corresponding window (e.g., Save As, Open file, Print,
etc.) will pop up on screen. If desired by the user (and if the user knows exactly what is
doing at a certain point in a MACRO file), such popped-up 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.
More Notes: When using a MACRO file that is supposed to plot graphs on screen, but the command
SET_PLOT_FORMAT has been to 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, i.e., 1 (Windows XP/2000/NT4) or 9 (Linux and all types of
UNIX platforms).
For an extensive example, please refer to the TCEX12.TCM on the TCC installation area
\TCEX\ and in the TCCR Examples Book. For more details on how a MACRO is
constructed, please refer to Section 14.2.8.
8.10.27 REINITIATE_MODULE
Description: The module is reinitiated to the state it was when first entered. All reset conditions, changed
status, entered symbol are removed. The saved file name is restored to the default.
Synopsis: REINITIATE_MODULE
8.10.28 PATCH
Description: This command is only for those who think they know what they are doing! It has been deleted
since TCCN!
Synopsis: PATCH
8.11.1 Phase definitions and reference states for the aqueous phase
The aqueous solution phase is always referred as the so-called AQUEOUS phase, no matter what aqueous
solution model is applied to the phase. One would never mix different models for the phase, because that
whenever a database containing an aqueous solution phase is retrieved, a specific aqueous solution model
(which is predefined by the database) would be connected, e.g., the SIT Model with the TCAQ and PAQ
Aqueous Solution Databases, and the complete Revised HKF Model with the AQS Aqueous Solution Database.
As extensively described in the GES module (Gibbs Energy System, in Part 11), in order to handle various
charged aqueous species (free ions or complexes) and internal electron balance in the aqueous solution phase, a
special element (named “ZE”) is used in chemical formulas of aqueous species. For instance, H1ZE1 for H+,
H1O1ZE-1 for OH-, C2H1O4ZE-1 for HC2O4-, C2H3O2ZE-1 for CH3COO-, C6FE1H2N6ZE-2 for
FeC6H2N6-2.
Furthermore, for the purpose of calculating standard electronic potential (or redox potential) in the aqueous
solution phase, a hypothetical electrode phase (named “REFERRENCE_ELECTRODE”, referring to standard
hydrogen electrode) is predefined in the database and thus in all Thermo-Calc calculations. Of course, the
REFERRENCE_ELECTRODE phase shall never be stable together with the aqueous solution phase, and is thus
always assigned as a suspended phase in the GES5 and POLY3 workspaces.
The component definitions for the basic elements O (oxygen), H (hydrogen) and ZE (electron) in an aqueous
solution bearing system should be always as H2O, H+ and ZE, in order to construct the aqueous solution
phase, and to calculate the aqueous activities, concentrations, acidity (pH), electronic potential (Eh) and so on.
For other elements defined in the interaction system, their components can be defined as either the
corresponding elements (such as FE, NI, C, S, NA and CL) or other interested formulas (such as FECL3,
NICL2, CO2/CO3-2, H2S, NACL and CL-).
The reference state of the H2O component is usually set as the solvent (i.e., the constituent H2O) in the
AQUEOUS phase at the current temperature and 1 bar. For the convenience of calculating aqueous solution
concentration, normally in molality (mole of solute in 1 kg of water), the initial bulk composition of the H2O
component is usually set as 1.0 kg, i.e., B(H2O)=1000 or N(H2O)=55.5084. Of course, one may also set
the weight of water differently, e.g., 2 kg [B(H2O)=2000 or N(H2O)=111.0168] or 100 grams
[B(H2O)=100 or N(H2O)= 5.55084].
8.11.2 Connected models, databases and modules for the aqueous phase
There have been some improvements and modifications for thermodynamic calculations for aqueous solutions
since TCCL (released in 1996). Such improvements and modifications have been made on the following
directions:
1) Implementation and verifications of aqueous solution models in the Gibbs Energy System
(e.g., SIT, HKF and PITZ models; see Chapter 11)
2) Development and enlargement of aqueous solution databases in the Thermodynamic Database spectrum
(e.g., AQ/PAQ, TCAQ, AQS, etc.; see Chapter 4)
3) Establishment and enhancement of some advanced modules with easy-to-use interface
(e.g., POURBAIX; see Chapter 10)
Some more comprehensive models, reliable databases, advanced modules and enhanced features for aqueous
solution involved systems are under further development at Thermo-Calc Software.
All the standard state variables used for other phases (see Section 8.3.3 and Section 2.5 in the document
Thermo-Calc Software System) can be directly applied to the AQUEOUS solution phase. Moreover, some
additional derived variables that are defined as functions of state variables are necessary for the phase.
The Thermo-Calc software (especially some advanced, easy-to-use modules) predefines some derived variables
as assigned symbols (variables, functions and tables) for some phases, such as aqueous solutions, gaseous
mixtures, liquids, etc. A user can also define any derived variable, as he prefers for his systems.
Some examples of the Thermo-Calc predefined derived variables for the AQUEOUS solution phase are listed
and briefly described in Table 8-2. Because the EOS (Equation of State) expressions and standard
thermodynamic properties for the pure solvent H2O must be identical to that for the pure gas species H2O, some
derived variables for a GAS mixture phase are also listed in the table. Under a certain temperature-pressure-
composition condition, an aqueous solution phase may be in equilibrium with a stable gaseous mixture phase or
a saturated vapour.
Please note that some of derived variables for such phases as listed in the table may have been automatically
predefined by the GES and POLY modules, as well by some advanced modules (e.g., POURBAIX).
Please also note that such derived variables, either predefined by the GES, PLOY or POURBAIX module, or
entered by the users, are saved as special symbols (variables, functions or tables). As clearly mentioned in
Section 8.10.7, each symbol has a unique name that must start with a letter and can have maximum 8 legal
characters [including letters (either UPPER or lower case), digits and underscore “_”, but not any other special
character such as parentheses “(” and “)”, plus “+”, minus “-”, slash “/” or “\”, period “.”]. Therefore, those
quantities for various individual aqueous species (and gaseous species) are defined as a name followed by a
digital number, e.g., NS#, ML#, TIC#, RC#, logAI#, AI#, (and RA#, RF# and FUG#).
1) More equilibrium information for the solvent (water) and each of the aqueous solutes are list in table,
including: site fraction, mole numbers, molality, activity and its common logarithm (log10Act).
2) Some overall properties for the entire aqueous solution phase are list as well: acidity, electronic
potential, thermodynamic affinity and activity of hypothetical electron, ionic strength, total
molality, titration alkalinity, water activity and osmotic coefficient, and so on.
3) The lowest site-fraction limit for aqueous solution species can be altered using the
SET_NUMERICAL_LIMIT command.
Accordingly, the POLY command LIST_EQUILIBRIUM always automatically presents some modified and
additional information for an aqueous solution phase.
Table 8-2. Examples of derived variables for aqueous solution and gaseous mixture phases
The first part of output table for the AQUEOUS solution phase is essentially the same as normal cases, i.e., it
contains the Phase status, Driving force, Number of moles, Mass and Mole fractions of system components.
The second part for the phase consists of the details of phase constitution: corresponding to each aqueous
species, there exist Site Fraction, Mole number, Molality, Activity and its common logarithm (log10Act).
µ A = µ Ao + RT ln aA
where aA = γ A X A with γ A → 1 as X A → 1 (i.e., pure solvent)
For the solute (the minor component), use Henry's Law, and take the standard state as the hypothetical
state at unit molality but in which the environment of each molecular is the same as at infinite
dilution:
µ B = µ BΟ + RT ln aB
def
Ο
where aB = γ B mB / m Ο with γ B → 1 as mB → 0 , m = 1 mol/kg (i.e., infinite dilution)
For further readings on the definitions, please see Atkins (1982): Physical Chemistry (2nd Edition), pp. 243-248
and pp. 314-316.
(The applications of such terms are MUCH LESS CONFUSING than their definitions.)
The third part for the phase gives some additional information on solution properties for the entire aqueous
solution phase, as below:
Solution Properties: pH = 8.8472 Eh = -0.5263 V I = 3.0067
pe = -8.8962 Ah = -50.7796 kJ m* = 6.0143
Aw = 0.9010 Os = 0.9622
At1= 3.9785E-23 At2= 1.2452E-05 (equiv—mol/kg—H2O)
The heterogeneous equilibrium calculations involving aqueous solutions in the Thermo-Calc package is
nevertheless the same as other types of equilibrium calculations. However, the setups of equilibrium conditions
and reference states in the calculation systems must be made in an appropriate way, the setups of equilibrium
conditions and reference states in the calculation systems must be made in an appropriate way, mainly due to
the four respects given as below:
the complexity of the aqueous solution models;
the special choices of the standard and reference states of aqueous species;
the unique definitions of activities of water and solutes; and
the requirements on proper definitions for aqueous concentrations.
In practice, the calculations can be performed in the traditional command-lines or in special advanced-modules,
with the above four respects kept in mind or in design.
Other POLY commands might need to be used to specify the interaction system in more details, especially for
pure solid, solid solution and gas mixture phases. For details, see the corresponding parts in this chapter.
With such special advanced modules, the user will not need to specify the complicated system/component
definitions and the basic calculation conditions; instead, the software just asks the user to answer some simple
questions, and then conducts the entire calculation and post-processing automatically.
When a calculation fails to converge check first that the set of conditions are reasonable. This may not be trivial
and the following checks are recommended:
Note that if you have conditions on the overall amounts of fractions of the components, the amount of one of
the components should not be given explicitly but be given by the condition N=1 (i.e., that the system is closed
with one mole of components). Note that if you have only “mass balance” conditions this means that the system
is closed.
8.12.1.3 Phases
Some conditions are identical although they may not seem so. Of course setting the activity of C equal to unity
and the partial Gibbs energy of C to zero is the same thing but it may not be obvious that changing the status of
graphite to fix is also the same thing. (All these conditions require that C has graphite at the current temperature
as reference state). Note that in the SGTE solution and substance databases the default reference state is the
stable state at 298 K and 1 bar. Using this reference state carbon will always have activity lower than unity at
higher temperatures even if it is in equilibrium with graphite. But, it is not necessary to have one condition on
each component. It is perfectly legal to have conditions both on the amount and on the activity of carbon.
If you have checked and double-checked your conditions, you can try the SET_ALL_START_VALUES F
command-sequence. The option F stands for “FORCE” and by this command the program will set automatic
start values even if some phase is stable. Give another C_E command.
If this is not successful you must provide explicit manual start values before giving a new C_E command. If
you answer N to the question of Automatic start values this command will first ask you for a start value of T
and P unless they are set as conditions. Secondly it will for all entered phases ask if the phase should be stable.
The selection of initial set of stable phases is usually the most important for the convergence. In particular when
some phases do not dissolve all components. The calculation will invariably fail unless the initial set of phases
can span the composition space. Usually this is not a big problem as the gas phase or liquid phase usually exist
over the whole composition space and by assuming only gas or only liquid one will always be able to start the
iteration cycle.
The command will also ask you for major constituents of the phases which may vary in composition. There are
several answers to this (as is displayed by a ? when asked this question). By giving * the default major
constituents will be set (usually a good choice).
By giving $ the current constitution is not changed, by giving NONE the program will ask for the site fraction
of each constituent. The constitution of the phases are usually less important than the initial set of stable phases,
unless you have miscibility gaps. If you have a miscibility gap you must enter both composition sets as stable
and give initial compositions on the different sides of the gap.
If everything else fails, you may have to SUSPEND all phases except one. This should be the one you think
should be dominant but there are exceptions. If you calculate an equilibrium with stoichiometric phases at low
temperature, the program may have difficulties to find the set of stable phases. In that case it may be
advantageous to suspend all phases and just have the gas phase entered (provided the gas phase dissolves all
components!), even if the gas may not be stable at the final equilibrium. The calculation with just the gas phase
MUST converge if it dissolves all components and the conditions are reasonable. When it has converged you
may set the phases back to dormant by the command
C-S P *S=D
C-E
L-ST P
The *S means all suspended phases and =D means that they are set dormant. After a new C-E give an L-ST P
command and this will display the phases ordered in decreasing driving force. The phases that would like to be
stable have positive driving forces. Try to set the phase with highest positive value back as entered with the
amount one mole.
C-S P <phase>=E 1
C-E
L-ST P
This should also converge. If not there is probably something wrong with the data for <phase>. The new L-
ST P command will show which phase now has the highest driving force. Change this to be entered and
continue like this until all dormant phases have a negative driving force. Save the result after each successful
calculation. Note that some of the phases you have set entered may become unstable (negative driving force) as
you add new phases. Then set all dormant phases back as entered with zero amount, and you have calculated the
first equilibrium! DO NOT FORGET TO SAVE THIS ON A FILE!
Another case which is more troublesome is calculations with the SLAG database. In this database the gas phase
only dissolves O2, the SLAG phase exists only for high oxygen content and the FE_LIQUID phase exists only
for low oxygen content. Thus, both the SLAG and the FE_LIQUID phase must be stable at the initial
equilibrium, and the FE_LIQUID phase must be high in Fe. In this case, a special strategy is recommended
shown in the examples on the use of the SLAG database (i.e., Example 10 in the Thermo-Calc Examples
Book).
Answer: You have used the command SET_DIAGRAM_AXIS X X(<element>) when you should have
used SET_DIAGRAM_AXIS X MOLE_FRACTION <element>!
If you have calculated an isopleth, it does not matter what to use as axis variable as the program must calculate
all lines. It is only when you have tie-lines in the plane (as in binary or ternary systems) it matters.
You may play a lot with this. In principle you should use MOLE-FRACTION after a MAP command and
X(element) after a STEP command. But sometimes you can also use MOLE-FRACTION with STEP, even in
cases when the overall composition has been constant! And sometimes you should use X(element) or
X(phase,element) after a MAP command, the latter for example to get the liquid composition along
monovariant lines! Thus you should not be rigid about what axis you use in the post processor but try various
options. Just remember that MOLE-FRACTION is the same as X(*,element) and not X(element)
because * means all stable phases.
8.13.2 Why can not I plot the diagram after I have SAVED it?
Answer: You should never use the SAVE command after a MAP or STEP because that actually destroys the
results of these commands. You should use SAVE before STEP or MAP!
From version J and on, there is a better message explaining what happens when you give a SAVE command on
a file that contains results from a MAP or STEP. Results are automatically saved on a file during MAP and
STEP. If you afterwards give a SAVE command that will save the current workspaces but destroy any previous
results.
Answer: The entropy S is always calculated for constant pressure and composition whereas G.T is calculated
for the current conditions.
POLY recognizes a large number of state variables like G, H, S, T, N, MU, AC, etc. You can use them as
conditions or obtain the value of any of these variables with a command like:
SHOW S
This will give the entropy for the whole system which is calculated as the partial derivative of the Gibbs energy
with respect to temperature at constant pressure and composition. One may also use normalizing suffices like M
for “per mole”, W for “per gram”.
But POLY also provides a possibility to generate your own functions of these state variables, in particular by
using the facility to take partial derivatives by using the dot “.” notation. Thus you may obtain the (negative of
the) entropy by the command:
SHOW G.T
One may only have one level of dots. Thus G.T.T is not legal but one may instead use -S.T.
But do not be surprised if G.T is different from -S because this derivative is calculated for the current
conditions. And if you for example has a condition on the activity or a phase fixed, etc., that means that you do
not have fixed composition.
You should know that the partial Gibbs energy of a component, like Fe, can be obtained by
SHOW MUR(FE)
You should also know that the partial entropy is the negative of the derivative of this with respect to
temperature, i.e., “S(FE)” = -MUR(FE).T. However, you cannot use the command SHOW S(FE) as the
state variable S can only take a phase name as argument. Thus S(LIQUID) is a legal state variable but not
S(FE). The only way to obtain the (negative of the) partial entropy is by the command:
SHOW MUR(FE).T
But you wanted the partial enthalpy. The relation between Gibbs energy, enthalpy and entropy is G = H -
TS. This is valid also for partial quantities. Thus the partial enthalpy of a component H(FE) = MUR(FE) +
TS(FE). The formula for S(FE) was given above and you may thus obtain the partial enthalpy by entering the
following commands
ENTER VARIABLE HFE = MUR(FE)-T*MUR(FE).T;
SHOW HFE
Note that you cannot give an expression after SHOW, it has to be a single state variable or symbol. The reason
why you should enter HFE as VARIABLE rather than FUNCTION is that the calculation of the derivative,
MUR(FE).T, may have some unwanted side effects.
The value of H depends on the size of the system or amount of phase. If you have set N=1 in a calculation and
obtain a value of H, then this value will be twice as large if you just change N=2 and calculate again. The same
is true when you want the enthalpy of a specific phase rather than the total enthalpy of the system. H(LIQUID)
is the enthalpy of the current amount of liquid. If there is no liquid present, or its amount zero, then
H(LIQUID) is also zero. If you ask for a normalized amount, HM for example, then this value is independent of
the current amount as its value is for one mole of components.
8.13.6 Why is my carbon activity less than unity even if graphite is stable?
The chemical potential and activity of a component must always have a reference state. In the
LIST_EQUILIBRIUM command this state is called “default” as the reference state is different in different
databases.
In the KP and TCFE databases, each element has a selected phase as reference phase and this phase has zero
thermodynamic properties. For carbon, the reference phase is graphite and the activity of graphite will thus be
unity at all temperatures.
In the SGTE databases and most other databases, the reference state is a selected phase at 298.15 K and 1 bar.
That means that only at 298.15 K and 1 bar the activity will be unity unless you redefine the reference state with
the command SET_REFERENCE_STATE. This command takes four arguments, the component, the phase, the
temperature and the pressure. It is possible to give * as answer to the question of temperature and this indicates
that the reference state should be at the current temperature, whatever that is. For example
SET REFERENCE STATE C GRAPHITE * 1E5
SHOW ACR(C)
Note that in order to get the activity with the reference state you defined you must append a suffix R to the state
variable AC. The command SHOW ACR(C) will not be changed by the change of reference state and neither
the value at LIST_EQUILIBRIUM. We have plans to change that for a later version.
8.13.7 How can I obtain the value of the excess Gibbs energy?
Answer: There is no way to obtain the excess Gibbs energy from POLY as this is a model dependent quantity.
You may obtain the Gibbs energy of mixing, and for a substitutional regular solution model that is the same
thing. In order to have for example the enthalpy of mixing in the liquid for a ternary system A-B-C give the
following commands:
SET_REFERENCE_STATE A LIQUID * 1E5
SET_REFERENCE_STATE B LIQUID * 1E5
SET_REFERENCE_STATE C LIQUID * 1E5
SHOW HMR(LIQUID)
The suffix R requires that the user defines which reference states should be used. But if you have sublattices
with mixing on two or more sublattices the Gibbs energy of mixing is different from the Excess Gibbs energy.
8.13.8 What is wrong when I get crossing tie-lines but no miscibility gap?
Answer: The crossing tie-lines on a phase diagram are signs of a miscibility gap. However, you have to inform
Thermo-Calc in advance that you know, or suspect, that there is a miscibility gap in a specific phase. This can
be done with the POLY command SPECIAL_OPTION (with the SET_MISCIBILITY_GAP option) or GES
command AMEND_PHASE_DESCRIPTION (with the COMPOSITION_SET option), where you can give a
phase two or more composition sets. Then you must start the calculation where the miscibility gap is stable and
use the SET_ALL_START_VARIABLES command to make both composition sets stable but with different
initial compositions.
You can only calculate arbitrarily close. This is different from a congruent transformation which can be
calculated directly by setting the composition of the two phases equal.
Note: This FAQ list has not been updated for some time, but is planned to be updated irregularly.
Please promptly visit the TCS web site (www.thermocalc.com) for revised editions.
⇔
Revision History of the POST Module User's Guide:
Jan 1989 First release (Edited by Lars Höglund)
Oct 1993 Second revised release (Edited by Lars Höglund)
Oct 1996 Third revised release (Edited by Lars Höglund)
Jun 2000 Fourth revised and extended release (Edited by Lars Höglund and Pingfang Shi)
Nov 2002 Fifth revised release (Edited by Lars Höglund and Pingfang Shi)
Jun 2004 Sixth revised release (Edited by Lars Höglund and Pingfang Shi)
May 2006 Seventh revised release (Edited by Lars Höglund and Pingfang Shi)
9.2.1 HELP
Description: This command lists the available commands or gives an explanation of a specified command.
Synopsis 1: HELP <command name>
Synopsis 2: HELP
Ensuing Prompt: COMMAND: <command name>
Options: command name -- the name of the command (one of the POST-module commands) to
obtain help.
Notes: Pressing the <RETURN> key without typing a command name will list all the available POST
commands.
Specifying a unique command will print an explanation of that command on the screen
(usually the same text as found in this User’s Guide).
Typing a command abbreviation which is not unique will list all matching commands. The
desired command information can be obtained by typing a unique abbreviation or the
complete command name.
9.2.2 BACK
Description: This command gives the control back to the most recent module. From the POST module,
BACK always goes back to the POLY module. However, if the POST module has been
called by the TAB module, it returns to the TAB module.
Synopsis: BACK
9.2.3 EXIT
Description: This command terminates the program and returns to the operating system. Unless a SAVE
command has been executed (in either the GES, POLY3 or PARROT module), all data and
results will be lost.
Synopsis: EXIT
9.3.1 SET_DIAGRAM_AXIS
Description: The user can 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 Thermo-Calc, three axes (X, Y and
Z) can be specified for a diagram.
Note that the axis variables in the plot can be different from the number of axis used for the
mapping.
Please also note a catch that even for frequent users it may misunderstand. If you want to plot
a phase diagram with tie-lines in the plane, then the composition axis must be “mole-
fraction”, “weight-percent” or the other two combinations of these. You must not use the
stable variable “x(c)” even if that is what you used when calculating the diagram, because
that will only give one side of the two-phase region. The reason for this is complicated to
explain. It may be sufficient to indicate that “mole-fraction” is the same as the stable
variable “x(*,c)”.
When you plot the result of a STEP calculation and want a composition axis variable, you
should normally use “x(c)” and not “mole-fraction”.
Also when you plot a phase diagram where the tie-lines are not in the plane, “mole-fraction”
and “x(c)” are identical.
Examples:
1 column 1
2,3 columns 2 and 3
2,3 >5 column 2,3 and all columns above column 5
* all columns
Note: The axis must have exactly the same number of columns, or one axis must have
just one column. In the first case the columns will be plotted matching them one by
one; in the latter all columns on one axis will be plotted against the single column. For
example, one may 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.
Special Notes: Automatic diagram axis:
The POST module can set “automatic diagram axis” identical to those used in
the MAP command. It simplifies the use of Thermo-Calc and DICTRA, but this option
has not been made visually available in Thermo-Calc, because users may believe that
they cannot set any other axis than used in calculation. The facility to set any set of
state variables as diagram axes after a calculation is one of the most powerful features
of Thermo-Calc.
However, it has been implemented into the Thermo-Calc software system since TCCM,
while the user does not need to specify this option after a MAP calculation. In this way,
the Thermo-Calc beginners may also avoid the tricky problem to understand the
difference among x(z), x(*,z) and “mole-fraction of z”.
If the state variable x(z) has been used in MAP, then mole-fraction of the z component
will be used as diagram axis; if a potential or some other state variables has been used
then that will be used as a diagram axis.
Note that after a STEP calculation, automatic diagram axis will not be set as there is only
one axis used in the calculation.
9.3.2 SET_DIAGRAM_TYPE
Description: With this command, the user can choose the diagram type as perpendicular plot or triangular
plot (Gibbs triangle, especially for ternary systems). The default diagram type is with
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 will be removed.
Note that in order to create a 3D-plot file (in the VRML format, *.WRL) for a tetrahedron
diagram, this command in the sequence SET_DIAGRAM_TYPE N Y should be used
first. For more information, see Section 9.7.
Synopsis: SET_DIAGRAM_TYPE
Ensuing Prompt: TRIANGULAR DIAGRAM (Y or N) /N/: <Y or N>
The user can specify triangular plot by answering Y (Yes). Otherwise (by pressing
<RETURN> to accept N), perpendicular axis will be set and this command is
terminated. By default, such perpendicular diagrams will have (almost) the same
scaling on both axes.
CREATE TETRAHEDRON WRML FILE (Y OR N) /N/: <Y or N>
If a triangular plot is not selected (at the above prompt), the user should answer Y here in
case a tetrahedron diagram is used to generate VRML (*.WRL) file by sequentially
using the CREATE_3D_PLOTFILE command.
PLOT 3:RD AXIS (Y or N) /N/: <Y or N>
If a triangular plot has been selected, the user can specify if a 3:rd axis (by answering Y
here), connecting the end points of the X- and Y-axes, is plotted.
9.3.3 SET_LABEL_CURVE_OPTION
Description: This command makes it possible to 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.
Note that the number of digits can be quite large in some cases. If so, use the SET_FONT
command and reduce the font size; usually, 0.2 is sufficient. Two more options (for colorful
labeling), E and F, have been made available since TCCP.
Synopsis 1: SET_LABEL_CURVE_OPTION <curve option>
Synopsis 2: SET_LABEL_CURVE_OPTION
Ensuing Prompt: CURVE LABEL OPTION (A, B, C, D, E, F OR N) /A/: <option>
THE OPTIONS MEANS:
A LIST STABLE PHASES ALONG LINE
B AS A BUT CURVES WITH SAME FIX PHASE HAVE SAME NUMBER
C LIST AXIS QUANTITIES
D AS C BUT CURVES WITH SAME QUANTITIES HAVE SAME NUMBER
E AS B WITH CHANGING COLORS
F AS D WITH CHANGING COLORS
N NO LABELS
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. Note that
option B or E lists the fixed phases along each curve, whereas option D or F gives the
axis variables used along each curve. Both E and F provide varied colors for different
curves. The option N (NONE) will disable all curve labels and lists.
If, for example, one has used T as the variable axis in a STEP command and then plots
the amount of phases (by the command 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.
9.3.4 ADD_LABEL_TEXT
Description: With this command the user may add a text to an area in a phase diagram or a property
diagram. The label will be written starting from the specified coordinates. Optionally, one
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. Please
note that such an optional calculation for automatic phase region labeling may fail in some
cases. It is not possible to automatically add labels for certain sets of axes, like entropy,
enthalpy, pH, Eh, etc.
The labels are volatile and will disappear if any axis is changed afterwards.
Since TCCQ, the labeling texts and their coordinates, either added by this command or
modified by the MODIFY_LABEL_TEXT command or manually edited on the Thermo-
Calc - graph window, are stored in the workspace, and they may later be saved onto an
EXP file (through the MAKE_EXPERIEMENTAL_DATAFILE command).
Synopsis: ADD_LABEL_TEXT
Ensuing Prompt: Give X coordinate in axis units: <value of the X coordinate>
Specify the value of the X coordinate where the label will start.
Give Y coordinate in axis units: <value of the X coordinate>
Specify the value of the Y coordinate where the label will start.
Automatic phase labels? /Y/: <Y or N>
If the answer to this question is Y, the program will automatically calculate the
equilibrium at the given coordinates and generate a label with the names of the stable
phases. However, the automatic calculation procedure works only for phase diagrams
that have been mapped with two axes in the POLY module, and may fail sometimes,
especially for complex heterogeneous interaction systems; in such cases, a warning
message will appear on screen.
Text: <text for the label>
If the answer to the previous question was N, the user may specify a text himself.
Text size: /.44/: <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 .44 if the command is called
for the first time.
9.3.5 MODIFY_LABEL_TEXT
Description: This command make it possible to move a label created with the ADD_LABEL_TEXT
command to another position, or replace its text with another one.
Since TCCQ, the labeling texts and their coordinates, either added by ADD_LABEL_TEXT
command or modified by this command or manually edited on the Thermo-Calc - graph
window, are stored in the workspace, and they may later be saved onto an EXP file (through
the MAKE_EXPERIEMENTAL_DATAFILE command).
Synopsis: MODIFY_LABEL_TEXT
Ensuing Prompt: Which label to modify? /#/: <number of the label>
Before this prompt, all the labels created by the ADD_LABEL_TEXT command will be
listed with an identifying number. Please 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 shown up and can be
accepted by pressing RETRUN.
New Y coordinate: /yyy/: <new Y position>
Specify the new Y position. The previous Y coordinate is shown up and can be
accepted by pressing RETRUN.
New text /ABCDEFGH.../: <new labeling text>
Specify the new labeling text. The previous text is shown up and can be
accepted by pressing RETRUN. Note that the new labeling text must not be longer
than the previous text.
9.3.6 SET_PLOT_FORMAT
Description: With this command the user can set the format of the graphical output to different graphical
devices. The default device is normally for screen output (remembered with reverence!),
e.g., X-Window numbered as 9 for UNIX or PC Linux, and MS-Windows numbered as 1
for PC Windows. This default device value may be altered with the
SET_PLOT_ENVIRONMENT command in the system monitor or by your TC.INI file.
Since TCCR, under PC Windows XP/2000/NT4 environment, a graphical format, i.e., the
EMF (Enhanced Windows Metafile) format has been made available [its corresponding
device number is 19]. A diagram plotted in this format (i.e., saved as a graphical file with
the default extension of EMF) can be edited and manipulated using an appropriate graphical
editor (such as in MS PowerPoint Editor).
Synopsis: SET_PLOT_FORMAT
Ensuing Prompt: GRAPHIC DEVICE NUMBER /#/: <number of the device>
Specify a graphic device number. Depending on the hardware, different plot formats
(graphic devices) may be available. These are listed online by giving a question mark
“?”, as shown below:
For UNIX and Linux (Note that the last column will not be shown up; these are given here only
for user’s reference to indicate the default file extensions when a graphic file is saved later on by
the PLOT_DIAGRAM command):
GRAPHIC DEVICE NUMBER /9/: ?
AVAILABLE GRAPHIC DEVICES:
DEVICE 1 is Tektronix 4010 p1
DEVICE 2 is VT240/Kermit Tek.4010 emulation p2
DEVICE 3 is COMPIS Tek.4010 emulation p3
DEVICE 4 is Regis graphics p4
DEVICE 5 is Postscript portrait mode ps
DEVICE 6 is Postscript landscape mode ps
DEVICE 7 is HPGL plotter (HP7475 landscape A4) p7
DEVICE 8 is HPGL plotter (HP7475 portrait A4) p8
DEVICE 9 is X-Windows p9
DEVICE 10 is Tandberg 2200/9S, Tek.4010 p10
DEVICE 11 is HP-LaserJet II / HP-DeskJet (1Mb) p11
DEVICE 12 is Tektronix 4105 p12
DEVICE 13 is Tektronix 4107 p13
DEVICE 14 is HP-LaserJet III & IV, portrait (2Mb) p14
DEVICE 15 is HP-LaserJet III & IV, landscape (2Mb) p15
DEVICE 16 is Color Postscript portrait mode p16
DEVICE 17 is Color Postscript landscape mode p17
DEVICE 18 is HP-LaserJet II / HP-DeskJet (1Mb) large p18
For PC Windows XP/2000/NT4 (Note that the last column will not be shown up; these are
given here only for user’s reference to indicate the default file extensions when a graphic file is
saved later on by the PLOT_DIAGRAM command):
GRAPHIC DEVICE NUMBER /1/: ?
AVAILABLE GRAPHIC DEVICES:
DEVICE 1 is MS-Windows P1
DEVICE 2 is VT240/Kermit Tek.4010 emulation P2
DEVICE 3 is COMPIS Tek.4010 emulation P3
DEVICE 4 is Regis graphics P4
DEVICE 5 is Postscript portrait mode ps
DEVICE 6 is Postscript landscape mode ps
DEVICE 7 is HPGL plotter (HP7475 landscape A4) P7
DEVICE 8 is HPGL plotter (HP7475 portrait A4) P8
DEVICE 9 is Tektronix 4010 P9
DEVICE 10 is Tandberg 2200/9S, Tek.4010 P10
DEVICE 11 is HP-LaserJet II / HP-DeskJet (1Mb) P11
DEVICE 12 is Tektronix 4105 P12
DEVICE 13 is Tektronix 4107 P13
DEVICE 14 is HP-LaserJet III & IV, portrait (2Mb) P14
For some formats (e.g., PostScript, HP-LaserJet), there can be additional sub-prompts,
asking for if using (YES) or not using (NO) the fonts available for the chosen format,
and if YES for further specifications, e.g., font type and size.
The graphical device number 19 [i.e., the EMF (Enhanced Windows Metafile) format];
has been made available since TCCR, but only under PC Windows XP/2000/NT4
environment. A diagram plotted in this format (i.e., saved as a graphical file with the
default extension of EMF) can be edited and manipulated using an appropriate
graphical editor (such as in MS PowerPoint Editor).
USE HARD COPY FONTS /YES/: <Y or N>
Under Windows XP/2000/NT4, if a non-screen format has already been set on (e.g., a
PostScript font for a hard copy of any previous graph) and if the MS-Windows format
(default as device 1), this will prompt for a decision on if using the hard copy fonts for
various texts as plotting on screen. Please note that some hard copy fonts may look
strange for the sequentially plotted graphs on screen.
USE POSTSCRIPT FONTS /YES/: <Y or N>
If a non-screen format is be set on, this will prompt for a decision on if using PostScript
fonts on the plotted graphs in hard copies. Further prompts will appear for choosing the
font number and font size.
SELECT FONTNUMBER /9/: <font number>
Specify an valid font number, or by giving a question mark “?” a list of all available
fonts for the specified device will be listed on screen.
Note that the available fonts for various formats are normally different. As an example,
the following listed fonts are valid for the PostScript format (device 5 or 6):
USE POSTSCRIPT FONTS /YES/: y
SELECT FONTNUMBER /9/: ?
AVAILABLE FONTS:
FONT 1 IS AvantGarde-Book
FONT 2 IS AvantGarde-BookOblique
FONT 3 IS AvantGarde-Demi
FONT 4 IS AvantGarde-DemiOblique
FONT 5 IS Courier
FONT 6 IS Courier-Oblique
FONT 7 IS Courier-Bold
FONT 8 IS Courier-BoldOblique
FONT 9 IS Helvetica
FONT 10 IS Helvetica-Oblique
FONT 11 IS Helvetica-Bold
FONT 12 IS Helvetica-BoldOblique
FONT 13 IS LubalinGraph-Book
FONT 14 IS LubalinGraph-BookOblique
FONT 15 IS LubalinGraph-Demi
FONT 16 IS LubalinGraph-DemiOblique
FONT 17 IS NewCenturySchlbk-Roman
FONT 18 IS NewCenturySchlbk-Italic
FONT 19 IS NewCenturySchlbk-Bold
FONT 20 IS NewCenturySchlbk-BoldItalic
FONT 21 IS Souvenir-Light
FONT 22 IS Souvenir-LightItalic
FONT 23 IS Souvenir-Demi
FONT 24 IS Souvenir-DemiItalic
FONT 25 IS Times-Roman
FONT 26 IS Times-Italic
FONT 27 IS Times-Bold
FONT 28 IS Times-BoldItalic
FONT 29 IS Symbol
FONT 30 IS Helvetica-Narrow
FONT 31 IS Helvetica-Narrow-Bold
FONT 32 IS Helvetica-Narrow-Oblique
FONT 33 IS Helvetica-Narrow-BoldOblique
FONT 34 IS Bookman-Demi
FONT 35 IS Bookman-DemiItalic
FONT 36 IS Bookman-Light
FONT 37 IS Bookman-LightItalic
FONT 38 IS Palatino-Roman
FONT 39 IS Palatino-Bold
FONT 40 IS Palatino-Italic
FONT 41 IS Palatino-BoldItalic
FONT 42 IS ZapfChancery-MediumItalic
FONT 43 IS ZapfDingbats
FONT SIZE /.35833/: <font size>
Specify the relative size for the specified font.
Example: SET_PLOT_FORMAT
CURRENT DEVICE: X-windows
GRAPHIC DEVICE NUMBER /9/: 5
NEW DEVICE: Postscript portrait mode
USE POSTSCRIPT FONTS /YES/: y
SELECT FONTNUMBER /9/: 27
NEW FONT: Times-Bold
FONT SIZE /.35833/: 0.32
9.3.7 PLOT_DIAGRAM
Description: The graphic information will be plotted on a specific graphic device using the plot format set
by the SET_PLOT_FORMAT command. Note that the diagram axes must be set first!
Since TCCN, the functionality of this command has been split up into two:
one remained in the PLOT_DIAGRAM command for normal screen showing and file
saving; and
the other implemented in the PRINT_DIAGRAM command (under PC Windows
environment) for direct hard-copy printing (see Section 9.3.7).
Therefore, with this command, a diagram can be shown on screen (if using the default graphic
device), or be saved on a desired file. However, when the diagram is plotted on screen
under Windows XP/2000/NT4, one can also directly print the graph to a connected printer
and save the graph as an EMF file which can also be easily inserted into a document (see
below).
This is not a POST command; the idea of having this special section is to emphasize on various features of
the Thermo-Calc Graph Window which is automatically opened on screen after conducting the
PLOT_DIAGRAM command in the POST module.
Important Notes: For the PC Windows XP/2000/NT4 versions of the TCC software, there is an additional and
very helpful feature to assist the users to export the calculated Thermo-Calc graph to
printers for hard copies or to documents. If the diagram has been chosen to be plotted using
the default graphic format (i.e., 1 for IBM-vga, by pressing <RETURN> as in the
SET_PLOT_FORMAT command, or the SET_PLOT_FORMAT command has not been
called at all), a Thermo-Calc - graph window will pop up on screen. On the upper-left
corner of this window, three interactive bar (“Menu”, “Settings” and “Layers”) and
several function buttons can be activated or disabled by clicking (as illustrated in Figure
9.1).
Since TCCP, it can also be possible to directly add, edit and/or delete various curve-labeling
texts, phase-region-labeling texts, diagram-identifying texts, diagram titles, subtitles,
special notes, axis-variable texts, symbols, arrows, or any other types, on the plotted
diagrams on the Thermo-Calc - graph window (as demonstrated in Figures 9.2 through
9.7). While moving the mouse cursor on the plotted diagram, the current X-/Y-coordinates
(in terms of currently plotted X-/Y-axis variables) of the cursor are promptly shown at the
left-bottom corner of the Thermo-Calc - graph window, which are useful for deciding
where to adding labeling texts/symbols on the plotted diagram. By editing such texts,
symbols and arrows, their sizes, fonts, colors, styles, coordinates, rotation angles, etc., can
be easily changed, or simply deleted from the plotted diagrams. Manually added texts,
symbols or arrows may also appear on diagrams that are subsequentially plotted.
Since TCCQ, labeling texts and their coordinates, either added by the ADD_LABEL_TEXT
command or modified by the MODIFY_LABEL_TEXT command or manually edited on the
Thermo-Calc - graph window, are stored in the workspace, and they may later be saved
onto an EXP file (through the MAKE_EXPERIEMENTAL_DATAFILE command).
Moreover, on the Thermo-Calc - graph window since TCCQ, all kinds of curve/region
labeling texts/symbols, diagram identifying texts/symbols and axis-variable texts/symbols
can be manually moved, directly edited and easily deleted, as well.
Since TCCR, by just simply moving the mouse on a plotted diagram in the Thermo-Calc -
graph window, it is very easy to identify various standard-variable property curves (on a
property diagram after a stepping calculation) or stable-phase regions (on a phase diagram
after a mapping calculation), as illustrated in Figures 9.9 and 9.10. It is also possible to
directly and automatically write the stable phase-assemblages onto a plotted phase diagram,
by moving the mouse into a phase region followed by right-clicking the mouse and then
choosing the “Add Label” option, as shown in Figure 9.11. Furthermore, using the mouse-
right-button, one can add any text item on the plotted diagram, print the diagram to a
connected printer, save the diagram as an EMF graphical file, or copy the EMF code of the
diagram into clipboard (as shown in Figure 9.8).
Since TCCR, under PC Windows XP/2000/NT4 environment, a graphical file can be plotted
in the EMF format [after having specified the plot-format as 19 (for EMF) using the
SET_PLOT_FORMAT command]; remember that it is needed to specify the file name with
the correct extension, e.g., MyGraph3.EMF. Such a plotted EMF file can be edited and
manipulated using an appropriate graphical editor (such as in MS PowerPoint).
Figure 9.1. The “Thermo-Calc - graph” window: Options for graphical outputs.
From the Menu bar, one chose one of the following four options:
Print EMF to directly print the graph (in EMF format/quality) on a
connected printer.
Print PS to directly print the graph (in PostScript format/quality)
on a connected printer.
Save EMF to file to save the EMF (Enhanced Windows Metafile) graphical
code onto a desired file specified in the “Save
Metafile As” window (as shown in Figure 9.2),
which can later be inserted as a Picture File into any
document using some editing application software
(e.g., Microsoft Word, PowerPoint, Excel, CorelDraw,
Adobe Illustrator, etc.).
Copy EMF to Clipboard to copy the EMF graphical code to the Windows
Clipboard that can be directly pasted into any
document using some editing application software.
Dump as PNG to dump the PNG graphical code onto a desired PNG file
specified in the “Save As” window. This option is
actually the short-cut of the DUMP_DIAGRAM
command with the PNG option; see details in the
DUMP_DIAGRAM command.
About Thermo-Calc Graph to view the description about the “Thermo-Calc Graph”
window.
From the Settings bar, one chose one of the following two options:
Set Default Font to globally alternate the font for all texts plotted on
diagram, by selecting the desired one in the “Font”
window (as shown in Figure 9.3),
Set Background Color to add/refine the background color for the plotted diagram
by specifying the desired color on the “Color”
window (as shown in Figure 9.4).
From the Layers bar, one chose one of the following three options and their sub-options:
Layers to decide on which layers (axis, legend, data, plotexp
and/or top layers) to be plotted on diagram,
Dump Top Layer to File to choose to dump the top layer of the plotted diagram to a
file,
List Top Layer Items to list out top layer items.
Add/Edit Text Items: For manually and directly adding and editing user’s
desired labeling/identifying texts (and their appearance
settings further specified in an “Add Text to Diagram”
window as shown in Figure 9.5).
Add Arrow Items: For manually and directly adding user’s desired pointing
arrows. For editing the appearance settings of an added
arrow, you can first check on the button and then click
on the arrow to open “Edit Arrow” window (as shown
in Figure 9.6) in order to further modify/adjust it.
Plot Header: For activating or disabling the header plotting.
Plot Logo: For activating or disabling the Thermo-Calc logo plotting.
Plot Footer: For activating or disabling the footer plotting.
Write Contoured PS Text: For activating or disabling the writing of contoured
PostScript text.
Plot Symbols at Node Points: For activating or disabling the symbol plotting at node
points.
Set Symbol Number & Size: For setting symbol numbers/types and sizes in the “Set
Symbol Number and Size” window (as shown in
Figure 9.7) for symbols to be plotted at node points.
Condition Texts: For activating or disabling the condition plotting.
Database Name: For activating or disabling the database-name plotting.
Remote Exponent: For activating or disabling the remote-exponent plotting.
Figure 9.2. The “Save Metafile As” window: Save plotted diagram as an EMF file.
Figure 9.3. The “Font” window: Globally change font for plotted diagram.
Figure 9.4. The “Color” window: Adjust color for background and other purposes.
Figure 9.5. The “Add Text to Diagram” window and its sub-window “Font”:
Easily and flexibly edit desired labeling/identifying texts.
Figure 9.6. The “Edit Arrow” window: Edit an arrow appearance (for color
change it opens a sub-window “Color” as shown in Figure 9-4).
Figure 9.7. The “Set Symbol Number and Size” window: Choose a desired symbol
(its shape shows up once the number is selected) and its size to be
plotted on a diagram.
9.3.9 PRINT_DIAGRAM
Description: This is a very useful command for immediate printing with high quality, but it is only
available for TCC under Windows XP/2000/NT4 environments. After a Thermo-Calc graph
has been created (and basically has been shown up on screen by the PLOT_DIAGRAM
command), one can directly print the diagram on a connected printer using this newly
implemented command.
Synopsis: PRINT_DIAGRAM
Ensuing Window: After this command, a Print window (as illustrated in Figure 9.12) is popped up, in which
the user can choose his preferred connected printer around and if desired the properties for
the printing process can be altered.
As confirming the selected printer and property by clicking the OK button on the Print
window, another window, the Ghostscript window (as shown in the Figure 9.13), will pop
up for a short period, which shows the proceeding printing percentage. In this small
window, one can cancel the printing if really wanted; otherwise, the window will
disappear immediately after the printing is over.
Important Note: It does not matter what graphic device has been set up for the graph, this command will
always be able to convert it to the Ghostscript-compatible graphic format (i.e.,
Postscript portrait mode, or Color Postscript portrait mode) and a pre-
selected Postscript-related font (e.g., Helvetica or Times-Bold), through which the
graph is printed on a connected printer.
After the printing process is finished, the temporally set graphic device for conversion and
printing will be switched back to the one previously set by the command
SET_PLOT_FORMAT, so that the user can save the graph on desired file(s) using the
PLOT_DIAGRAM command.
Figure 9.12. The “Print” window: Choices on connected printers and properties.
9.3.10 DUMP_DIAGRAM
Description: This is also a very useful command, but for quick printing with average quality. Similar to the
PRINT_DIAGRAM command, after a Thermo-Calc graph has been created (and basically
has been shown up on screen by the PLOT_DIAGRAM command), one can use this newly
implemented command to save (dump) the diagram to a file with the available graphical
formats list in Table 9.1.
Table 9.1. List of major graphic formats used for dumping a Thermo-Calc graph
Graphic Format Default File Extension Suitable Editor(s)
PNG (Portable Network Graphics) .PNG MS Photo Editor
BMP (Windows Bitmap) .BMP MS Photo Editor
PDF (Adobe Portable Document File) .PDF Acrobat Reader, CorelDraw
JPEG (File Interchange Format) .JPG MS Photo Editor
TIFF (Tagged Image File Format) .TIF MS Photo Editor
As shown in the table, the saved file (e.g., PNG format) can then be opened and edited by e.g.
Microsoft Photo Editor, Adobe Reader or CorelDraw, from which the graph can be directly
printed the diagram on a connected printer. With such graphical editors, the Thermo-Calc
graph can be cut and pasted into another word/graphical processing documents (e.g.,
Microsoft Word or PowerPoint files).
Note that this command is only available for TCC under Windows XP/2000/NT4
environments, while it has been disabled since TCCN under PC Linux and UNIX platforms.
Synopsis: DUMP_DIAGRAM
Ensuing Prompt: OUTPUT FORMAT (PNG,BMP,PDF,JPEG,TIFF) /PNG16/: <format or RETURN>
Specify an appropriate graphic format for dumping the graph or pressing <RETURN> to
accept the default format (PNG16).
RESOLUTION (LOW,MEDIUM,HIGH) /MEDIUM/: <resolution choice>
One of the resolution levels should be specified. Medium level is default.
FILE NAME: <name of a graphic file>
A Save As window as shown in Figure 9.14 will be popped up instead. The user shall
give a name in the File name box, for which the user can further specify the working
directory when he wish to save the file in the Save in box. Normally the default file-
type in the Save as type box is the proper one for the graphic format selected in the
previous prompt.
Figure 9.14. The “Save As” window: Saving the dumped graphical file.
Important Note: Similar to the case for the PRINT_DIAGRAM command, it does not matter what graphic
device has been set up for the graph, this command will always be able to convert the graph
shown on screen to the selected graphic format.
After the printing process is finished, the temporally set graphic device for conversion and
printing will be switched back to the one previously set by the command
SET_PLOT_FORMAT, so that the user can save the graph on desired file(s) using the
PLOT_DIAGRAM command.
9.3.11 SET_SCALING_STATUS
Description: When an axis variable is selected by the SET_DIAGRAM_AXIS command, the scaling status
for the axis is always set to automatic scaling. By this command, the user can choose
between manual or automatic scaling on a specified axis. If manual scaling is chosen, the
user must specify a minimum and a maximum value. Manual scaling can be used to
magnify interesting parts of a diagram.
9.3.12 SET_TITLE
Description: The user can specify a title that will appear on all listed table and plotted diagrams from the
POST module in the same run of TCC.
9.3.13 LIST_PLOT_SETTINGS
Description: The present values of most parameters specifying the type of diagram to be plotted will be
listed on the terminal.
Synopsis: LIST_PLOT_SETTINGS
9.4.1 APPEND_EXPERIMENTAL_DATA
Description: This command is typically used for adding experimental data and text onto a calculated
diagram. This is achieved 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 program
according to syntax of a graphical language, DATAPLOT Graphical Language. This is
described in the document DATAPLOT User’s Guide & Examples.
The picture generated from the data is superimposed on the ordinary graphical output from
the postprocessor. Such an experimental datafile may be created by an ordinary textual
editor (such as NotePad, PFE, etc.).
Another important usage of this command is to superimpose plots from several independent
calculations. For this purpose, there is a command MAKE_EXPERIMENTAL_DATAFILE
(see below), which will dump 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.
Synopsis: APPEND_EXPERIMENTAL_DATA
Ensuing Prompt: USE EXPERIMENTAL DATA (Y or N) /N/: <Y or N>
Specify whether the data from an experimental datafile should be included in the next
plot. If the answer is N, no experimental data will be plotted.
EXPERIMENTAL DATAFILE: <name of an experimental datafile>
Specify the name of the file with the experimental data; this prompt is only valid under
Linux and UNIX platforms. The default file extension is “exp”.
Under Windows XP/2000/NT4 environments, an Open file window will pop up on the
screen instead, so that the path (in the Look in box) and file name (in the File name
box) can be appropriately specified, as shown in Figure 9.15.
Figure 9.15. The “Open file” window: Opening an existing *.EXP file.
The file type (i.e., EXP, as in the Files of type box) can not be changed. By pressing
the Open button, the program proceeds with reading the experimental data file into
PARROT workspace. The user may also cancel such an Open file window session,
and thus the current experimental data file will not be opened.
9.4.2 MAKE_EXPERIMENTAL_DATAFILE
Description: This command makes it possible to write the graphical information onto screen or an
formatted textual file (always having an extension of EXP) using the DATAPLOT format
(see the document DATAPLOT Graphical Language). In order to merge two or more
diagrams from separate calculations, one may write them out on files with this command,
and then add/edit them together with a normal textual editor (such as NotePad, PFE, etc.).
Synopsis 1: MAKE_EXPERIMENTAL_DATAFILE <name of a file or RETURN>
Synopsis 2: MAKE_EXPERIMENTAL_DATAFILE
Ensuing Prompt: OUTPUT TO SCREEN OR FILE /SCREEN/: <name of a file or RETURN>
Specify the name of the desired file. One can accept /SCREEN/ (by pressing
<RETURN>) for a listing. Otherwise, a file name where the graphical information will
be written must be given here. The default file extension is “EXP” (under PC
Windows) or “exp” (under UNIX and Linux).
9.4.3 QUICK_EXPERIMENTAL_PLOT
Description: This command is similar to the APPEND_EXPERIMENTAL_DATA command but can be used
when there is no graphical information to be plotted in the POLY3 workspace. It defines a
pair of axis, 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) datafile.
See the document DATAPLOT Graphical Language for more information about the format of
an experimental datafile.
Synopsis 1: QUICK_EXPERIMENTAL_PLOT <name of an experimental data file>
Synopsis 2: QUICK_EXPERIMENTAL_PLOT
Ensuing Prompt: EXPERIMENTAL DATAFILE: <name of an experimental data file>
Specify the name of the file with the experimental data; this prompt is only valid under
Linux and UNIX platforms. The default file extension is “exp”.
Under Windows XP/2000/NT4 environments, an Open file window (which is the same as
in the APPEND_EXPERIMENTAL_DATA command) will pop up on the screen instead,
so that the path (in the Look in box) and file name (in the File name box) can be
appropriately specified, as shown in Figure 9.5.
PROLOGUE NUMBER: /0/: <prologue number>
Select which prologue to use. In a prologue, one may e.g. give the scaling of an axis, the
axis texts, and so on. Note that by answering -1, a list of all prologues on the file is
given; and by 0, no experimental data will be 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. Note that by answering -1, a list of all datasets on the file is
given; and by 0, no experimental data will be appended.
9.5.1 ENTER_SYMBOL
Description: Symbols are a very useful feature of POLY and POST to define quantities that are convenient
for the user. Symbols can be constants, variables, functions or tables.
Synopsis: ENTER_SYMBOL
Ensuing Prompt: Constant, variable, function or table? /FUNCTION/: <keyword>
The keyword can be specified as CONSTANT, VARIABLE, FUNCTION or TABLE.
CONSTANTS can only be entered once and is just 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
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.
VARIABLES are similar to functions because they can also be expressions of state
variables. However, contrary to functions, they will only be evaluated when
they are entered or if they are explicitly named in an EVALUATE command. It
is possible to enter a variable with a new expression anytime. This expression
will be evaluated directly and its value stored as the value of the variable.
Defined variables can be used as values in the SET-CONDITION command.
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.
Note: There is a special connection between tables and variables. If a variable is used in a
table, it will be evaluated for each line of the table in the TABULATE command or
when the table is used in a plot.
9.5.2 LIST_SYMBOLS
Description: For all constants, functions, variables and tables, their definitions can be listed by this
command. The defined variables will be listed up together with the defined functions, but
variable names will be followed by a percentage sign “%”.
Synopsis: LIST_SYMBOLS
9.5.3 SET_AXIS_LENGTH
Description: This command can be used to 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. This command has been added
due to some idiosyncrasies in the graphical package used by POST. The number and units
per tic-mark must be a multiple of 1,2 or 5 to obtain a reasonable scaling of an axis.
Synopsis: SET_AXIS_LENGTH
Ensuing Prompt: AXIS (X, Y or Z): <name of an axis>
The user must specify which axis to set the length.
AXIS LENGTH /11.5/: <new relative axis length>
The user can specify the new real axis length in inches. The relative length 1 corresponds
to 10 tic-marks on the axis.
9.5.4 SET_AXIS_TEXT_STATUS
Description: This command can be used to change the axis text from the automatic text given by the axis
specification to a text given by the user.
Synopsis: SET_AXIS_TEXT_STATUS
Ensuing Prompt: AXIS (X, Y or Z): <name of an axis>
The user must specify for which axis's text status is to be changed.
AUTOMATIC AXIS TEXT (Y or N) /N/: <Y or N>
The user must specify if automatic axis text is to be used (Y) or not (N). If automatic axis
text has not been chosen, the user will be further prompted for his own axis text:
AXIS TEXT: <desired axis text>
The user shall enter his own desired axis text.
9.5.5 SET_AXIS_TYPE
Description: This command is to change the axis type among linear, logarithmic and inverse axis.
Synopsis: SET_AXIS_TYPE
Ensuing Prompt: AXIS (X, Y or Z): <name of an axis >
The user must specify for which axis you want 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.
9.5.6 SET_COLOR
Description: Some devices that support colors (e.g., MS-Windows) or line thickness (e.g., X-Windows or
HP-LaserJet). With this command, one may select different Colors or LineTypes on some
types of information on a diagram. Note that this command will fail if a chosen device does
not support colors or line thickness.
This command will arise four sequent prompts (i.e., Text and axis, Invariant
equilibria, Tie-lines, and All other lines), with the Keyword and
default option (both listed as shown below). Depending on if the switched-on
graphic device (by the SET_PLOT_FORMAT command) supports with colors or line types,
the POST will automatically switch on the appropriate Keyword.
Synopsis: SET_COLOR
Ensuing Prompt: Text and Axis Keyword /default option/: <RETURN or new option>
Invariant equilibria Keyword /default option/: <RETURN or new option>
Tie-lines Color Keyword /default option/: <RETURN or new option>
Keyword of all other lines /default option/: <RETURN or new option>
This is usually for the solubility lines
Notes: The Keyword is either Color or LineType, depending on if color or line type is
supported by the switched-on graphic device (by the SET_PLOT_FORMAT command); the
POST module will automatically switch on the appropriate Keyword .
The 22 legal options for Color are:
BACKGROUND
FOREGROUND
RED
GREEN
BLUE
YELLOW
MAGENTA
CYAN
PURPLE
GOLD4
TURQUOISE4
PINK
GRAY
ORANGERED3
MAROON
PLUM
SEAGREEN
OLIVEDRAB
SIENNA
ORANGE1
CORAL1
USERDEF
The 8 legal options for LineType are:
INVISIBLE
NORMAL
VERY_THICK
THIN
THICK
VERY_THIN
DASHED
DOTTED
The Default option for either Color or LineType are listed below:
Text/Line Color LineType
Text and axis FOREGROUND NORMAL
Invariant equilibria RED VERY_THICK
Tie-line GREEN THIN
All other lines FOREGROUND NORMAL
9.5.7 SET_CORNER_TEXT
Description: This command writes texts in the corners on a plotted diagram. Normally, one can write such
texts as a subtitle.
Synopsis: SET_CONER_TEXT
Ensuing Prompt: CORNER /LOWER_LEFT/: <RETURN or new option>
Use one of following five options:
LOWER_LEFT
UPPER_LEFT
UPPER_RIGHT
LOWER_RIGHT
TOP_OF_TRIANGLE
Text: <texts as a subtitle or a note>
Write the texts that are to be written on the specified diagram corner.
Notes: As a new feature since TCCP, 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 has been switched off by the command SET_PLOT_OPTION, the
calculated conditions will be always write on plotted diagrams; and only when the plotting
option PLOT HEADER has been switched off by the command SET_PLOT_OPTION, the
used database will also always appear. Under such circumstance, one should avoid writing
texts at the UPPER_LEFT corners.
9.5.8 SET_FONT
Description: The user can select the font to be used for labels and numbers when plotting the diagram
under the currently selected graphic device (by the SET_PLOT_FORMAT command). For
some devices (e.g., PostScript), there may be other fonts available and these are selected by
the SET_PLOT_FORMAT command.
Synopsis: SET_FONT
Ensuing Prompt: SELECT FONTNUMBER /1/: <#>
Specify an available font number # as the default font for the current graphic device, or
accept the font number 1 by pressing <RETURN>. By typing a question mark “?” here,
the program will list the available fonts under the currently selected graphic device.
9.5.9 SET_INTERACTIVE_MODE
Description: This command resets the input and output units to their 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.
Synopsis: SET_INTERACTIVE_MODE
9.5.10 SET_PLOT_OPTIONS
Description: With this command, one will be prompted for and may toggle on (Y) or off (N) the plotting of
some options on all subsequently generated diagrams.
Synopsis: SET_PLOT_OPTIONS
Ensuing Prompt: PLOT HEADER /Y/: <Y or N>
Toggle the plotting of the Thermo-Calc header text above a diagram.
PLOT LOGO /Y/: <Y or N>
Toggle the plotting of the Thermo-Calc logotype at the lower-left corner of a diagram.
PLOT FOOTER /Y/: <Y or N>
Toggle the plotting of the footer identifier text at the right margin of a diagram.
WHITE-CONTOURED-PS-CHARS /Y/: <Y or N>
This makes it possible to write PostScript characters in white contoured status.
PLOT REMOTE EXPONENT(S) /Y/: <Y or N>
This sets (Y) or removes (N) the plotting of the remote exponent on the axis.
PLOT SYMBOLS AT NODE POINTS /0/: <#>
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/: <Y or N>
As a new feature since TCCP, 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. With this option switched off (by answering N), it makes
possible to not write the calculated conditions on a diagram.
9.5.11 SET_PREFIX_SCALING
Description: This command set the prefix scaling of remote exponents with certain powers (default as 3),
by taking as argument with an axis name and a YES, or NO, or an integer number #
(as the powers for the remote exponents):
“NO” switches off its action.
“YES” arranges the prefix scaling so that the axis scaling is done with the
remote exponents being powers of three, i.e.,
..., -6, -3, 0, 3, 6, ...
“#” sets the remote exponents as being powers of #.
Synopsis: SET_PREFIX_SCALING
Ensuing Prompt: AXIS (X, Y or Z): <name of an axis>
The user must specify for which axis is to have a prefix scaling.
USE PREFIX SCALING /Y/: (Y or N or #)
The user must answer either Y or N or an integer number as described above.
9.5.12 SET_REFERENCE_STATE
Description: The reference state for a component is important when calculating activities, chemical
potentials and enthalpies. See detailed information in Sections 8.10.7and 3.2.13.
After a STEP or MAP calculation, the reference state for a component can also be changed for
plotting various properties of the component in the entire system or in a specific phase by
using this command. Afterwards, the user can set diagram axes as chemical potential or
activity quantities with the R suffix, i.e., MUR(comp), MUR(comp,ph), ACR(comp),
ACR(comp,ph) or their common logarithms [e.g., LNACR(comp,ph)].
Synopsis: SET_REFERENCE_STATE
Ensuing Prompt: Component: <name of the component>
The name of the component must be given.
9.5.13 SET_TIELINE_STATUS
Description: If the tie-lines are in the plane of the calculation, one may select to plot the tie-lines in two-
phase fields with this command.
Synopsis: SET_TIELINE_STATUS
Ensuing Prompt: PLOTTING EVERY TIE-LINE NO /0/: <number of tie-lines>
The tie-lines plotted will not be equally spaced by the graphics software. Instead, the user
may 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 will be plotted.
9.5.14 SET_TRUE_MANUAL_SCALING
Description: 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 behavior 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 behavior, just repeat the
command a second time for that specific axis (followed by a message saying the
SEMI_MANUAL SCALING set for the specific axis.
Synopsis: SET_TRUE_MANUAL_SCALING
Ensuing Prompt: AXIS (X, Y or Z): <name of an axis>
Specify for which axis (X or Y or Z) you want to toggle between automatic adjustment or
avoid the adjustment of the given maximum and minimum values.
9.5.15 FIND_LINE
Description: This new command (since TCCR) can be used to identify 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).
Synopsis: FIND_LINE
Ensuing Prompt: X coordinate /.484623611/: <value of the X coordinate>
Specify the value of the X coordinate where you wish 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 wish to find the details of
property curve (or phase region).
Then the POST module will show (on screen) 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); for instance:
found line : GM(FCC_A1) (for a property diagram)
found line : LIQUID+MG2SI (for a phase diagram)
9.5.16 TABULATE
Description: For any entered table, this command will give a table of values from equilibria calculated with
a STEP command. It works only for a table that is entered in either the POLY or POST
module.
Not like the TABULATE command in the TAB module, it is impossible to plot columns from
the tabulated tables. For such plotting one can use normal POST commands.
Synopsis: TABULATE
Ensuing Prompt: Name: <name of a table entered in either POLY or POST>
Specify a table name that has been entered in either the POLY or POST module.
OUTPOUT ON SCREEN OR FILE /SCREEN/: <file name or RETURN>
Specify a file name if you want to save on a file the table values along the defined STEP
calculation, or press <RETURN> if want to see the table values on screen.
9.5.17 LIST_DATA_TABLE
Description: This is also a new command since TCCR. It 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 have been plotted on the Thermo-Calc - graph window), but only after a STEP
calculation. The listing output can be either on screen or into a spreadsheet file in the MS
Excel format (under a user-specified file name with the default file extension of XLS),
which can be further edited/manipulated or used for further graphical handling by opening
the file (using the MS Excel program) outside of the Thermo-Calc software system; as
illustrated in Figure 9.16.
Please note that it works only for a property diagram after a stepping calculation (but not for
any phase diagram after a mapping calculation).
Synopsis: LIST_DATA_TABLE
Ensuing Prompt: 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) will be saved, or press <RETURN> if want
to see a simple textual table (for the already-defined properties that change alone with
an independent variable) on screen.
Figure 9-16. An Example of Listed Property Table (of a defined property diagram), output as a
XLS file. Such a file can be further handled using the Microsoft Excel program, in
order to generate other types of graphical presentations.
9.6.2 RESTORE_PHASE_IN_PLOT
Description: This command restores a phase that has been previously suspended from the plot with the
SUSPEND_PHASE_IN_PLOT command. Naturally it works only after at least one phase
has been suspended by the SUSPEND_PHASE_IN_PLOT command.
Synopsis 1: RESTORE_PHASE_IN_PLOT <name of a phase>
Synopsis 2: RESTORE_PHASE_IN_PLOT
Ensuing Prompt: PHASE NAME: <name of a phase>
Give the name of the phase to be restored on the diagram.
9.6.3 REINITIATE_PLOT_SETTINGS
Description: With this command, all parameters describing the diagram will be given default values.
Therefore, all plotting setting made in the POST module will be lost, and everything will
return to their initial settings when the POST module is entered.
Synopsis: REINITIATE_PLOT_SETTINGS
9.6.4 SET_AXIS_PLOT_STATUS
Description: With this command, the user can specify whether the axis title texts and axis labeling texts are
to be plotted or not on a diagram. It does not work for the axis lines and tic-marks. If one
wishes to plot a diagram without tic-marks, the SET_TIC_TYPE command should be used
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.
Synopsis 1: SET_AXIS_PLOT_STATUS <Y or N>
Synopsis 2: SET_AXIS_PLOT_STATUS
Ensuing Prompt: Axis plot (Y or N) /Y/: (Y or N)
The user can specify to plot axis texts (Y) or not (N).
9.6.5 SET_PLOT_SIZE
Description: With this command, the user can 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 the user has chosen by
the SET_PLOT_FORMAT command. The default plot size (corresponding to the default
global plot size 1) is adjusted to the chosen device.
Synopsis 1: SET_PLOT_SIZE <relative scaling factor>
Synopsis 2: SET_PLOT_SIZE
Ensuing Prompt: GLOBAL PLOT SIZE /1/: <relative scaling factor>
Enter the relative scaling factor as a numerical number (e.g., 0.5, 0.8, 1.0, 1.5, etc.).
By pressing <RETURN>, the default relative scaling factor (1) is accepted.
9.6.6 SET_RASTER_STATUS
Description: With this command, it is possible to have a raster (i.e., with gridlines on both axis directions)
plotted in the diagram. The default status is no raster plotted.
Synopsis 2: SET_RASTER_STATUS
Ensuing Prompt: RASTER PLOT (Y or N) /N/: <Y or N>
Enables (Y) or disables (N) the raster plot.
9.6.7 SET_TIC_TYPE
Description: This command makes it possible to 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 can not be altered by this command, but they are adjusted based on the selected
graphic device and the defined relative scaling factor (global plot size).
9.6.8 SUSPEND_PHASE_IN_PLOT
Description: This command allows one to specify that lines originating from the presence of a certain
phase shall not be plotted on a diagram. If one wants to bring the suspended phase back to
the diagram, just use the RESTORE_PHASE_IN_PLOT command.
Synopsis 1: SUSPEND_PHASE_IN_PLOT
Synopsis 2: SUSPEND_PHASE_IN_PLOT <name of a phase>
Ensuing Prompt: PHASE NAME: <name of a phase>
Specify the name of the phase to be suspended from the diagram.
The CREATE_3D_PLOTFILE command can use specified data (beside the graphical definition information) in
the following three different modes:
• WS reads data stored as tables that exist in the current workspace of the calculation just carried out by
the POLY command MAP or STEP, or of previously calculated results that have been
loaded from an existing *.POLY3 file,
• TAB reads data stored as tables from one or more *.TAB files (all such files must locate under the
current work directory), in which the table data for other previous calculations for related
subsystems have already been saved with the TABULATE command, and
• BOTH reads data stored as tables from both the current workspace and previously saved *.TAB files,
implying that the table data from the current workspace input data can be combined with
other previous MAP/STEP calculation results if appropriate table(s) are already written
onto the *.TAB file(s) by using the TABULATE command (all such files must locate under
the current work directory).
In all such modes, one must have already defined some tables (entered by the ENTER_SYMBOL command in
the POST or PLOY module), which can be further used within the TABULATE command to generate the
*.TAB files. To simplify this task, two additional helping symbols have been defined in the POST module and
will be automatically shown up once the CREATE_3D_PLOTFILE command is used:
• TEMP_C=T-273.15 for temperature in Celsius (as a variable)
• ZERO =0 for the value 0.0 (as a constant)
These two symbols can be directly called when defining tables. See examples below:
ENTER-SYMBOL TABLE demotb1 = x(fcc,ni),x(fcc,cr),TEMP_C;
ENTER-SYMBOL TABLE demotb2 = x(fcc,ni),ZERO,TEMP_C;
ENTER-SYMBOL TABLE demotb3 = ZERO,x(fcc,cr),TEMP_C;
ENTER-SYMBOL TABLE demotb4 = x(fcc,ni),x(fcc,cr),ZERO;
ENTER-SYMBOL TABLE demotbA = x(fcc,ni),x(fcc,cr),x(fcc,c);
ENTER-SYMBOL TABLE demotbB = x(fcc,ni),x(fcc,fe),x(fcc,c);
ENTER-SYMBOL TABLE demotbC = x(fcc,ni),x(fcc,cr),TEMP_C,x(fcc,c);
ENTER-SYMBOL TABLE demotbD = x(fcc,ni),ZERO,x(fcc,c),TEMP_C;
In the case of WS or BOTH modes, the CREATE_3D_PLOTFILE command can take such defined tables as the
inputting data.
Such defined table(s) may have also been used in creating various *.TAB file(s) using the TABULATE
command in the POST or PLOY module, for instance:
TABULATE demotb1 crni.TAB
In the case of TAB or BOTH modes, the CREATE_3D_PLOTFILE command can take one or more such
previously created *.TAB files as the inputting data; however, all such *.TAB files must locate under the
current work directory.
Note that to further simplify the use of TAB files, it is possible to combine several such *.TAB files in
Windows DOS session by the following DOS command:
Copy Ter.tab+Bin1.tab+Bin2.tab+Bin3.tab Tmp.tab
(or similar commands in other operating systems), or use a textual editor to merge the individual files into one
single file. Then, one can use the Tmp.tab file as the single TAB input file as the input data in the
CREATE_3D_PLOTFILE command.
In the following sections, the CREATE_3D_PLOTFILE command will be described, and then a demonstration
on how to view a 3D diagram will be illustrated. Furthermore, three standard examples on how to generate an
*.WRC file in TCCP are given in Examples 45, 46 and 47, respectively, in the TCC Examples Book.
9.7.1 CREATE_3D_PLOTFILE
Description: This POST command automatically converts all the default/predefined graphical definition
information and selected data points (expressed and stored in specific tables or *.TAB
files, which are taken from the current and/or previous MAP/STEP calculations) into an
appropriate format, and creates an *.WRL (Virtual Reality Markup Language) file for
viewing by a VRML viewer such as plugins to web browsers or standalone programs. For
more information, refer to the introduction above.
Synopsis: CREAT_3D_PLOTFILE
Ensuing Prompt: Use current WORKSPACE (WS), TAB files or BOTH: <##>
Choose one of the three available modes: WS for reading table data in the current
workspace, TAB for reading table data from existing *.TAB file(s), or BOTH for
reading combined table data from both the current workspace and existing *.TAB
files. Note for the BOTH mode, you have to type the whole word as “BOTH” or
“both”; otherwise the command may take it as for the TAB mode.
In the WS and BOTH modes, all the previously defined tables in the current workspace are
listed out on screen, for the purpose of selecting desired table data into the output
*.WRL file.
Table Name: <table name>
In the WS and BOTH modes, give the name of an available table, which has been
previously defined by the TABULATE command with at least 3 variables that will be
used as data points for the 3D diagram. The first column is always the X-axis value,
the second is the Y-axis value and the third is the Z-axis value. A table with more
than 3 columns can also entered, and the columns beyond the third one will also be
converted into the output *.WRL file, while they will not be used when the 3D diagram
is viewed in a VRML viewer.
Give TAB filename: /Cancel_to_finish/: <file name(s)>
In the TAB and BOTH modes, specify the file name(s) of already prepared *.TAB file(s)
to be included in the single output *.WRL file for viewing the 3D diagram. One or
more *.TAB files can be specified on the same line or on subsequent line(s); while all
such files must be located under the current working directory. This is particularly
useful, for instance, to add binary sides onto a ternary diagram.
In the TAB mode, if there is no specific *.TAB file name given under the first
appearance of this prompt, the command is terminated.
This prompt will be repeated for additional *.TAB file(s) until no file name is given (i.e.,
just pressing <RETURN>).
Output file: /3Dplot/: <file name>
Specify the output file name of the *.WRL file (with the extension .WRL, e.g.,
FeCrNiC-a.WRL) or press <RETURN> to accept the default file name 3Dplot, in
which all the graphical definition information and selectively specified table data to be
viewed in the 3D diagram will be written. All the data will be automatically converted
to a proper format for VRML viewers. Note that if the extension .WRL is missing in
the specified file name, the output file is only a simple textual file.
X-AXIS SCALING FROM 0.0 TO XMAX: <##>
Give the maximum value on the X-axis. Note that the X and Y maximum values must be
the same for both X- and Y-axis.
Y-AXIS SCALING FROM 0.0 TO YMAX: <##>
Give the maximum value on the Y-axis. Note that the X and Y maximum values must be
the same for both X- and Y-axis.
Notes: In all modes, a table defined in the current workspace or saved in an *.TAB file to be selected
as the input data must have at least 3 columns: the first one is always the X-axis value, the
second is the Y-axis value and the third is the Z-axis value. All possible extra columns
beyond the third one in the table(s) will also be converted into the output *.WRL file, but
they will not be used when the 3D diagram is viewed in a VRML viewer.
In both the TAB and BOTH modes, all the (first) three columns in all specified *.TAB files
and in the selected table from the current workspace must have been similarly defined, in
order to properly view the 3D diagram for a specific system. By “similarly defined”, it
means that if there is no data on one certain column from a previous calculation, it should
be entered as the ZERO constant, and any other column should always have the same
variable (or ZERO). If the definitions for all the (first) three columns in all tables are not
similar, the output *.WRL file will have data blocks with different data structures in various
parts, although the conversion of data points can be done within this command. Therefore,
one can have the following four tables (saved in *.TAB files or defined in the current
workspace) for the data conversion into the same *.WRL file:
ENTER-SYMBOL TABLE demotb1 = x(fcc,ni),x(fcc,cr),TEMP_C;
ENTER-SYMBOL TABLE demotb2 = x(fcc,ni),ZERO,TEMP_C;
ENTER-SYMBOL TABLE demotb3 = ZERO,x(fcc,cr),TEMP_C;
ENTER-SYMBOL TABLE demotb4 = x(fcc,ni),x(fcc,cr),ZERO;
And they should not be mixed with other tables defined as below:
ENTER-SYMBOL TABLE demotbA = x(fcc,ni),x(fcc,cr),x(fcc,c);
or
ENTER-SYMBOL TABLE demotbB = x(fcc,ni),x(fcc,fe),x(fcc,c);
Moreover, if you have typed a name that does not exist in the current working directory, the
command will still be possible to process, but a new empty file (with that name) would be
created in the directory. Therefore, one should be very careful when specifying the *.TAB
file names.
For the TAB and BOTH modes, some informative message may be given after specifying all
the details in this command, such as below:
Processing crnic.TAB
2.64306994E-08<X< 0.491403997
0.0539233014<Y< 0.241238996
6.70927989E-07<Z< 0.000157856004
For Windows (XP/2000/NT4) environments, the Cortona VRML Client (which is developed by
ParallelGraphics, and downloadable from www.parallelgraphics.com) is recommended, and is demonstrated
here.
It is a pluggable application for MS Internet Explorer and Netscape Navigator, capable of browsing virtual
worlds written in VRML. Cortona provides navigation paradigms (such as walking or flying) which
enable the user to move the viewer through the virtual world. Additionally, it provides a mechanism
that allows the user to interact with the world. Cortona is designed on the basis of the universal
component technology that provides the opportunity to create a wide range of 3D applications: from
graphical processors to complex multi-user Internet-services. Cortona VRML client supports:
OpenGL; Direct3D; Java language; Splines and NURBS; External Authoring Interface (EAI). The
client also has its own built-in VRML Automation Interface (Automation Interface for managing
VRML scenes) based on the ActiveX Automation technology. Its hardware and system requirements
are as below:
• Operating system: Microsoft Windows XP/2000/NT4;
• Internet Explorer 4.0 or a later version, or Netscape Navigator 4.0 or a later version;
• Computer: Pentium 90 MHz or faster processor;
• Random Access Memory (RAM): minimum of 16 MB;
• Free disk space: 6 MB of hard disk space for program files;
• Display: SVGA/256 colors. The 800x600 high color mode is recommended;
• Input devices: Mouse and keyboard, joystick optional;
• Sound card: optional.
Please first download it from www.parallelgraphics.com yourself, and install it onto your Windows
computer or server. By running on its setup program (or clicking its setup icon on Windows), the
automatic procedure will install it under the directory, e.g.,
C:\Program Files\Common Files\ParallelGraphics\Cortona\
After the successful installation on a computer or a server, you can simply click on an already generated
*.WRL file, or open it from the Cortona window, and then follow the instructions to view, print or
export the Thermo-Calc graphs in 3D. The detailed instructions are provided in the Cortona User's
Guide, which can be obtained by simply positioning the mouse within the Cortona window and
clicking the right button to choose Help on User's Guide to open the Cortona User's Guide window.
Figures 9-17 and 9-18 illustrate two examples of Thermo-Calc graphs in 3D (one as a triangular diagram,
and the other as a tetrahedron diagram) viewed by the Cortona VRML Client.
In the distributed PDF file of this User's Guide (around this point), there is special bookmark named as
“Open the Cortona User's Guide - ParallelGraphics Software”; you can click it to open the
Cortona User's Guide on screen.
For Windows (XP/2000/NT4), Mac, Linux and various UNIX platforms, the SIM VRMLView (which is
developed by SIM - Systems in Motion, and downloadable from www.sim.no) is recommended. Please try to
explore it yourselves.
Figures 9-19 and 9-20 show two examples of Thermo-Calc graphs in 3D (one as a triangular diagram, and
the other as a tetrahedron diagram, which are using the same *.WRL files as in Figures 9-17 and 9-18)
viewed by the SIM VRMLView.
10.1 Introduction
As described in the document Thermo-Calc Software System, continuous improvements on user-friendly
features have been parts of the development of the Thermo-Calc software/database/interface package. A good
user interface must bring benefits to users in enhancing their efficiency of using the software/database/interface
in various applications.
The Thermo-Calc Classic (TCC) software is an interactive system and the user controls it by giving commands
from a menu. Great efforts have been continuously made to make the system’s command-menu user interface
more and more “user friendly”. The improvement of the Thermo-Calc user interface has been focused on five
levels, as summarized in Table 4 in the document Thermo-Calc Software System.
One of the levels is the development of some simplified modules, to allow the users to perform calculation and
plotting of common types of phase or property diagrams (e.g., binary, ternary, potential, Pourbaix, etc.) or
simulation of materials processes (e.g., solidification, multi-staged steady-state reactors, etc.). There are
currently the following special modules available in the TCC software:
1) BIN - Binary Phase Diagram Calculation Module
2) TERN - Ternary Phase Diagram Calculation Module
3) POTENTIAL - Potential Property Diagram Calculation Module
4) POURBAIX - Pourbaix Diagram and Property Diagram Calculation Module
5) SCHEIL - Scheil-Gulliver Solidification Simulation Module
6) REACTOR - Multi-staged Steady-state Reactor Simulation Module
Since TCCQ, the SCHEIL and REACTOR modules have been greatly modified and improved; and since
TCCR, the TERN module has been further improved and enhanced; for details please refer to Sections 10.5,
10.8 and 10.9.
In all such special modules, except for the REACTOR module, one just needs to answer some simple questions
and the program automatically handles all the necessary steps for the calculation and post-processing; this is
why they are sometimes called as easy-to-use modules. The REACTOR module has a command-menu user
interface, which is similar to those in all basic modules (e.g., SYS, TDB, GES, TAB, POLY, POST, PARROT
and ED-EXP). However, a software/database system to be used for calculations and simulations cannot be
constructed in the same way as a retrieval system for bibliographic data, and the user must thus know how to
define his problem within the framework of the software/database system.
More such easy-to-use modules will be built up in future releases, so that some common problems with wider
applications, or some difficult cases that require more comprehensive techniques for specifying the
calculation/simulation conditions and stepping/mapping variables, can be handled in a standard way. For
instance, a PREDOM module would be developed to calculate and plot the so-called predominant diagrams,
and a HTCORR module could be implemented to simulate high-temperature materials corrosion process.
More options in some existing modules (such as POURBAIX and SCHEIL) will be eventually added, and some
options will be further enhanced or extended, so that the module can treat more complex interaction systems
and provide more sophisticated results and presentations.
This Special Modules Guide ⇔ will give some detailed descriptions on the currently available special modules
and their applications.
⇔
Revision History of the Special Modules User's Guide:
Oct 1993 First release on the REACTOR module (Edited by Bo Sundman)
Jun 2000 Second release on all the other special modules (Edited by Pingfang Shi)
Nov 2002 Third release on all special modules (Edited by Pingfang Shi)
Jun 2004 Fourth release on the SCHEIL and REACTOR modules (Edited by Pingfang Shi)
May 2006 Fifth release on the TERNARY and SCHEIL module (Edited by Pingfang Shi)
Figure 10-1 illustrates examples of three BIN-module generated diagrams for the Fe-Cr binary
system, each diagram corresponding to one of the three main options, P (phase-diagram), G (Gibbs
energy curves), A (activity curves) and F (phase-fraction plot), respectively. Note these diagrams
have been slightly refined through the next step (see Step 5).
At the same time, an POLY3 file will be automatically saved in the current working directory, with
the default name ISOTERM.POLY3 for the main option P, GCURVE.PLOY3 for the main options
G and A, and PFCURVE.POLY3 for the main option F. These POLY3 files can be re-opened in the
normal POLY module, in order to conduct further graphical processing of other phase diagrams or
property diagrams in the POST module, or to perform other types of mapping or stepping
calculations directly in the POLY module. Note that such a file must be copied (if that specific
POLY3 workspace is still in process) or renamed (if that POLY3 workspace has been quitted) to
another file before making another BIN-module calculation with the same main option.
A. 2000 B. 18
1: LIQUID
1800 Liquid 16 2: BCC_A2
3: CBCC_A12
4: CUB_A13
1600 Liquid + BCC
14 5: FCC_A1
6: CHI_A12
TEMPERATURE_CELSIUS
1400 12 7: HCP_A3
8: SIGMA
4
1200 FCC + BCC BCC 10
GMR(*)
FCC
3
1000 Sigma
8
1
800 6
600 BCC + Sigma Sigma + BCC#2 4 7
5
400 BCC + BCC#2
2
6
200 0
9
E3 2
0 -2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
MOLE_FRACTION CR MOLE_FRACTION CR
0.7
Mass Fraction of Phase
0.6 0.6
Activity
1:X(CR),ACR(CR) BCC
2:X(CR),ACR(FE) 0.5
BCC#2
0.4 0.4
0.3
0.2 0.2 Sigma
0.1 BCC
BCC#2
0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 500 1000 1500 2000
MOLE_FRACTION CR TEMPERATURE_CELSIUS
Figure 10-1. Phase diagram, Gibbs energy curves and phase-fraction plot of the Fe-Cr binary
system, automatically calculated by the BIN module (outputs corresponding to the three
main options, P, G and F, respectively).
A presents the Fe-Cr binary phase diagram [mole fraction of Cr vs. temperature (in oC)];
B draws the Gibbs energy curves for all possible phases [i.e., GMR(*) in J/mol] in the entire Fe-Cr binary joint at
600oC;
C shows the activity curves for the two system components [i.e., ACR(*)] in the entire Fe-Cr binary joint at 600oC;
D plots the mass fractions of stable phases [i.e., BPW(*)] along temperature (in oC) when the mole fraction of Cr in
the binary joint is 0.55.
Step 5: Further refine the generated phase diagram or Gibbs energy curves or phase-fraction plot
Finally, the module always ends up in the normal POST module for further graphical processing and
handling the automatically generated (first) diagram, as he/she desires. The diagrams presented in Figure
10-1 have been refined in this step.
The user can now apply all kinds of POST-module commands to refine the diagrams, by modifying
and/or adding the settings for axis types, axis texts, axis scaling factors and manner, axis-tic status, tie-
line status, curve-labeling option, phase-region or property labeling texts, colors and thickness, diagram
title and subtitle, axis length, diagram size, and so forth.
One can also re-set the reference states for the components, suspend and/or restore phase(s) from/onto a
plotted diagram, impose experimental data points on a calculated diagram, change the plot options, and
specify a different plot format.
After such further graphical processing, the user can choose to print the generated diagram on a
connected printer, to save the diagram as a graphical file (using a preferable font and size), to dump the
diagram to a graphical device (also saved as a graphical file), or to export the complete X-/Y-
coordinates of the curves, lines and points, as well as some graphical settings, of the generated and
modified diagram onto an *.EXP file. See Chapter 9 for details of various POST commands.
Step 6: Further plot many other types of phase diagrams or property plots
If the user wants, he/she can generate many other types of phase diagrams or property diagrams in the
POST-module monitor, using the same calculation results (saved in the currently running or re-opened
BINARY.POLY3, GCURVE.PLOY3, PFCURVE.POLY3 file, or other copied BIN-module *.POLY3
files). The user may define the appropriate axis variables for the new diagrams, and can now apply all kinds
of POST-module commands to re-define and refine the diagrams exactly as described in the Step 6.
One can set the axis variables, by selecting suitable equilibrium quantities which are either state variables
(among internal variables, energetic variables, compositional and constitutional variables) or as derived
variables. One may also enter some additional symbols (functions or variables or tables) which can be used
as new axis variables or used for tabulations.
Normally, a variable corresponding to one of the mapping variables (if the calculation was made by the
main option P), or the stepping variable (if by the main option G or A or F), must be chosen as the
independent axis variable (the X- or Y-axis for diagrams corresponding to the main option P, and the X-
axis for diagrams corresponding to the main option G or A or F). If a composition variable has been used as
a mapping variable, the composition or activity (in Mole-Fraction, Mole-Percent, Weight-
Fraction, Weight-percent or Activity) of any one of the two elements (components) in the
binary joint can be set as the independent axis variable; if temperature has been used as a stepping variable,
T (in K) or T-C (in oC) can be set as the independent axis variable.
For defining the second axis variables (the Y-axis, or the X-axis if the Y-axis is set as the independent axis
variable using one of the mapping variables in the main option P calculation), one can choose any other
suitable equilibrium quantity. One may even define a third axis variable (the Z-axis) in the similar way as
defining the second one, if a triangular diagram is to be plotted in the POST module, or if a three-
dimensional diagram is to be generated using proper graphical software.
These can be summarized as below:
• For the main option P: X/Y = C/A(El) Composition/Activity of one element in the joint
or T/T-C Temperature (in K or oC)
X/Y/Z = Any equilibrium quantity of the system or
component(s) or phase(s); corresponding its
variation along the phase boundaries (and tie-
lines and invariant points)
• For the main option G/A: X = C/A(El) Composition/Activity of one element in the joint
Y/Z = Any equilibrium quantity of the system or
component(s) or phase(s)
• For the main option F: X = T/T-C Temperature (in K or oC)
Y/Z = Any equilibrium quantity of the system or
component(s) or phase(s)
For more details, please refer to Part 9 (the Post-Processor Module, POST).
Figure 10-2 illustrates some examples of such non-default diagrams plotted through graphical processing
of the BIN-module saved POLY3 files for the Fe-Cr binary system, which are generated by the three
main options, P (phase-diagram), G (Gibbs energy curves), A (activity curves) and F (phase-fraction
plot), respectively.
1.0 2000
A. BCC + BCC#2 B.
0.9 1800
BCC + Sigma Sigma + BCC#2
0.8 1600
BCC + Liquid
TEMPERATURE_CELSIUS
0.7 1400
0.6 1200
ACR(CR)
Sigma
BCC + Sigma
0.5 BCC + Liquid
1000
0.4 800
()
R
C
A
SMR(*)
8
7
3 6
10 5
6 3
4 1: LIQUID
7 2: BCC_A2
6
2 3: CBCC_A12
4: CUB_A13
5 9
0 5: FCC_A1
2 6: CHI_A12
E3 -2 7: HCP_A3
8: SIGMA
0 -4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
MOLE_FRACTION CR MOLE_FRACTION CR
1.0 1.0
E. Fe Cr
F.
0.9
BCC#2 BCC 0.9
0.8
0.7 0.8
0.6
0.7
NM(*,*)
Cr Cr
ACR(*)
Cr
0.5 Sigma BCC Liquid Cr
Fe
Fe Fe 0.6
0.4
0.3 Fe
0.5
0.2
BCC#2 BCC 0.4
0.1 Cr Fe
0 0.3
0 500 1000 1500 2000 0 500 1000 1500 2000
TEMPERATURE_CELSIUS TEMPERATURE_CELSIUS
Figure 10-2. Other types of phase diagrams and property diagrams of the Fe-Cr binary system, generated
by the POST module, based on calculation results from the main options (P, G and F).
A and B present the activity of the Cr component [ACR(Cr)] varied with either system composition [mole fraction of Cr] or temperature [in
o
C] along the phase boundaries; C and D draw the enthalpies and entropies for all possible phases [HMR(*) in J/mol and SMR(*) in
J/mol/K] in the entire Fe-Cr binary joint at 600oC; E and F plot the mole fractions of Cr and Fe in stable phases [NR(*,*)] and activities
for components Cr and Fe [ACR(*)] along temperature (in oC) when the mole fraction of Cr in the joint is 0.55.
Note that due to the main option P calculations (saved in default BINARY.POLY3 files) are performed
with two independent mapping variables (temperature and composition of the binary joint), one can
usually to present the calculation results in various types of phase diagrams or property plots. A phase
diagram for a binary system can be plotted with one axis variable as temperature (in oC or K), and the
other as the system composition (mole-fraction M-F, or mole-percent M-P, or weight-fraction W-F, or
weight-percent W-P of one of the elements e.g. components) or a composition-dependent state variable
(such as activity, AC or ACR, of one component). If only one of such variables is set as one axis and
another specific equilibrium property of the system or component(s) is set as the other axis, then a
property diagram is plotted. In such a property diagram, the curves/lines/points will only present the
variations of that specific equilibrium property along the phase boundaries (and tie-lines and invariant
points).
Moreover, some thermodynamic properties and equilibrium quantities which are already defined (e.g.,
standard state variables or in a table) can be tabulated and plotted, along one mapping variable (the main
option P) or the stepping variable (the main option G or A or F).
As described above, the BIN Module in the TCC software (and Binary Phase Diagram Module in the TCW
software) automatically retrieves all thermodynamic data from a switched suitable solution database, in which
various binary interaction parameters and all the assessed system information (at least for the binary system to
be calculated and plotted) must be available besides the standard thermodynamic properties of various phases.
Normally, such a solution database is specially designed for the BIN module, but it can also be an ordinary
solution database (implying that ternary and high-order interaction data may also be available) with an
additional ASSESSED_SYSTEM information block (see below). The user can also switch to his/her own
solution database(s) that meet the basic requirements for making the BIN-module calculations.
Previously, there were two specially designed binary alloy solution databases that can be directly used in the
BIN Module of TCC (and Binary Phase Diagram Module of TCW). Since TCCR/TCW4, a new public
database, TCBIN (TC Binary Alloy Solutions Database, version 1) is free-of-charge included along with the
TCCR/TCW4 software; however, unlike other public databases, TCBIN is always and can only be distributed in
the encrypted database form, and can only be used inside the BIN Module (of TCCR) or Binary Phase Diagram
Module (of TCCW4).
Some detailed descriptions of these three special BIN-module databases can be found in their corresponding
Database Description Forms (in the document Thermo-Calc Database Guide, as well as on our web site
www.thermocalc.com/Products/Databases_TCC_TCW.html). They are also briefly described below:
PBIN TC Public Binary Alloy Solutions Database (previously called BIN97)
• free-of-charge distributed with TCC and TCW, and with TCC_Demo/TC4A and TCW-
Demo/TC4U
• covering 21 elements (Ag-Al-C-Co-Cr-Cu-Fe-Mn-Mo-N-Nb-Ni-O-Pb-S-Si-Sn-Ti-V-W-Zn)
• containing the following 35 binary systems (for liquids and solid solutions, and many
stoichiometric phases)
Al-Cu Al-Ni Al-Zn C-Co C-Cr C-Fe C-Mn C-Mo C-Nb C-Ni
C-Si C-V C-W Co-Cr Co-Fe Co-Mn Cr-N Cr-Fe Cr-Mo Cr-W
Cu-Fe Cu-Zn Fe-Mn Fe-Mo Fe-N Fe-Nb Fe-O Fe-S Fe-V Fe-W
Mo-Nb Mo-W N-Ti N-V Pb-Sn
SBIN2 SGTE Binary Alloy Solutions Database (A subset of SSOL2) (previously called BIN)
• only distributed together with a formerly licensed SSOL2/SSOL4 database
• covering 83 elements (same as in the SGTE SSOL Solutions Database, version 2)
• containing the following 106 binary systems (for liquid and solid solutions, and many
stoichiometric phases)
Ag-Au Ag-Cu Ag-Ge Ag-Pb Ag-Si Ag-Sn Al-As Al-Bi Al-Ca Al-Fe
Al-Ga Al-Ge Al-In Al-Mg Al-Mn, Al-Pb Al-Si Al-Sn Al-Zn As-Ga
As-Ge As-In Au-Bi Au-Ge Au-In Au-Pb Au-Sb Au-Si Au-Sn Au-Tl
Bi-Cu Bi-Ga Bi-Ge Bi-In Bi-K Bi-Sn Bi-Tl Bi-Zn C-Co C-Cr
C-Cu C-Fe C-Mn C-Mo C-Nb C-Ni C-Pb C-Ti C-V C-W
Ca-Fe Co-Cr Co-Fe Co-Mn Co-Ni Cr-Cu Cr-Fe Cr-Mo Cr-N Cr-Ni
Cr-V Cr-W Cs-K Cs-Na Cs-Rb Cu-Fe Cu-Mg Cu-Ni Cu-P Cu-Pb
Cu-Si Cu-Tl Cu-Zn Fe-Mn Fe-Mo Fe-N Fe-Nb Fe-Ni Fe-Pb Fe-S
Fe-Si Fe-Ti Fe-V Fe-W Ga-Ge Ga-In Ga-Pb Ga-Sn Ga-Zn Ge-In
Ge-Pb Ge-Sb Ge-Sn Ge-Tl Ge-Zn K-Rb (Mg-Sb) Mg-Si (Mg-Sn) Mo-N
Mo-Nb Mo-Ni Mo-W N-Ni N-Ti Na-Rb Ni-W Pb-Si Pb-Sn Sb-Sn
Si-Mo Si-Sn Si-Ta Si-Ti Si-W Si-Zn
Ag-Al Ag-Au Ag-Bi Ag-Cu Ag-Ge Ag-In Ag-Ir Ag-Mg Ag-Os Ag-Pb
Ag-Pd Ag-Pt Ag-Rh Ag-Ru Ag-Sb Ag-Si Ag-Sn Ag-Ti Ag-Tl Ag-Zn
Ag-Zr Al-As Al-Au Al-B Al-Bi Al-C Al-Ca Al-Ce Al-Co Al-Cr
Al-Cu Al-Fe Al-Ga Al-Ge Al-In Al-Li Al-Mg Al-Mn Al-Mo Al-N
Al-Nb Al-Nd Al-Ni Al-O Al-P Al-Pb Al-Sb Al-Si Al-Sn Al-Ta
Al-Ti Al-V Al-W Al-Y Al-Zn Al-Zr As-Au As-Cu As-Fe As-Ga
As-Ge As-In As-P As-Sb Au-Bi Au-C Au-Cr Au-Cu Au-Ge Au-In
Au-Pb Au-Pd Au-Rh Au-Ru Au-Sb Au-Si Au-Te Au-Tl B-C B-Co
B-Cr B-Fe B-Hf B-Mg B-Mo B-N B-Nd B-Ni B-SC B-Si
B-Ti B-V B-W Ba-Cu Ba-Eu Ba-Sr Ba-Y Bi-Cu Bi-Ga Bi-Ge
Bi-In Bi-K Bi-Mg Bi-O Bi-Pb Bi-Sb Bi-Si Bi-Sn Bi-Tl Bi-Zn
C-Co C-Cr C-Cu C-Fe C-Hf C-Mn C-Mo C-Nb C-Ni C-Pb
C-Si C-Ta C-Ti C-V C-W C-Y C-Zr Ca-Cu Ca-Mg Ca-Pb
Ca-Si Ca-Zn Cd-Ga Cd-Ge Cd-Hg Cd-In Cd-Pb Cd-Sb Cd-Sn Cd-Te
Cd-Zn Ce-Mg Co-Cr Co-Cu Co-Dy Co-Fe Co-In Co-Mn Co-Mo Co-N
Co-Nb Co-Ni Co-Pd Co-Pt Co-Si Co-Ta Co-Ti Co-V Co-W Cr-Cu
Cr-Mg Cr-Mn Cr-Mo Cr-N Cr-Nb Cr-Ni Cr-P Cr-Pd Cr-Pt Cr-Si
Cr-Sn Cr-Ta Cr-Ti Cr-V Cr-W Cr-Zn Cr-Zr Cs-K Cs-Na Cs-Rb
Cu-Fe Cu-Ge Cu-In Cu-Li Cu-Mg Cu-Mn Cu-N Cu-Nb Cu-Ni Cu-O
Cu-P Cu-Pb Cu-S Cu-Sb Cu-Si Cu-Sn Cu-Sr Cu-Ti Cu-Tl Cu-V
Cu-Y Cu-Zn Cu-Zr Dy-Er Dy-Ho Er-Ho Er-Tb Fe-Mg Fe-Mn Fe-Mo
Fe-N Fe-Nb Fe-Nd Fe-Ni Fe-O Fe-P Fe-Pb Fe-Pd Fe-Pr Fe-Pt
Fe-S Fe-Si Fe-Sn Fe-Ti Fe-V Fe-W Fe-Zn Fe-Zr Ga-Ge Ga-Hg
Ga-In Ga-P Ga-Pb Ga-Sb Ga-Sn Ga-Te Ga-Zn Ge-In Ge-Pb Ge-Sb
Ge-Si Ge-Sn Ge-Te Ge-Tl Ge-Zn H-Nb H-Zr Hf-Ta Hf-Si Hf-Ti
Ho-Tb In-P In-Pb In-Sb In-Si In-Sn In-Zn Ir-Pd K-Rb La-Ni
Li-Mg Li-Zr Mg-Mn Mg-Ni Mg-O Mg-SC Mg-Si Mg-Y Mg-Zn Mg-Zr
Mn-Mo Mn-N Mn-O Mn-Pb Mn-Si Mn-Ti Mn-V Mn-Y Mn-Zr Mo-N
Mo-Nb Mo-Ni Mo-Si Mo-Ta Mo-Ti Mo-W N-Nb N-Ni N-Ta N-Ti
N-V N-W Na-Rb Nb-Ni Nb-O Nb-Ti Nb-V Nb-W Nb-Zr Nd-Pr
Nd-Sb Ni-P Ni-Pd Ni-Si Ni-Ta Ni-Ti Ni-V Ni-W Ni-Y Ni-Zr
O-Pb O-Sn O-Sr O-Ti O-Y O-Zr P-Sb P-Si Pb-Pd Pb-Sb
Pb-Si Pb-Sn Pb-Tl Pb-Zn Pd-Ru Pd-Sn Pr-Sb Pt-Rh Pt-Ru Re-Ta
Re-W Sb-Si Sb-Sn Sb-Zn Se-Sn Se-Te Se-Tl Si-Sn Si-Ta Si-Te
Si-Ti Si-U Si-V Si-W Si-Y Si-Zn Si-Zr Sn-Ti Sn-Zn Sn-Zr
Ta-Ti Ta-V Ta-W Ta-Zr Te-Zn Ti-V Ti-W Ti-Zr V-Zr Y-Zr
Exactly like in a normal solution database, a specially designed BIN-module solution database must contain all
kinds of information about elements, species and phases, phase descriptions, constants, thermodynamic
functions and parameters for elements, end-members (stoichiometric phases) and binary interaction pairs of
solution phases, type definitions, default definitions, references, and so on.
Since there is no option to either reject or restore phases from a defined binary system, some unnecessary
phases might need to be rejected (using the keyword sequence DEFAULT_COMMAND REJECT_PHASE in
the setup file of the solution database) or simply deleted from the database.
Most importantly, a specific alloy solution database that can be directly used in the BIN Module of the TCC
software (and in the Binary Phase Diagram Module of the TCCW software) must contain some descriptive
information about all (or partially on some particularly suitable) binary systems (that have been critically
assessed) in the entire chemical system of the database, and about the way that how to calculate binary phase
diagrams for each binary system. Such information must be coded by the legal TDB keyword
ASSESSED_SYSTEMS, and is normally given at the end of the setup file of the database. Moreover, the BIN
module will only be able to calculate various types of phase diagrams (and thermodynamic function curves
and phase-fraction plots) for the binary joints that are included in the ASSESSED_SYSTEM descriptive
information block.
The keyword ASSESSED_SYSTEMS and the manners of coding the sequential descriptive information block
are detailed in Section 3.3.18 of the document Thermo-Calc Database Guide.
An example for giving the assessed binary system information in the Fe-Cr-Ni-C system is given below:
ASSESSED_SYSTEMS
C-FE(;P3 *) C-NI(;P3 *)
C-CR(;P3 TMM:273/6000 STP:.7/900/1/-1/2/-2 STP:.3/1500/2)
CR-FE(TDB -HCP ;G5 C_S:BCC/CR:VA ;P3 STP:.6/1200/1/-2/2) CR-NI(;P3 *)
FE-NI(;P3 STP:.2/500/1/-1 STP:.1/1500/1/2/-2) !
In practice, any solution database that contains an appropriate description for the binary join we are
looking for in the ASSESSED_SYSTEM descriptive information block can be used in the BIN module.
Therefore, one can always code an ASSESSED_SYSTEM descriptive information block in an available
ordinary solution database or in a user-specified solution database, and then use it in the BIN module for
different purposes.
Such a solution database, together with the BIN module, is particularly interesting for systematic investigations
of various types of phase diagrams and property diagrams (Gibbs energy curves, activity curves and phase-
fraction plots) for binary systems which have been critically assessed, and is especially useful for teaching.
There are two examples in the \TCEX\ area (TCEX1.TCM and TCEX13.TCM) and in TCCR Examples Book,
which illustrate that how various BIN-module calculations and graphical processing are performed:
Example 1 TCEX1.TCM Demonstration of the main option P (phase diagram) calculation of the
BIN module, as well as some further normal TCC command-line
calculations and graphical processing of various types of binary phase
diagrams and property diagrams; going through various on-line help
features.
Example 13 TCEX13.TCM Demonstration of the main option P (phase diagram) and G (Gibbs energy
curves) calculations and graphical processing for binary systems.
Using the traditional command-line routines in TCC, one can easily calculate and plot various types of phase
diagrams (isothermal sections, monovariant lines or isothermal projection of liquidus surface, isopleths, vertical
sections, etc.) in a ternary system (A-B-C), as summarized in Table 8-1 in Section 8.5.2. This can be done
going through its command-line structured modules, i.e., to define the ternary system and get thermodynamic
data (for all end-member properties, and binary and ternary interactions) in the TDB module, to (if necessary)
manipulate phase descriptions and parameters in the GES module, to set calculation conditions and mapping
variables in the POLY module, and to specify the graphical appearance in the POST module. In this way, one
can also calculate and plot the phase diagram for a pseudo-ternary system (or called quasi-ternary system, e.g.,
CaO-MgO-SiO2). Of course, the use of a MACRO file for a ternary phase diagram or property diagram
calculation and graphical processing will make such command-line calculation and graphical processing much
simple and efficient, for instance, the examples TCEX3.TCM, TCEX14.TCM, TCEX19.TCM, and
TCEX37.TCM in the \TCEX\ area and the TCCR Examples Book.
To make the user interface much easier and more straightforward, a special and easy-to-use module, namely the
TERN module, has been available since TCCM, for calculations of isothermal sections and monovariant lines
(with respect to liquid phase) in ternary ally systems. In TCCR (and TCW4), this module has been further
improved, by adding the main option L (Liquidus Surface) [in addition to the previously-existing main
option P (Phase Diagram) and M (Monovariants)], in order to directly/automatically calculate and plot
liquidus surface projections (monovariant lines, isothermal sections, as well as invariant reactions and their
reaction types/temperatures; all with respect to liquid phase) of ternary alloy systems. Therefore, this module
has become significantly powerful and efficient for calculations of ternary systems.
It is constructed as a simple question-based line structure, and the user just needs to provide some appropriate
answers. Corresponding to its three main options (P, M and L), the module can directly and automatically
calculate and plot three specific types of phase diagrams for a defined ternary alloys system:
Phase diagram: utilizing the main option P (Phase Diagram) for an isothermal section
of the entire ternary system at a specific temperature (in oC);
automatically saving the workspace as the default file ISOTERN.POLY3;
using two of the component compositions in the system as the X/Y-axes.
Monovariant lines: utilizing the main option M (Monovariants) for the monovariant lines
with regard to liquid phase in the entire ternary system;
automatically saving the workspace as the default file MONOVAR.POLY3;
using two component compositions in the liquid phase as the X/Y-axes,
and using liquidus temperature (in oC) as the projected Z-axis.
Liquidus surface projections: utilizing the main option L (Liquidus Surface) for the liquidus
surface projections (monovariant lines, isothermal sections, as well as
Furthermore, using the TERN-module calculation results, many other types of phase diagrams and property
diagrams can be generated, during the following graphical processing in the POST module (either immediately
after the TERN-module calculation and default plotting are accomplished, or directly by re-opening a TERN-
module POLY3 file). Yet, other normal POLY calculations and associated POST graphical processing of
various property diagrams for a ternary system can be conducted using the saved or re-opened TERN-module
POLY3 workspace (ISOTERN.POLY3, LIQUIDUS.POLY3, MONOVAR.POLY3 or other copied POLY3
files).
Note that for calculations of isopleths and vertical sections, the TERN module does not work; instead, one shall
use the ordinary command-line structured modules (refer to Section 8.5.2).
The procedure of the TERN module is very simple, with a few steps to complete a calculation and graphical
processing of an isothermal section, or monovariant lines (with regard to liquid), for a ternary system, as
described below:
plot the first desired triangular diagram on the screen. This is the default output for the chosen main
option (P or M or L), and its settings of axis variables are always as below:
• For the main option P:
X = X(2ndEl) Mole fraction of the second element
Y = X(3rdEl) Mole fraction of the third element
• For the main option M or L:
X = X(LIQ,2ndEl) Mole fraction of the second element in LIQUID phase
Y = X(LIQ,3rdEl) Mole fraction of the third element in LIQUID phase
Z = T-C Temperature (in oC), but expressed as a correlation between
the tic-mark scaled Z-axis values and projected liquidus
temperatures over the entire ternary composition space,
such as Z-axis = 400 + 50*Z
Default settings are also enforced on axis types, axis texts, axis scaling factors (always from 0.0 to 1.0 for
all three axes), curve-labeling option (E or N for the main option P, F for the main option M, and N for the
main option L), colors and thickness (for texts and axes, invariant equilibrium points, tie-lines, and other
lines like for solubility lines), fonts and sizes (for labels and numbers), diagram title and subtitle, tic-
marks (available for the main options M and L), and so on. Iinformation on all possible invariant reaction
points involving liquid phase (including their reaction temperatures, involved phases, and their reaction
types) in the calculated ternary system are also given on the default plotted diagram for the liquidus
surface projections.
The default diagram title for the main option P calculations is composed by the ternary system name and
the temperature value for the calculation, appeared as “A-B-C at T = t”, where A, B, and C are
element names arranged in alphabetic order and t is the temperature (in oC). The default diagram title for
the main option M calculations is always as “Monovariant lines in A-B-C”, where A, B, and C
are element names arranged in alphabetic order. The default diagram title for the main option L
calculations is always as “A-B-C (lt/ht/it) xx s”, where A, B, and C are element names
arranged in alphabetic order, lt/ht/it are lower and upper temperature limits (in oC) and temperature
interval for the calculated/plotted isotherms on the liquidus surface projections, and xx is the real
computation time (in second) for the current calculations.
The default subtitle for the main option M or L calculations is set as like “Z-axis = a + b*Z”, where
expresses the linear correlation between the labeled Z tic-marks and Z-axis value (the liquidus
temperatures, in oC), and thus the a and b values are correlation constant and coefficient, respectively.
Figure 10-3 illustrates examples of three TERN-module generated diagrams for the Al-Mg-Si ternary
system, corresponding to the main option P (isothermal section phase-diagram), M (monovariant lines
curves involving liquid phase), and L (liquidus surface projections), respectively.
At the same time, a POLY3 file will be automatically saved in the current working directory, with the
default name of ISOTERN.POLY3 for the main option P, and of MONOVAR.PLOY3 for the main option
M or L. For the main option L, another POLY3 file LIQUIDUS.POLY3) is also saved in the same area
for only storing the workspace related to those starting points for calculating isothermal sections
involving liquid phase (while this file is not useful). These POLY3 files can be re-opened in the normal
POLY module, in order to conduct further graphical processing of other types of phase diagrams or
property diagrams in the POST module, or to perform other types of mapping or stepping calculations
directly in the POLY module. Note that such a file must be copied (if that specific POLY3 workspace is
still in process) or renamed (if that POLY3 workspace has been quitted) to another file before making
another TERN-module calculation with the same main option.
Furthermore, an EXP file with the default name of ISOTHER.EXP is automatically saved in the current
working directory, which lists out (in the DATAPLOT Language format) various details about all
possible invariant reaction points on the liquidus surface projection (including their reaction
temperatures, reaction types involved phases and their compositions).
1:*MG2SI LIQUID
2:*DIAMOND_A4 M G2SI
Figure 10-3. Isothermal section
A. 1.0 2
4
5
3
3:*DIAMOND_A4 L IQUID
4:*LIQUID DIAMOND_A4
(at T = 1000 K), projected
5:*MG2SI DIAMOND_A4 monovariant lines on
0.9 liquidus surface, and
0.8 liquidus surface projections
0.7 for the Al-Mg-Si ternary
SI
system, automatically
N
0.6
TIO
module (outputs
_FR
33 1
0.2 1 respectively).
0.1
11 11
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
MOLE_FRACTION MG
THERMO-CALC (2000.12.19:10.04) :Monovariant lines in AL-MG-SI
Z-AXIS = 436.4 + 50.65 * Z
1:*F CC_A1 L IQUID F0 MG2SI
2:*ALMG_BETA LIQUID F0 FCC_ A1
3:*ALMG_BETA LIQUID F0 MG2 SI
B. 1.0 4:*ALMG_BETA LIQUID F0 ALMG_UPSILON
5:*ALMG_UPSILON LIQUID F0 MG2SI
6:*ALMG_DZETA LIQUID F0 ALMG_UPSILON
0.9 7:*ALMG_DZETA LIQUID F0 MG2SI
8:*AL12MG17 LIQUID F0 ALMG_DZETA
0.8 9:*AL12MG17 LIQUID F0 MG2SI
10:*AL12MG1 7 LIQUID F0 HCP_A3
0.7 11:* HCP_A3 L IQUID F0 MG2SI
12:*DIAMOND_A4 LIQUID F0 FCC_A1
0.6 13:*DIAMOND_A4 LIQUID F0 MG2SI
10
SI)
13
9
0.5
Q,
8
LI
0.4
X(
6
5
0.3
4
0.2
132
3
0.1
3 1 11
2 5
3 4678 9 10
3
1
0
2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
X(LIQ,MG)
C.
Step 5: Further refine the generated phase diagram or Gibbs energy curves or phase-fraction plot
Finally, the module always ends up in the normal POST module for further graphical processing and
handling the automatically generated (first) diagram, as he/she desires.
The user can now apply all kinds of POST-module commands to refine the diagrams, by alternating
diagram type (triangular or perpendicular), modifying and/or adding the settings for axis types, axis texts,
axis scaling factors and manner, axis-tic status, tie-line status, curve-labeling option, phase-region or
property labeling texts, colors and thickness, diagram title and subtitle, axis length, diagram size, and so
forth.
One can also re-set the reference states for the components, suspend and/or restore phase(s) from/onto a
plotted diagram, impose experimental data points on a calculated diagram, alternate the plot options, and
specify a proper plot format.
After such further graphical processing, the user can choose to print the generated diagram on a
connected printer, to save the diagram as a graphical file (using a preferable font and size), to dump the
diagram to a graphical device (also saved as a graphical file), or to export the complete X-/Y-coordinates
of the curves, lines and points, as well as some graphical settings, of the generated and modified diagram
onto an EXP file. See Chapter 9 for details of various POST commands.
Step 6: Further plot many other types of phase diagrams or property plots
If the user wants, he/she can generate many other types of phase diagrams or property diagrams in the
POST-module monitor, using the same calculation results (saved in the currently running or re-opened
ISOTHERN.POLY3, MONOVAR.PLOY3 or other copied TERN-module *.POLY3 files). The user shall
define the appropriate axis variables for the new diagrams, and can now apply all kinds of POST-module
commands to re-define and refine the diagrams exactly as described in the above step.
One can set the axis variables, by selecting suitable equilibrium quantities which are either state variables
(among internal variables, energetic variables, compositional and constitutional variables) or as derived
variables. One may also enter some additional symbols (functions or variables or tables) which can be
used as new axis variables or used for tabulations.
Normally, a system composition variable (e.g., moles N, mass B, mole-fraction M-F, mole-percent M-P,
weight-fraction W-F, weight-percent W-P) or activity (AC or ACR) of any one of the three elements
(components) in the entire ternary system can be set as the independent axis variable (the X- or Y-axis
for diagrams). A phase composition variable (e.g., moles N, mass B, mole-fraction X, weigh-fraction W)
or activity (AC or ACR) of any one of the three elements (components) in a stable phase (for the main
option M, normally only for the liquid phase) can also be used as the independent axis variable. However,
if the main option M has been previously used in the calculation, the temperature condition, T (in K) or
T-C (in oC), can also be set as the independent axis variable.
For defining the second axis variables, one can choose any other suitable equilibrium quantity. One may
even define a third axis variable (the Z-axis) in the similar way as defining the second one, if a triangular
diagram with the Z-axis projected is to be plotted in the POST module, or if a three-dimensional diagram
is to be generated using proper graphical software.
The possibility of such additional diagrams can be summarized as below:
• After the main option P:
X/Y = C/A(El) Composition/Activity of one element (component) in the system
or C(ph,El) Composition of one element (component) in a stable phase
or AC(sp,ph) Activity of one element (species) in a stable phase
X/Y/Z = Any equilibrium quantity of the system or component(s) or
phase(s); corresponding its variation along the phase
boundaries (and tie-lines, monovariant lines and invariant
points)
As described above, the TERN module automatically retrieves all thermodynamic data from a suitable solution
database, in which a completely-incorporated, critically-assessed and internally-consistent data set (at least for
the currently interested-in ternary system to be calculated and plotted; including data for standard
thermodynamic properties of various unary/binary/ternary phases and binary/ternary interaction parameters)
must be available; otherwise, the calculated results may be entirely wrong or partially inappropriate.
Previously (in older versions before TCCR/TCW4), this is ensured through enforcedly applying the appropriate
information coded in the ASSESSED_SYSTEM section in the chosen solution database. Normally, such a
solution database is specially designed for the TERN module, but it can also be an ordinary solution database
(implying that binary, ternary and high-order interaction data exist) with an additional ASSESSED_SYSTEM
information block (see below). The user can also switch to his/her own solution database(s) that meet the basic
requirements for making the TERN-module calculations.
60 0.6
)
CE
,SI
50 0.5
ER
LIQ
_P
W(
40 0.4 315
2
HT
31 2
5
1
IG
30 43 1 0.3 43 1
33 33
WE
1 1
20 0.2
10 0.1
11 11 11 11
0 0
0 20 40 60 80 100 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
WEIGHT_PERCENT MG W(LIQ,MG)
THERMO-CALC (2001.02.20:10.07) :AL-MG-SI at T=1000 THERMO-CALC (2001.02.20:10.51) :AL-MG-SI at T=1000
34 3
0.5 3 31 1
2
5 2
5 15
2
ACR(AL)
HM(LIQ)
1 1
0.4 1 1 32 1
1
1 1
1 1
0.3
30
0.2
28
0.1 11
E3 11
0 26
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
MOLE_FRACTION MG X(LIQ,MG)
THERMO-CALC (2001.02.20:11.01) :Monovariant lines in AL-MG-SI
Z-AXIS = 436.4 + 50.65 * Z
82 7 1:*F CC_A1 L IQUID F0 MG2SI
13
E. 10
2:*ALMG_BETA LIQUID F0 FCC_A1
3:*ALMG_BETA LIQUID F0 MG2 SI Figure 10-4. Other types of phase
80 5 4:*ALMG_BETA LIQUID F0 ALMG_UPSILON
5:*ALMG_UPSILON LIQUID F0 MG2SI diagrams and property diagrams of
6:*ALMG_DZETA LIQUID F0 ALMG_UPSILON
78 4 7:*ALMG_DZETA LIQUID F0 MG2SI the Al-Mg-Si ternary system,
8:*AL12MG17 LIQUID F0 ALMG_DZETA
9:*AL12MG17 LIQUID F0 MG2SI
10:*AL12MG17 LIQUID F0 HCP_A3
generated by the POST module,
76 4
3
11:*HCP_A3 L IQUID F0 MG2SI based on calculation results from
SM(LIQ)
72 1
A, B, C and D present some equilibrium
2 2
70
relations among various thermodynamic
1 1 properties along the phase boundaries at 1000
9
2
3 567 8
4 K; E and F draw some equilibrium relations
68 10
among various thermodynamic properties along
66 the monovariant lines.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
ACR(MG,LIQ)
THERMO-CALC (2001.02.20:10.56) :Monovariant lines in AL-MG-SI
Z-AXIS = 436.4 + 50.65 * Z
0.9 1:*F CC_A1 L IQUID F0 MG2SI
F. 0.8 3 2:*ALMG_BETA LIQUID F0 FCC_A1
3
11
4
3
5:*ALMG_UPSILON LIQUID F0 MG2SI
6:*ALMG_DZETA LIQUID F0 ALMG_UPSILON
1
0.7 2
3 7:*ALMG_DZETA LIQUID F0 MG2SI
4 8:*AL12MG17 LIQUID F0 ALMG_DZETA
46
5 9:*AL12MG17 LIQUID F0 MG2SI
0.6 7
8 10:*AL12MG17 LIQUID F0 HCP_A3
9 11:*HCP_A3 L IQUID F0 MG2SI
W(LIQ,AL)
0.4 6
10
0.3 7
1
0.2 2 8
3 9
0.1 13
11 10
0
400 500 600 700 800 900 1000
TEMPERATURE_CELSIUS
At present moment, there is one specially designed ternary alloy solution database for direct use in the TERN
module, as detailed below:
PTERN TC Public Ternary Alloy Solutions Database (previously called TER98)
• freely distributed with TCC and TCW, and with TCC_Demo/TC4A and TCW-Demo/TC4U
• covering 7 elements (Al-C-Cr-Fe-Mg-Si-V)
• containing the following 3 ternary systems (for liquids and solid solutions, and many
stoichiometric phases)
Al-Mg-Si, C-Cr-Fe, C-Fe-V
Exactly like in a normal solution database, a specially designed TERN-module solution database must contain
all kinds of information about elements, species and phases, phase descriptions, constants, thermodynamic
functions and parameters for elements, end-members (stoichiometric phases), binary and ternary interaction
joints of solution phases, type definitions, default definitions, references, and so on. Since there is no option to
either reject or restore phases from a defined ternary system, some unnecessary phases might need to be rejected
(using the keyword sequence DEFAULT_COMMAND REJECT_PHASE in the setup file of the solution
database) or simply deleted from the database.
Importantly, a solution database that can be directly used in the TERNARY module shall contain some
descriptive information about all the ternary systems (that have been critically assessed) in the entire
chemical system of the database, and about the way that how to calculate ternary phase diagrams for each
ternary system. Such information must be coded by the legal TDB keyword ASSESSED_SYSTEMS, and is
normally given at the end of the setup file of the database. Moreover, the TERNARY module will only be able
to calculate various types of phase diagrams (and monovariant lines) for those ternary systems that are
included in the ASSESSED_SYSTEM descriptive information block.
The keyword ASSESSED_SYSTEMS and the manners of coding the sequential descriptive information block
are detailed in Section 3.3.18 of the document Thermo-Calc Database Guide. An example for giving the
assessed ternary system information in the Al-C-Cr-Fe-Mg-Si system is given below:
ASSESSED_SYSTEM AL-MG-SI(;P3 *) C-CR-FE(;P3 *) !
In practice, any solution database that contains an appropriate description for the binary join we are
looking for in the ASSESSED_SYSTEM descriptive information block be used in the TERN module.
Therefore, one can always code an ASSESSED_SYSTEM descriptive information block in an available
ordinary solution database or in a user-specified solution database, and then use it in the TERN module
for different purposes.
Such a solution database, together with the TERN module, is particularly interesting for systematical
investigations of various types of phase diagrams (and liquidus surface projection, plus monovariant lines and
invariant reaction points inside the liquid surface projection) for ternary systems which have been critically
assessed, and is especially useful for teaching. Please note that the PTERN database is only an exemplary
database with some published data, primarily aimed at demonstrating the module. We highly recommend the
users to build their own databases/datasets for the TERN-module calculations.
However, since TCCR/TCW4, this requirement is somewhat ignored, i.e., the TERN module does not any long
require a selected solution database necessarily having a description for a defined ternary system in the special
ASSESSED_SYSTEM section (in such case a warning will be issued on screen, which the user should pay a
special attention). This also means that: the user should be crystal-clear about that the currently-chosen
solution database must contain a completely-incorporated, critically-assessed and internally-consistent data set
for the interested-in ternary system; otherwise, the calculated results may be entirely wrong or partially
inappropriate.
In a metal-gas interaction system, the so-called potential diagrams (plotted with fugacities of two major gaseous
species as the X/Y-axes) at certain temperature and pressure conditions are useful for investigations of the
formations of various forms of metal-involving oxides, sulfides, sulfates, carbonates, silicates, nitrides, nitrates,
etc., and their relations with the interacting gaseous mixture phase. Using the traditional command-line routines
in the TCC software, one can easily calculate and plot various types of potential diagrams in a metal-gas
interaction system, as described in Chapter 8.
Since the TCCL, a special and easy-to-use module, namely the POTENTIAL module, can automatically
calculate and plot such potential diagrams at specified temperatures and a pressure of 1 bar. It is constructed as a
simple question-based line structure, and the user just needs to provide some appropriate answers.
It uses the chemical potentials or activities of two major species in the gaseous mixture phase as the mapping
variables, and then plot the potential diagram with the activities (i.e., fugacities at 1 bar) of the two gaseous
species (in natural logarithm) as the X/Y-axes. The phase relations, between the gaseous mixture and various
metal forms, metal-oxides, metal-sulfides, or other metal-bearing solids, are represented by different fields
controlled by these two potential quantities.
Furthermore, many other types of potential diagrams and property diagrams (for a defined metal-gas interaction
system at the specified temperature and 1 bar) can be generated using the POT-module calculation results. This
is done during the following graphical processing in the POST module (either immediately after the
POTENTIAL-module calculation and default plotting are accomplished, or directly by re-opening a
POTENTIAL-module *.POLY3 file). Yet, other normal POLY calculations and associated POST graphical
processing of various potential diagrams and property diagrams can be conducted using the saved or re-opened
POT-module POLY3 workspace (POT.POLY3 or other copied *.POLY3 files). This is particular useful when
a potential diagram at a pressure condition rather than 1 bar is calculated: the user can go to the POLY module,
set the pressure condition (e.g., s-c P=1e8 for 1 kbar), calculate an initial equilibrium and add it in the
default direction, perform the mapping calculations, and then go back to the POST to plot the potential diagram
and other property plots (see Step 6).
The procedure of the POTENTIAL module is very simple, with a few steps to complete a calculation and
graphical processing of the default potential diagram and other plots, as described below:
The module asks for a suitable substance or solution database from where all thermodynamic data will be
retrieved. Any substance or solution database with a gaseous mixture phase, metals (or alloys), metal-
oxides/sulfides/sulfates/carbonates/silicates/nitrides/nitrates/… solids (stoichiometric or solution phases)
can be selected in the POTENTIAL module, such as the SSUB, TCMP, and TCES databases. The
specially designed SPOT database is a subset of the SSUB Substances Database, and another special
database, PSUB (TC Public substance database), are developed for the purposes of demonstrations of the
POTENTIAL-module calculations and graphical processing (see more details in the next section, 10.6.2).
The user can also switch to his/her own substance or solution database(s) that meet the basic
requirements for making the POTENTIAL-module calculations.
The names of the matrix element (metal) and two gaseous species (in one single line with one space in
between, or in three separate lines) that are available in the currently selected substance or solution
database must be given. The names of the two gaseous species as given here must be exactly the same as
in the definitions of such species and of the constituents of the gaseous mixture phase in the database.
The program asks for a specific temperature (in K) for calculating the potential diagram for the defined
metal-gas interaction system at this temperature and a pressure of 1 bar.
Default settings are also made on axis types, axis texts, axis scaling factors (always from -100.0 to
0.0 for both axes), curve-labeling option (normally as B), colors and thickness (for texts and axes,
invariant equilibrium points, tie-lines, and other lines like for solubility lines), fonts and sizes (for labels
and numbers), diagram title, tic-marks, and so on.
The default diagram title for the main option P calculations is composed by the ternary system name and
the temperature value for the calculation, appeared as “Me SP1 SP2; Database: ABCD”, where
Me, SP1, and SP2 are the names of the specified metal and two major gaseous species, and ABCD is the
name of the selected database.
Figure 10-5 illustrates an examples of the POTENTIAL-module generated diagrams for the interaction
between Fe and SO2/O2-bearing gaseous mixture phase at 1000 K and 1 bar.
0 8 8 910
11 1:*TROILITE_S3 FE1O1_S
2:*FE_S TROILITE_S3
-10 3:*FE_S FE1 O1_S
4:*FE1O1_S FE_S
-20
5:*FE3O4_S TROILITE _S3
6:*FE3O4_S PYRRHOTITE_S2
Figure 10-5. Potential
8
7 7:*GAS FE3O4_S
8:*GAS HEM ATITE
diagram of the
-30 9:*GAS FE2O12S3_S interaction between Fe
LNACR(O2,GAS)
6 10 :*HEMATITE FE2O12S3_S
15 145
-40 1 11:*FE2O12S 3_S HEMATITE
12 :*GAS PYRRHOTITE_S2
and SO2/O2-bearing gas
-50 4 3 1 13 :*PYRRHOTITE_S2 TROILITE_S3
14 :*FE3O4_S FE1O1_S
at 1000 K and 1 bar, that
-60
15 :*FE1O1_S FE3O4_S is automatically
calculated and plotted by
-70
2 12 the POT module.
-80 13
-90
12
-100
-100 -80 -60 -40 -20 0
LNACR(O2S1,GAS)
At the same time, an *.POLY3 file will be automatically saved in the current working directory, with the
default name POT.POLY3. This file can be re-opened in the normal POLY module, in order to conduct
further graphical processing of other potential diagrams or property plots in the POST module, or to
perform other types of mapping calculations directly in the POLY module (for instance, change the
pressure and temperature conditions to make a potential diagram; see Step 6). Note that such a file must
be copied (if that specific POLY3 workspace is still in process) or renamed (if that POLY3 workspace has
been quitted) to another file before making another POTENTIAL-module calculation.
Finally, the module always ends up in the normal POST module for further graphical processing and
handling the automatically generated (first) diagram, as he/she desires.
The user can now apply all kinds of POST-module commands to refine the diagrams, by alternating
diagram type (triangular or perpendicular), modifying and/or adding the settings for axis types, axis texts,
axis scaling factors and manner, axis-tic status, tie-line status, curve-labeling option, phase-region or
property labeling texts, colors and thickness, diagram title and subtitle, axis length, diagram size, and so
forth.
One can also re-set the reference states for the components, suspend and/or restore phase(s) from/onto a
plotted diagram, impose experimental data points on a calculated diagram, alternate the plot options, and
specify a proper plot format.
After such further graphical processing, the user can choose to print the generated diagram on a
connected printer, to save the diagram as a graphical file (using a preferable font and size), to dump the
diagram to a graphical device (also saved as a graphical file), or to export the complete X-/Y-coordinates
of the curves, lines and points, as well as some graphical settings, of the generated and modified diagram
onto an *.EXP file. See Part 9 for details of various POST commands.
Step 6: Further plot many other types of potential diagrams or property plots
If the user wants, he/she can generate many other types of potential diagrams or property plots in the
POST-module monitor, using the same calculation results (saved in the currently running or re-opened
POT.POLY3 file). The user shall define the appropriate axis variables for the new diagrams, and can
now apply all kinds of POST-module commands to re-define and refine the diagrams exactly as
described in the above step.
One can set the axis variables, by selecting suitable equilibrium quantities which are either state variables
(among internal variables, energetic variables, compositional and constitutional variables) or as derived
variables. One may also enter some additional symbols (functions or variables or tables) which can be
used as new axis variables or used for tabulations.
Normally, a chemical potential (e.g., MU or MUR, or in natural logarithm) or activity (AC or ACR, or in
natural logarithm) of any one of the two major gaseous species (SP1 or SP2) in the interaction system
can be set as the independent axis variable (the X- or Y-axis for diagrams). For defining the second axis
variables, one can choose any other suitable thermodynamic property or equilibrium quantity.
A potential diagram at a pressure condition rather than 1 bar, and/or at another temperature condition,
can be calculated and plotted in this step, as described here:
POST: back (to the POLY module; if not, use the GO POLY command sequence)
POLY_3: read POT.POLY3
(By reading an existing POT-module POLY3 file, it makes sure that LNAC(SP1,GAS)
and LNAC(SP2,GAS) are still as two of the conditions, and as the two mapping
variables)
POLY_3: s-c P=1e8
POLY_3: s-c T=800
POLY_3: c-e
POLY_3: add default
POLY_3: map
POLY_3: post
POST: plot
Figure 10-6 illustrates some examples of such non-default diagrams plotted through graphical processing
of the POTENTIAL-module saved *.POLY3 files for the Fe-S-O system.
A. 0 1:*TROILITE_S3 FE1O1_S
2:*FE_S TROILITE_S3
-5 3:*FE_S FE1 O1_S Figure 10-6. Other types of potential
5:*FE3O4_S TROILITE _S3
6:*FE3O4_S PYRRHOTITE_S2 diagrams and property plots of the
-10 78 7:*GAS FE3O4_S
6 8:*GAS HEM ATITE Fe-S-O system, generated by the
-15 9:*GAS FE2O12S3_S
5
10 :*HEMATITE FE2O12S3_S POST module (directly after the
MUR(O1S1,GAS)
B. 5 1:*TROILITE_S3 FE1O1_S
2:*FE_S TROILITE_S3
3:*FE_S FE1 O1_S
0 12 5:*FE3O4_S TROILITE _S3
6:*FE3O4_S PYRRHOTITE_S2
7:*GAS FE3O4_S
-5 8:*GAS HEM ATITE
12 :*GAS PYRRHOTITE_S2
13 :*PYRRHOTITE_S2 TROILITE_S3
LNACR(S2,GAS)
13 6 14 :*FE3O4_S FE1O1_S
-10
5
7
-15 1
8
-20 14
1
2
-25
-30 3
-35
-60 -50 -40 -30 -20 -10
LNACR(O2,GAS)
As mentioned above, the POTENTIAL module uses any substance or solution database which meets the basic
requirement that there must be a gaseous mixture phase, metals (or alloys), metal-oxides/sulfides/sulfates/
carbonates/silicates/nitrides/nitrates/… solids (stoichiometric or solution phases). In this regard, it is different
from the BIN, TERN and POURBAIX modules. Therefore, the SSUB, TCMP and TCES databases can be
generally selected for potential diagram calculations.
The specially designed SPOT database is a subset of the SSUB Substances Database, and another special
database, PSUB (TC Public Substances Database), are developed for the purposes of demonstrations of the
POT-module calculations and graphical processing. They are briefly described below:
PSUB TC Public Substances Database
• freely distributed with TCC and TCW, and with TCC_Demo/TC4A and TCW-Demo/TC4U
• covering 6 elements (Fe-Cu-H-O-S-N)
SPOT3 A subset of the SGTE SSUB Substances Database v3 (previously called POT)
• only distributed together with a formerly licensed SSUB database
• covering 101 elements (same as in the SGTE SSUB Substance Database, version 3)
The user can also switch to his/her own substance or solution database(s) that meet the basic requirements for
making the POTENTIAL-module calculations.
There is one example in the \TCEX\ area (TCEX35.TCM) and in TCCR Examples Book, which illustrate that
how the POTENTIAL-module calculations and graphical processing are performed:
In a heterogeneous interaction system involving an aqueous solution, the speciation and partition in aqueous
solution and various interacting phases (gas mixture, stoichiometric solids and solid solutions) depend on the
acidity (pH) and electronic potential (Eh), besides other controlling factors (bulk composition, temperature,
pressure and so on) in the system. To present the speciation and partition in various phases as functions of pH
and/or Eh conditions in an equilibrium state or dynamic process is very interesting to R&D in aqueous
chemistry, electrolyte solution chemistry, materials corrosion, chemical engineering, geochemistry,
environmental chemistry, etc.
Pourbaix (1966) attempted to apply thermodynamics to predict materials corrosion resistance, by determining
the phase stability relations in terms of varied pH and Eh values in an interaction system between metal and
pure water or dilute aqueous solution, and thus presenting the stability regions of metal and secondary phases
(metal-oxides) on a pH-Eh diagram, the so-called Pourbaix diagram. Pourbaix labeled a diagram as three
regions:
♦ Immunity - No metal dissolution;
♦ Corrosion - Active metal dissolution;
♦ Passivation - Formation of a protective metal-oxide film prevents further metal dissolution.
So a Pourbaix diagram is a kind of phase diagram, showing the stability boundaries for a metal-aqueous system,
by plotting the phase boundaries as a function of pH and Eh. An aqueous solution phase is always present;
however, at a given pH and Eh a metal may either be in equilibrium with the aqueous solution
(insoluble/immune) or in equilibrium with an oxide or sulfide or other formed secondary solid-phase film which
may provide passivation. On the other hand, a pre-dominance or speciation-percentage diagram is, however, a
property diagram, showing the dominant aqueous species or aqueous speciation percentage in the heterogeneous
equilibrium system. Such diagrams can also be projected onto the Pourbaix diagram if required, to see how
aqueous speciation is varied along the phase boundaries and within phase stability fields.
Figure 10-7 gives an example of the Pourbaix diagram of Fe, in a system with 0.001 mole of Fe in 1 kg of pure
water at 25oC and 1 bar, where gas phase is not considered in the calculation. The formation of magnetite (Mt,
Fe3O4) and hematite (Hm, Fe2O3), which are coexisting with the Fe-containing dilute aqueous solution,
represent the passivation of iron in the upper-right pH-Eh field. When pH value is low and Eh relatively high,
Fe will complete dissolve into the aqueous solution phase, implying the corrosion of Fe. At low Eh conditions,
Fe remains in its stable solid state (the BCC phase), and it neither dissolves into water nor alternates to Fe-
oxides, standing for the immunity of iron.
1.2
In this upper region (high Eh), the aqueous solution phase (Aqs)
becomes very oxidizing; if the gaseous mixture phase (Gas) is included, Figure 10-7. Pourbaix diagram of Fe (with
the O2 -dominated Gas forms.
0.001 mole Fe in 1 kg of pure water at 25oC
0.9 and 1 bar; gas excluded in the calculation).
0.6 Note that the gas mixture phase is not included in the
Aqs+Hm calculated system. In the upper region (high Eh) and
0.3 Aqs lower region (low Eh and low pH), the aqueous solution
Eh (V)
There is one important respect regarding a realistic Pourbaix diagram for a truly equilibrated system, as
indicated on Figure 10-7, and described below. In reality, the water component is electrolyzed to H+ and O-2 at
all pH conditions, but the electrolysis degree depends on the pH value in the aqueous solution phase. As Eh
increases and gets high enough, the O-2 ion will be oxidized to O2 (aqs). On the contrary, as Eh decreases and falls
low enough, the H+ ion will be reduced to H2 (aqs), through the major electrolysis and redox reactions:
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)
Accordingly, if one does not consider a gaseous mixture phase in calculating a Pourbaix diagram, 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, where the concept of “aqueous solution phase” is no longer valid
and consequently no proper aqueous solution model can actually applied. Therefore, from a restrict
thermodynamic equilibrium point of view, one has to include a gaseous mixture phase in the system for the
Pourbaix diagram calculation.
At a critically high value under a given pH condition, the aqueous solution phase with a high enough O2 activity
becomes less stable than an O2-dominated gas mixture phase, and thus the gas phase replaces the aqueous
solution phase in the system, through the following major-species reactions along all other reactions involving
minor oxidized and neutral species:
O2 (aqs) = O2 (gas) (phase transformation on the aqueous-gas boundary)
H2O (water) - 2e- = 2H+(gas) + 0.5O2 (gas) (oxidation of the remaining water)
Similarly, at a critically low value under a given pH condition, the aqueous solution phase with a high enough
H2 activity becomes less stable than an H2-dominated gas mixture phase, and thus the gas phase replaces the
aqueous solution phase in the system, through the following major-species reactions along all other reactions
involving minor reduced and neutral species:
H2 (aqs) = H2 (gas) (phase transformation on the aqueous-gas boundary)
H2O (water) + 2e- = O-2 (gas) + H2 (gas) (reduction of the remaining water)
Of course, the phase transformation from an aqueous solution phase to an O2- or H2-dominated gas mixture
phase depends upon the total molar Gibbs energies of the phases which are complicated functions of the phase
constitutions, temperature and pressure. The Gibbs energy minimization technique in the Thermo-Calc software
ensures the correct determination of such phase transformations.
Pure water at 25oC and 1 bar 3mNaCl-0.001mCO2-0.001m SO 2 aqueous solution at 150oC and 100 bar
8a 1.5 8b 1.5
1.2 O2-dominated Gas 1.2 O2-dominated Gas
O -2 +
2e - = O -2
0.9 O2 0.9 + 2e -
=O
2
0.6 0.6
Aqs
)
h(V
E
0 2H + H 2O = 2H+ + O -2 0
- 2e - = 2H +
H2 H2O = 2H+ + O-2
- 2e - =
-0.3 -0.3 H2
-0.6 -0.6
-0.9 H2-dominated Gas -0.9 H2-dominated Gas
-1.2 -1.2
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12
pH pH
Figure 10-8. The pH-Eh diagrams for pure water at 25oC and 1 bar (in 8a), and for a 3mNaCl-
0.001mCO2-0.001mSO2 aqueous solution at 150oC and 100 bar (in 8b). Note that
gas is included in the calculation.
In Figure 10-8, the gaseous mixture phase is included in the calculated system. In the upper region (high Eh)
and lower region (low Eh), the aqueous solution phase (water) is oxidized and reduced, respectively, to O2- and
H2-dominated gas phase. Comparing the two diagrams, one can see that the upper and lower boundaries
between the aqueous phase (water) and gas phase (either dominated by O2 or H2) may shift, when some solutes
dissolve in the aqueous solution and when the temperature-pressure conditions change.
Therefore, with such redox reactions considered in the equilibrium system, i.e., the gaseous mixture phase is
included in the calculation, the Pourbaix diagram of Fe in a system with 0.001 mole of Fe in 1 kg of pure water
at 25oC and 1 bar (Figure 10-9) appears differently from that where the gas phase is excluded (Figure 10-7). It
represents the complete Pourbaix diagram for the system, in a sense of restrictively thermodynamic equilibrium.
1E-3m Fe in 1 kg of water at 25o C and 1 bar (Gas phase included!)
1.5
1E-3m Fe in 1 kg of water at 25o C and 1 bar 1E-6m Fe in 1 kg of water at 25o C and 1 bar
10a 1.5 10b 1.5
0.6 0.6
Aqs Aqs
0.3 0.3
Eh (V)
Eh (V)
Aqs+Hm Aqs+Hm
COR C OR
0 ROS 0 ROS
I ON ION
PAS
-0.3 SIV
ATI
-0.3 PAS
ON SIV
ATI
ON
-0.6 IMMU
NITY Aqs+ -0.6 Aqs+
Mt IMMU Mt
NITY
-0.9 H2-dominated Gas -0.9 H2-dominated Gas
+ Fe (BCC) + Fe (BCC)
-1.2 -1.2
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
pH pH
1E-6m Fe in 1 kg of water (with 3m NaCl and 1E-5m SO 2) 1E-6m Fe in 1 kg of water (with 3m NaCl and 1E-5m SO 2)
at 25o C and 1 bar at 150o C and 100 bar
10c 1.5 10d 1.5
1.2 O2-dominated Gas 1.2
+ Hm O2-dominated Gas
0.9 0.9
Aqs + Hm
0.6 0.6
COR
ROS Aqs
0.3 ION 0.3
Eh (V)
Eh (V)
Aqs+Hm Aqs+Hm
0 0 COR
ROS A qs
ION + Py
A qs
-0.3 + Py PAS
SIV Aqs+Po -0.3
ATI PAS
ON SIV
-0.6 Aqs
+Mt -0.6 ATI
ON
IMMU +Tr
NITY IMM
UNI Aqs
-0.9 H2-dominated Gas -0.9 H2-dominated Gas TY +M
t
+ Fe (BCC)
+ Fe (BCC)
-1.2 -1.2
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12
pH pH
Figure 10-10. Pourbaix diagrams of Fe (for varied Fe actively interacted with pure water or
aqueous solution at different temperature and pressure conditions; gas included in
the calculations).
10a. 1E-3 m Fe actively reacted with 1 kg of pure water at 25oC and 1 bar (same as in Figure 10-9)
10b. 1E-6 m Fe actively reacted with 1 kg of pure water at 25oC and 1 bar
10c. 1E-6 m Fe actively reacted with 1 kg of water, 3m NaCl and 1E-5 m SO2 at 25oC and 1 bar
10d. 1E-6 m Fe actively reacted with 1 kg of water, 3m NaCl and 1E-5 m SO2 at 150oC and 100 bar
Note that the active metal corrosion region enlarges as the initial Fe amount decreases from 1E-3m (10a) to 1E-6m
(10b). Introducing SO2 into the interaction system causes the formation of various metal-sulfides (Py-pyrite, Po-
pyrrhotite, Tr-troilite) and increases the passivation region (compared 10c with 10b). Changing the system temperature
and/or pressure conditions affects the stability fields of various Fe-oxides/sulfides (compared 10d with 10c). The phase
boundaries between the aqueous solution and O2- or H2-dominated gaseous mixture shift as the initial bulk
compositions or temperature-pressure conditions in the system change.
Therefore, the shape of a Pourbaix diagram of an element (or alloy or condensed material) and the stability
relations of various secondary phases (oxides, hydroxides, sulfides, sulfates, carbonates, nitrates, silicates,
halides, or other forms) depends upon the following factors in the heterogeneous interaction system:
a) Initial amount and composition of the condensed materials
b) Initial amount and composition of the interacting aqueous solution phase
c) Temperature and pressure conditions
The pH and Eh values of the aqueous solution phase are normally very complicated functions of bulk
composition, temperature and pressure conditions. For traditional treatments adapted by various communities as
mentioned above, some thermodynamic approximations on the pH-Eh calculations are often used, and such
approaches can only be applied to some simple systems. Still, a mechanistic model that will predict the aqueous
corrosion resistance of a multicomponent alloy at a given physico-chemical condition is evasive.
However, with some comprehensive thermodynamic models and databases for various non-ideal solution
phases implemented in the Thermo-Calc software system, one can accurately calculate the pH and Eh values
and thus the complete Pourbaix diagrams, as well as many other types of property diagrams, in any complicated
aqueous solution involved heterogeneous interaction system under a wide temperature-pressure-composition
range.
Such calculations can be performed in a normal way, i.e., going through various basic modules (TDB, GES,
POLY and POST). In other words, one can calculate Pourbaix diagrams in the traditional way, i.e., using
various TCC commands. However, this needs a very high skill in doing so. Due to the complexities in defining
the heterogeneous interaction systems, reference states of some components, equilibrium conditions, aqueous
solution properties, mapping variables, plotting variables, and so on, it is usually rather difficult to properly
handle the equilibrium calculations and graphical presentations. Therefore, it is necessary and convenient to
make use of some special and easy-to-use modules already implemented in the TCC software.
The so-called POURBAIX module was first implemented since TCCL (1996), and has been continuously
modified and updated afterwards. It is developed to automatically construct Pourbaix diagrams and other types
of property diagrams for various heterogeneous interaction systems involving aqueous solution phases. Some
other special and easy-to-use modules, e.g., PREDOMIN module for calculating predominant-area diagram, and
PRECSP module for calculating speciation percentage diagram, will be further implemented into the coming
versions.
Given in this section are some comprehensive descriptions of the POURBAIX module, including the
development history of the module, basic requirements for definitions of the heterogeneous interaction systems,
and main feature of the module (modular structures, question-line based interface, special techniques for
calculating and plotting Pourbaix diagrams and property diagrams, etc.). The related thermodynamic models
and databases for various phases (aqueous solution, gaseous mixture, solid solutions and stoichiometric solids)
will be briefly reviewed, while for the details of such models and databases one shall refer to the relevant parts
in this User’s Guide. Furthermore, some details are given on the definitions of some aqueous solution properties
(as saved in the memory space of Thermo-Calc software, or listed on an equilibrium calculation result in the
POLY module, or shown on a plotted diagrams in the POURBAIX module). Finally, the potential applications
and possible future improvement of the module are overviewed, and one typical example of the module
calculation procedure is illustrated.
The versions 1.0 and 2.0 of the module were available in previous releases of the TCC software (versions L and
M) and TC4A (versions 1.0 and 2.0). These previous versions can only use a single database containing an
aqueous solution phase, a gas phase and some pure solids and solid solutions, which is specially designed for
the module (i.e., PAQ, preciously as AQ and PAQ). This limits its applications since these two small-sized free
database cover only few elements, and an option for multiple-database usage in the module is highly demanded.
There were many other limitations and defects in these previous versions, as outlined below:
• the module might fail in calculating all the stable phase boundaries for some complicated systems;
• the *.POLY3 files created by the module were difficult to use for any other purposes such as making
stepping calculations in the POLY module, due to the complexity in appropriately defining various
functions/variables/tables for aqueous solution properties and in defining status and reference states for
aqueous and electron phases/constituents/components);
• the module had some difficulties to be interacted by a user, in making Pourbaix and property diagrams
with better appearance and easier access for modifications;
• the module did not have complete on-line helpful descriptions at some questioning prompts;
• the module did not consider a charged gas phase, and all charged gaseous species will be ignored;
• the module did not calculate the high pH limits under which an aqueous solution phase could possibly bear
under a certain temperature, pressure and bulk composition, so the user had some difficulties in
choosing the scaling status of a pH axis.
The POURBAIX versions 3.0 and 4.0 were made available in the TCC versions N and P respectively. Many
options and automatic routines have been modified or added for a better control of the POURBAIX-module
calculations and graphical processing. Consequently, the module can efficiently perform the calculations under
various temperatures, pressures and bulk compositions, and can appropriately conduct the graphical processing
of various types of diagrams for complex heterogeneous interaction systems. A user may even be allowed to
directly interacting with the POLY-module calculations or the POST-module post-processing, within the
POURBAIX-module framework. The major modifications and improvements are summarized below:
Implementation of the Multiple-Database option, which allows a combination of an aqueous solution
database and one or more appended databases for gaseous mixture, stoichiometric solid and solids
solution phases.
Multiple compatibility with various thermodynamic models and associated databases for aqueous
solutions.
More precise calculations for the H2O EOS and thermodynamic properties.
More stable solutions of equilibrium calculations and much higher security to calculate a complete pH-Eh
diagram, through two easily-accessible options:
• to add more starting points in more directions (coded as being dependent on the defined
temperature and pressure),
• to use smaller mapping steps (in terms of pH and Eh values),
and other two invisible options (automatically operated by the module itself, if it finds necessary at
some computing points):
• to set higher numerical precision,
• to interact with the POLY-3 module, so that one can better set conditions and easily get initial
equilibria, and by typing a command “B” (BACK) can return to the POURBAIX module.
More intelligent and automatic settings of some limitations and parameters for various calculations and
graphical processing, such as for:
• the calculation of the highest pH limit for a chemical system under a certain set of temperature-
pressure-composition conditions;
• the search of the highest temperature limit for a proper calculation once the system composition
and pressure are specified;
• the arrangements of suitable starting points for a mapping or stepping calculation when the
temperature-pressure-composition conditions have been defined;
• the assignments of proper mapping or stepping variables and their minimum-maximum values
and step factors;
• the specifications of axis variables for a certain diagram, and their axis types, axis texts and
units, scaling status (minimum-maximum values and true-/semi-manual or automatic scaling
manner), and so on;
• the definitions of diagram title, subtitle, curve-labeling options, region-labeling texts and their
coordinates, fonts and sizes;
• the creations of default or user-specified file names and extensions of various types during the
calculation and graphical processing.
More prompt and reliable interactions with the POLY or POST module, either optionally or forcedly, so
that the user can conveniently and properly modify necessary definitions on some system components
and reference states, or adjust some conditions for initial equilibrium calculations, or further refine a
plotted diagram.
More freedom and easier procedure of generating a Pourbaix diagram and various property diagrams, and
of substantially modifying and improving the appearance of such diagrams, by providing more
automatic and indirect interactions with various POST-module facilities, and even allowing some
optional and direct interactions with the POST module.
All these major and other minor modifications and improvements will encourage the Thermo-Calc users to
utilize the module together with many more available aqueous/steel/alloy/slag/mineral/... databases for a much
wider range of industrial R&D applications. The description below is based on this new version.
1) One must have a database containing an aqueous solution phase (i.e., water as solvent, and aqueous
ion/complex species as solutes). Such a database can be ranged from the following two catalogues:
Databases containing an aqueous solution phase as well as a gaseous phase and some solid phases,
which can be used for the Single-Database option in the POURBAIX module. The TC Public
Aqueous Solution Database, PAQ (freely distributed within the TCC and TCW, and TCC-
Demo/TC4A and TCW-Demo/TC4W) belong to this catalogue (see more details below). A user
may use his own specified database that must meet some special requirements for such a database.
Databases containing only an aqueous solution phase, but the POURBAIX module will also require
to append from some other database(s) the gaseous mixture and solid phases. Such databases can be
used for the Multiple-Database option in the module. The TCAQ and AQS Aqueous Solution
Databases belong to this catalogue, which can be connected with the SGTE Substances/Solutions
Databases, the TCAB Steels/Alloys and Superalloy Databases, the TGG
Minerals/Geochemical/Environmental Databases, and so forth, as well with user's databases.
2) Due to the restrictions of aqueous solution models (SIT, HKF, Pitzer) used in the Thermo-Calc software,
the aqueous solution database must be designed in the same format as in the PAQ, TCAQ or AQS
database for aqueous solution phase (including the definitions on phase-constituent-species, default
components, status of phase-constituent-species, reference-state for the O-H-ZE components). Among
others, one should keep in mind the following regulations:
ELECTRON is defined as an special element (ZE), which is the only constituent of the reference
electrode phase (REFERENCE_ELECTRODE), as well the charge-determining constituent of
aqueous cations and anions but not of any neutral aqueous species;
The vacancy (VA) is unnecessary for the definition of aqueous solution phase, and thus must be
avoided in phase constitution for the aqueous phase in a database;
All aqueous species including solvent and solutes are located in a single-sublattice sit, rather than two
or multiple sublattices. Compared with a two-sublattice model for the solution, this leads the
calculation, interface and post-processing much simpler, quicker and convenient.
3) Beside the AQUEOUS (aqueous solution) phase, there generally exists a GAS (gaseous mixture) phase, and
for multicomponent systems there normally exist some solid phases (stoichiometric or solution). The
gaseous mixture phase at least contains H2O, O2 and H2, while any other neutral and charged gaseous
species may also be its constituents. As described above in Section 10.7.1, a Pourbaix diagram can be
built up for a heterogeneous interaction system with or without the gaseous mixture phase, but the
complete Pourbaix diagram in the restrictive sense of thermodynamic equilibrium must have the gaseous
mixture phase in the system. The thermodynamic models for either gaseous mixture phase or solid
solution phases are usually independent of that of the aqueous solution phase; however, the EOS
(equation of state) and thermodynamic properties for the major component H2O in the aqueous (pure
water), gaseous (pure steam) and solid (pure ice) states must be internally consistent.
As already mentioned in Section 10.7.1, a Pourbaix diagram normally presents heterogeneous interaction
among an aqueous solution phase, a gaseous mixture phase and some solid (stoichiometric or solution
phases; e.g., for alloy system the alloy phases and secondary phases). However, one could calculate a
Pourbaix diagram without considering a GAS mixture phase; in this case only interactions between the
AQUEOUS solution phase and some solid phases (alloys and secondary phases) are calculated. One
could also make a Pourbaix diagram calculation without taking into account the secondary phases; in this
case only the dissolution of alloy components into the AQUEOUS solution (and GAS mixture) will be
calculated. However, such calculations may not present the real heterogeneous interactions. Therefore,
some secondary phases are usually needed in the calculations (such phases exist in the PAQ Public
Aqueous Solution Database or can be appended from the SSUB/SSOL or other databases). Similarly to
the PAQ Public Aqueous Solution Database, one can also include some necessary secondary phases (and
a GAS mixture phase) in an alloy database, so that one just needs at once to append it onto the system in
which the AQUEOUS solution phase is retrieved from the TCAQ or AQS Aqueous Solution Databases.
These will be decided once the user has opened the module, by answering the question “Select
option” with one of the following four options:
• 1 as Start a new Pourbaix-diagram calculation;
• 2 as Open old file and plot other property diagrams;
• 3 as Open old file and make another Pourbaix-diagram calculation; and
• 4 as Open old file and make a stepping calculation.
Note these four options are referred in the following text as the Main Option 1, 2, 3 and 4, respectively.
For convenience, we call the Main Options 1 and 3 as the Pourbaix-diagram calculation options, the Main
Option 4 as the stepping calculation option, and the Main Option 2 as the property-diagram processing
option.
Table 10-1 gives a brief description of each of the Main Options. More details about these options will be
given later on.
shall contain at least the AQUEOUS and REF_ELECTRODE phases. Then the user can append one or
more databases for the gas, pure solid and solid solution or other phases from appropriate databases
(for instance, SSUB/SSOL, TCFE/ SLAG/ION, TTNi/TTTi/TTAl/TTMg, TCMP, TCES, GCE, etc.).
The chemical system and its bulk composition can be defined in terms of either 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) and their individual initial concentrations in mole (i.e., as molality since the interacting
solvent is usually 1kg of water, see above). The program will, each time, ask for one solute and
corresponding molality, which can be given either in two lines consequently or in one line at once (for
an example, NaCl 2.5); then it will automatically split them into elements and their mole-fractions.
Note that as inputting the bulk composition, the first letter of an element symbol must always be in
UPPER case, while the second one (if existing) in lower case (see examples given above). If some
wrong input (e.g., absent element in databases, or incorrect character) have been given by any chance,
the program will later on figure out as checking the databases, and automatically eliminate them from
the system definition.
Note that it may sometimes have problems in counting or splitting up some negatively-charged ions if
the negative sign is given immediately after the ion name, at least for the first such species [e.g., Cl-,
F-, I-, Br-, HCOO-, due to some unknown bugs in the current versions]. In such a case, one can
avoid the problem by giving the number “1” before the negative sign [e.g., Cl1-, F1-, I1-, Br1-,
HCOO1-, etc.]. There is no such problem for negative ions/complexes if the stoichiometric coefficient
for the last element in the name is not unity [e.g., HCO2-, NaSO4-, SO4-2, HSO4-] and for all
positive ions/complexes [e.g., Cu+2, CuNO3+, Cu(OH)+]. So it would be better to give the system
bulk composition, if possible, in neutral species (hypothetical salts, or acids, or alkaline, such as NaCl,
NaNO3, HCl, Ca(OH)2, etc.), for instance,
Ni .7
Cr .21
Mo .09
NaCl 3.5
KF 0.5
NaNO3 .5
KNO3 .3
K2SO4 .1
Ca 1e-3
Mg 1e-3
SiO2 0.1
The program will then split up them into compositions in terms of defined components (NA, K, CA, MG,
SI, NI, CR, MO, CL, F, N and S). As mentioned above, for the component H2O, the module always
assign its initial composition as B(H2O)=1000, and for the components H+1 and ZE, the module will
evaluate their equilibrium composition at each point of the pH and Eh condition. Due to the electrolysis
and redox reactions of the solvent water [H2O = 2H+ + O-2, H2O = H+ + OH-, O-2 - 2e- =
0.5O2 (aqs) , 2H+ + 2e- = H2 (aqs)] and the electronic balance, both controlled by pH and Eh
conditions and internal exchange reactions, the module will automatically calculate on how much O-2
will be produced or consumed (to build up or break up the O-2 bearing species such as NO3-, SO4-2,
CO2, HCOO-, etc.), and on how much H+ and ZE will be added to or removed from the system.
Like in other easy-to-use modules (e.g., SCHEIL, BIN and TERN modules), when the program
retrieves thermodynamic data from a chosen database (either as single or multiply appended), some
options are available for deciding whether or not reject/restore any phase from the system already
defined in previous steps; and they are repeated till the user is satisfactory. Such options are
particularly useful in the following cases:
• An incomplete Pourbaix diagram with a gaseous mixture phase is to be calculated;
• There are too many phases found for the system;
• Some phases are obviously unstable compared to others under the considered P-T-X conditions;
• Some phases are same in different databases (if appending databases).
Additionally, a user can specify the phases which may have miscibility gaps in the defined system.
If such conditions are not confirmed (in the Main Option 1 or 3 or 4) before the program conducts the
mapping calculation of a Pourbaix diagram or stepping calculation of a property diagram, one can modify
them step by step:
Firstly, the system bulk composition (in molality) must be specified.
When specifying the system bulk composition for Pourbaix-diagram calculations (the Main Option
1 or 3), the initial molality of the dissolving components (i.e., entered elements excluding O, H and
ZE) will be prompted, with the pre-defined or previously defined values as default, for
confirmation (pressing <RETURN>) or modification (specifying other values). The bulk
composition of the basic solvent and electron components (i.e., H2O, H+1 and ZE) are not
supposed to alternate, so they will not be prompted for further specification.
When specifying the system bulk composition for stepping-diagram calculations (the Main Option
4), the picture is almost the same, except for that the dissolving components might be either as the
default entered elements (excluding O, H and ZE) or as the user-specified hypothetical salts (such
as NaCl, KOH, CaSO4, etc.), if the user has chosen to further modify system definitions and
conditions in the internally-connected POLY module (see the point 4 above).
Secondly, a system pressure (in bar) must be given.
The program will then automatically calculate the highest applicable temperature limit which is
normally the so-called “boiling temperature” of the aqueous solution under given composition and
pressure, i.e., a gaseous mixture phase just starts to form at expense of aqueous solution phase
which solves all or part of solutes (some solid phases might be stable as well). Therefore, when a
pressure is given, the module can tell the user on the highest applicable temperature for the defined
multicomponent system in a POURBAIX-module calculation; otherwise a user may fail in
properly making the Pourbaix diagram by choosing a temperature under which the aqueous
solution phase is unstable.
Note that the completion of calculating the highest applicable temperature limit might take some
time in some cases, due to some computational difficulties for any possible reason such as:
(a) too many phases taking part in calculation;
(b) insufficient computation iterations;
(c) ill bulk composition or pressure condition; and
(d) ill status set for some of phases.
Consequently, the program will, at first, automatically alter some calculation methods (e.g., to
change the numerical limits in calculating phase equilibrium, or to change the status of some of
phases in the defined system). Then, if not succeeded in finding the solution, the POURBAIX
module will be temporally interconnected with the POLY module, and the user will have to
perform some interactive POLY options as in a normal phase equilibrium calculation herewith. All
POLY features can be utilized for such purposes, while some restrictions (that relate to the system
definition and being-calculated equilibrium) must be kept in mind, for instance,
• temperature should not be set as a condition;
• status for AQUEOUS phase must be as ENTERED;
• status for GAS phase must be as FIXED at zero amount (since here it is calculating the
boiling temperature);
• B(H2O)=1000 should not be changed;
• N(H+1) and N(ZE) as zero could be adjusted slightly.
Once the equilibrium (in which the AQUEOUS and GAS phases must be stable simultaneously) has
been obtained, just type the BACK command to go back to the POURBAIX module to continue the
calculation.
Thirdly, a desired system temperature needs to be entered, which must be between 0oC and the
highest limit calculated.
7) Direct opening of an existing POURBAIX-module file for another calculation or graphic processing:
As running the Main Option 2 or 3 or 4, the program will first ask for the name of a preserved
POURBAIX module calculation file which must be in the current directory and must be readable by the
POLY3 and GES5 workspaces. The default filename shown is as either POURBAIX.POLY3 if the
module is opened for the first time, or another which has been entered previously in Thermo-Calc
(meaning that the user has not left the main program) if the module has been opened with the Main
Option 1 or 3 or 4. Then the program will list those default and pre-defined calculation conditions (i.e.,
temperature, pressure and bulk composition) saved in that *.POLY3 file.
In the Main Option 2, none of such conditions can be modified. The user is only allowed to open
the *.POLY3 file with all kinds of definitions and calculated results, and to conduct the graphic
setting, refining and other processing.
In the Main Option 3, due to the practical purposes of this option, normally some of such conditions
need to be modified as desired (see the point 5 above for the details on how to modify
conditions), and all the mapping calculation results will be overwritten onto the opened
*.POLY3 file. Then the user shall fellow almost exactly the same consequent procedures as in
the Main Option 1.
In the Main Option 4, if desired, one can modify some of such conditions for the initial equilibrium
point calculation, and can even change some of system component definitions and thus system
conditions in internally-connected POLY module. Later on, the stepping variable (temperature,
pressure, pH, Eh or molality of one component) and its minimum/maximum limits will be
determined by the user. Then the user must fellow the stepping calculation and graphic
processing procedures.
10) Automatic generation of the first diagram after a Pourbaix-diagram or stepping calculation:
A complete Pourbaix-diagram calculation, either newly accomplished (i.e., through the Main Option 1) or
modified (i.e., through the Main Option 3), will automatically produce a Pourbaix diagram with the pH
value as X-axis and Eh as Y-axis. There are also possibilities for the user to choose an option to manually
add potential starting points (if one doubts on that any phase boundary may be missing or incomplete on
the generated Pourbaix diagram) and another option to manually change the mapping steps of pH and/or Eh
axes to smaller values (if one thinks of the mapped pH-Eh curves are not smooth enough). However, in
most cases, these two options are unnecessary.
On the other hand, a complete stepping calculation (i.e., through the Main Option 4) will automatically
generate a property diagram with the stepping variable as X-axis and the amount of stable phase (in
mole/kg of water) as Y-axis.
Such an automatically generated diagram has always been polished up, by optimally setting the default
scaling-statuses, lengths, types and texts of X-Y axes, the default diagram title and subtitle, the default
curve-labeling option, and so on.
However, such a Eh-pH diagram or property diagram can be further modified in the sequential steps (by
changing axis types, making zooms, changing the subtitle or axis texts, alternating the curve-labeling
option, adding and modifying region/property-labeling texts, etc.), or can optionally be further refined in
the internally-connected POST module. It can also be converted to a hard copy (either transferred to a
graphic file in PostScript or other format, or sent to a specified printer), and saved the X-Y coordinates of
the modified/refined diagram into a textual *.EXP file. See the point 12 below for details of such graphic
processing and refinements.
In the Main Options 1, 3 and/or 4, once the Eh-pH diagram has been generated, and optionally been
modified/converted/saved, the program will further ask if the user needs to make other kinds of diagram
using the same calculation result. Consequently, the user can define, plot and modify many more diagrams.
These sequential options are actually the same as in the Main Option 2 (see the point 11 below for details).
11) Straightforward plotting of many property diagrams based on one single calculation:
A POURBAIX-module calculation (either a Pourbaix-diagram or a stepping calculation) preserved in an
*.POLY3 file, which exists in the current directory, can be used for making many useful property
diagrams for the same defined system and conditions.
This applies not only to the Main Option 2 (which is essentially designed for such purposes), but also to all
of the three main calculation options. In the Main Options 1 or 3, after a Pourbaix diagram is produced,
more property diagrams can be plotted; and in the Main Option 4, after a default property diagram is
generated, more property diagrams can be drawn.
For the Main Options 1 and 3, and for the Main Option 2 after a calculation of the Main Option 1 or 3, the
following common “selection table” for setting plotting parameters as X/Y axis variables is designed:
---------------------------------------------------------------
I I
I The following properties are available as axis variables I
I for making other diagrams from the same calculation: I
I I
I pH --- Acidity I
I Eh --- Electronic Potential (V) I
I Ah --- Electronic Affinity (kJ) I
I pe --- Electronic Activity (log10ACRe) I
I IS --- Ionic Strength I
I TM --- Total Concentration I
I Aw --- Activity of Water I
I Oc --- Osmotic Coefficient I
I MF(AQsp) --- Mole Fractions of Aqueous Species I
I ML(AQsp) --- Molalities of Aqueous Species I
I AI(AQsp) --- Activities of Aqueous Species I
I RC(AQsp) --- Activity Coefficients of Aqueous Species I
I I
species that can be selected into the definitions of those properties (i.e., MF, ML, AI and RC) chosen as X-
Y axis variables.
In the upper part, the method for entering a certain property (MF, ML, AI or RC) as X-Y variables are also
given, i.e., such a property could be specified in one of the following three ways (with an example shown
in “ ” for each case):
For a single aqueous species, just enter the property with aqueous species name in a format,
“ML(Fe+2)”; the species name is unnecessary to be complete, but it must be unique for the
same system.
For all aqueous species, just enter the wild character *, e.g., “ML(*)”.
For several (or a single one) aqueous species, only enter the property name at first, “ML”.
Subsequently, the program will list out all available aqueous species (with a corresponding index
for each one) for such a property in the system. Then the species index number(s) should be
entered in one single line, “2 4 25 8 10 12 15”.
When selecting “N(Comp)”, the composition of the component which is already chosen for a stepping
calculation, the component name must be clearly specified, e.g., “N(Fe)”.
Moreover, as selecting X-Y variables, both UPPER-case and lower-case are allowed for property and
species names; for instance, ML(FE+2) or ml(Fe+2) or ml(fe+2) are identical.
For the definitions of various parameters in the selection tables, please refer to Section 10.7.2.4:
and that for changing X-Y axis types (see above) can be repeated, if some modifications are
not suitable or incorrect. When pH is chosen as either the X or Y axis in generating a pH-Eh
or property diagram, the module will always automatically take into account of the highest
applicable pH limit. As zooming such a diagram, the module will reminder the user this limit.
• The default option for a Pourbaix diagram is B, and for a property diagram is D, with the
meanings of labeling listed beside the diagram. For modifying the Curve-Labeling
Option, one of the following options should be entered:
A LIST STABLE PHASES ALONG LINE
B AS A BUT CURVES WITH SAME FIX PHASE HAVE SAME NUMBER
C LIST AXIS QUANTITIES
D AS C BUT CURVES WITH SAME QUANTITIES HAVE SAME NUMBER
E AS B WITH CHANGING COLORS
F AS D WITH CHANGING COLORS
N NO LABELS
After change the option, the diagram is plotted on screen, so that a user can re-set the curve
labeling to his/her preference. If the user wants to label phase regions or curve properties
directly inside the diagram by adding some region-labeling texts (see below), the curve-
labeling option is better to be set as N.
• The module allows to add and/or modify Phase-Region/Property Labeling
Texts in all kinds of diagrams. For adding some region/property-labeling texts (normally
under the curve-labeling option N, see above), the user can write many desired labeling texts
for either stable phase regions (on a Pourbaix diagram) or properties (on a property diagram).
The X- and Y-coordinates for starting the labeling texts must be specified first. A subsequent
option for “Automatic label text” gives the possibility of an automatic execution for
finding the stable phases in the specified point. Note that it will normally fail in doing so in an
pH-Eh diagram due to that both pH and Eh are just derived variables but not intensive state
variables; however, it is kept in the module because it may work successfully for some
property diagrams where the X and Y axes are defined as intensive quantities. It is
recommended that a user always choose an “N” (No) answer here, and subsequently gives the
phase/component/species names for composing labeling texts can be input in full or
abbreviated, and as separate or in a combination, totally as the user's preference. A suggestion
is always given automatically by the module for specifying the coordinates and labeling texts,
but the user should be aware of that he/she might need to have a more appropriate input on the
plotted diagram. Immediately after this action, another option is available to allow further
labeling.
Then the user can decide if any of the added labels should be further modified. In doing so,
the user needs to first identify which label to be modified, and then change the X-/Y-
coordinates and (if required) the label text which have already been specified in the above
option or in a previous round of diagram refinement. Note that the length of the new text must
not exceed the previously added or modified text.
Immediately after adding or modifying each labeling text, the diagram will be plotted on
screen once again. To assist the user make correct phase-region/property labeling texts, the
module gives an opportunity to go forth and back to the Modify Curve-Labeling
Option, if the user considers it necessary. So the user can more easily figure out the phase
assemblages by looking through some curve-labeling options (normally “B” or “D”), and
eventually re-set the curve-labeling option to “N”.
In order to easily and appropriately identify phase assemblages in various regions on a
Pourbaix diagram during the phase-region labeling, one can copy the automatically saved
POURBAIX.POLY3 (or the opened and updated file) to another *.POLY3 file. Then open
the new file in another TCC window and go to the POLY module to analysis the details of
equilibrated phase assemblages in each region by calculating individual equilibria at varied
pH-Eh conditions through the following relations:
LNACR(H+1)=-[pH]*2.302585
MUR(ZE)=[Eh(V)]*96485.309
• All diagrams produced from the same POURBAIX-module calculation will have the same
default subtitle which comprises of temperature, pressure and system bulk composition, not
matter if these diagrams are or not generated subsequently in a single or separate calculation
and processing procedure (i.e., through the Main Option 1 or 2 or 3 or 4). However, such a
subtitle can be changed upon confirming a related option. In doing so, the default or
previously-modified name will be show up as a reference, and the user can type in the new
preferred subtitle under a single line. One should avoid writing a very long subtitle, even the
system bulk composition is rather complicated; otherwise, there might be no enough space
above the diagram to code the subtitle. A modified subtitle will be saved systematically and
remain the same for all the sequential diagrams, until it is alternated again or the same
POURBAIX-type *.POLY3 file is re-opened or another *.POLY3 file is opened.
• The module automatically pre-defines the Axis-Text for both X and Y axes, according to
the properties chosen as the axis variables. For modifying any of the axis text, the default or
previously-modified name will be show up as a reference, and the user can type in the
preferred axis name under a single line or press <RETURN> to accept the old one. One should
avoid write a very long axis name; otherwise, there might be no enough space beside the
diagram to place it.
• After all these modifications and adjustments in the above-described steps, the user can even
go, through an additional option if he/she really wants to further improve the appearance of
the generated diagram, to the internally-connected POST module to make further refinements
on the plot. Under such an interactive mode, all kinds of POST commands can be called. This
is particular useful when one wants to append experimental data onto a diagram, or to suspend
and restore some phases, set plot size, set axis-tic type, set tie-line status, set axis plot status,
set axis length, set diagram title, make a quick plot of another previously plotted diagram, etc.
If the user prefers to make all kinds of refinements using the ordinary POST commands rather
than going through the above-described POURBAIX-module question-lines, this feature is
also necessary. However, as mentioned in the point 2 above, unlike in the normal POST
module, error messages may not be displayed on screen during such optional interaction; and
after the user has made all the desired refinements, only the “B” (BACK) command can lead
the user leaving the temporally interacted POST module and returning to the POURBAIX
module for further graphic processing.
When making hard copy of a diagram, the module will ask for the options for setting plot format
(i.e., unit for printer, PostScript or other graphical outputs), for setting font number and font size,
and for specifying plot file name or plot unit name. Once one hard copy has been made, the
program will provide more chances for producing other hard copies (for instance, once can make
a printed paper and save as a Postscript or other graphic formats for the same diagram). Beside the
normal screen illustration, one can also open or view or print or copy a diagram on another
window using a proper graphical editor or system command, after it has been saved as e.g. a
PostScript file.
When converting X-Y coordinates of curves on one diagram, it needs only entering a file name,
which normally has a default extension “.EXP”. One can accept the default file name set by the
program (usually as POURBAIX.EXP or as the opened POURBAIX-type *.POLY3 file name
but with the EXP extension) or type another file name (if an extension is not given, the written file
will have the standard EXP extension). This kind of textual file, which uses the DATAPLOT
format (see Part 15 in this User's Guide), contains all the X-Y coordinates of curves, as well as
some of the graphical processing and refinement information which have been evaluated and
modified in the entire above-described POURBAIX-/POST-module processing procedures. Such
a file can be further edited by any simple textual editor, and can be utilized for further plotting
diagrams combined some experimental and/or editorial information using the POST module later
on, or re-plotted using other graphical software. This also makes it possible to merge two or more
diagrams of the same type from separate calculations, or to impose experimental data onto a
calculated diagram.
By choosing the “Modifying the diagram” option, one can further modify the defined
diagram repeatedly, till the user is fully satisfied. Depending on what steps the user has chosen to
go through previously, the module will prompt some necessary options for the user to make such
further refinements. All adjustments made in the previous steps will be properly saved in the
memory, so the user will not need to repeat those changes at all. Very often happened, a user may
wish to create more than one version of a specific diagram for varied presentation purposes. This
particular option can be switched on for such cases.
Maximum number of iterations /500/: <a new high limit for searching a single equilibrium point>
Required accuracy /1E-06/: <a new accuracy limit for reaching a stable mathematical solution>
Smallest fraction /1E-30/: <a new low limit for accounting the site fractions in a phase>
Approximate driving force for metastable phases /Y/: <Yes or No>
Such limits are the criteria for convergence and calculation speed in the POLY (and GES) calculation.
Please refer to Chapter 8 for the amendment methods.
15) Direct use of an existing POURBAIX-module file for various purposes in other normal TCC modules:
As described above, a POURBAIX-module generated *.POLY3 file contain all kinds of information on
system definitions, thermodynamic data for various phases, calculation condition settings, and calculated
heterogeneous equilibria along the mapping or stepping steps.
The POURBAIX module also asks the user for the necessity of saving all the POURBAIX-module
defined symbols (functions/variables/tables) related to various aqueous solution properties. This option
will generate an *.POLY3 file containing all the appropriate definitions of various
functions/variables/tables for aqueous solution properties and in defining status and reference states for
aqueous and electron related phases/constituents/components), which is much bigger than a normal
POURBAIX.POLY3 created without the option.
Such a file can be utilized not only for various calculations of Pourbaix diagrams and many property
diagrams, but also for any simulation of complex multicomponent heterogeneous interaction processes
involving aqueous solutions. It is frequently demanded on that a POURBAIX-module generated
*.POLY3 file could be directly opened and easily used for various purposes in other normal TCC
modules, such as:
Making other mapping and stepping calculations in the POLY module;
Conducting graphical processing of other diagrams in the POST module;
Calculating thermodynamic properties for substances, phases and reactions in the TAB module;
Saving GES5 or TDB or DAT files, and modifying system and phase definitions and
thermodynamic data in the GES module;
Creating SETUP or PAR or POP files, and performing data assessments based on experimental
information in the PARROT module.
In the following, the definitions and internal relationships of some derived variables, which are related to the
selection of various properties of the AQUEOUS solution phase or aqueous species (solvent or solute) as axis
variables in the POURBAIX module, are again briefly described:
Composition quantities of the AQUEOUS phase or an aqueous species in the AQUEOUS phase:
NP(AQ) Mole Number of the AQUEOUS phase (mole)
NS(AQ,sp) Mole Number for an aqueous species (mole)
MF(AQsp) = X(AQ,sp) Mole Fraction of an aqueous species
Y(AQ,sp) Site Fraction of an aqueous species
ML(AQsp) = ML(AQ,sp) Molal Concentration of an aqueous species (mol/kg of water)
NS(AQ,sp) = Y(AQ,sp)*NP(AQ)
Y(AQ,sp) = X(AQ,sp)
ML(AQ,sp) = Y(AQ,sp)*55.5084/Y(AQ,H2O)
For detailed descriptions of thermodynamic models and databases for various phases/materials, please refer to
the related parts in this Users’ Guide. For the convenience of users, the available thermodynamic models and
databases for aqueous solutions are briefly reviewed in the following:
In the previous three Thermo-Calc releases (in TCC versions L, M and N), the aqueous solutions have been
treated as relatively simple, using the SIT (Specific Ionic Interaction Theory) Model. The EOS (Equation of
State) and thermodynamic properties of H2O itself are applicable for calculations from room
temperature/pressure up to a little bit below its critical temperature and pressure. The model is not so good in the
H2O critical region and high concentration. For aqueous solutes (cation/anion and inorganic/organic complexes
species), the available data are mainly for the room temperature and pressure region, but for many species there
are Cp data so that they can be applied over 0-350oC. In conjunction with the SIT model, three different
databases have been developed (see more details below) and made available in the Thermo-Calc package.
TCAQ 84 elements, incl. only the aqueous solution phase. (current version TCAQ2)
The ordinary TC-AQ aqueous solution database associated with the SIT model.
PAQ 11 elements, incl. aqueous, solid and gas phases. (current version PAQ2)
The specially-designed public database for Pourbaix-module calculations in TCC and TCW,
as TCC-Demo/TC4A and TCW-Demo/TC4U.
Since TCCP, the complete Revised HKF (Helgeson-Kirkham-Flowers) Model is used to handle complex
aqueous solutions. Simultaneously, a comprehensive database, namely the AQS (TGG Aqueous Solution
Database, with the current version as AQS2; see more details below), has been developed. Compared with the
SIT model, this model is much more comprehensive and has much wider applications, thanks to the following
factors:
The EOS and thermodynamic and transport properties for pure H2O can be precisely calculated using the
Johnson-Norton Model in a very wide temperature-pressure region covering the entire subcritical,
supercritical and critical regions, i.e., 0-1000oC and 1-5000 bar.
The EOS and standard thermodynamic properties for aqueous solute species (free cation/anion ions,
inorganic/organic complexes) are described by the Complete Revised HKF Model and some
modifications. There are always some assessed or estimated Cp (T,P,X) data for various aqueous
species. Therefore the calculations for aqueous solution can be made in the same temperature-
pressure region as for pure H2O, i.e., 0-1000oC and 1-5000 bar.
The thermodynamic properties for mixing behaviors in aqueous solutions are described by the Complete
Revised HKF Model and some modifications. There are many available binary and ternary
interaction data for complex aqueous solutions. So the calculations can be made for concentrated
aqueous solutions, i.e., up to 6 m (eq. NaCl) at room temperature-pressure and more than 10 m at
high temperature-pressure.
In future releases, the Generalized PITZ (Pitzer Formalism) Model will also be implemented to handle
extremely concentrated and specific aqueous solutions (such as brines). Due to the weakness of the Pitzer
Formalism in dealing with EOS and standard thermodynamic properties of pure H2O and aqueous solution
species at evaluated temperatures and pressures, parts of the treatments used for the Complete Revised HKF
Model will be adopted to the PITZ model, including the Johnson-Norton model for pure H2O, the standard
thermodynamic properties for solvent and solutes, and the DHLT term of the HKF model. With this
combination and in conjunction with the AQS database and some extensions regarding high-order interaction
parameters which are required by the Pitzer model, it will give a much better description than any previously
modified Pitzer formalism, for the EOS and thermodynamic properties of solvent and solutes, and the entire
aqueous solution phase.
As for the demonstration purposes, PAQ (TC Public Aqueous Solution Database) is freely distributed in the full
versions of TCC and TCW, and in their demo versions (TCC-Demo/TC4A and TCW-Demo/TC4U). It was
specially designed for the Single-Database case in POURBAIX module calculations, which satisfies with varied
requirements for calculating Pourbaix diagrams and various property diagrams as described above. Beside the
aqueous solution phase, they also contain some related gaseous mixture, pure solid and solid solution phases.
However, this small-sized database only contains few chemical elements: 11 (H-O-C-N-S-Cl-Na-Fe-Co-Ni-Cr).
Therefore, they are considered as rather basic and demonstrating databases, and can only be applied to some
limited chemical or hydro-metallurgical or alloy corrosion problems. For other specially-designed databases
(with some limited elements) to be used with the Single-Database option in the POURBAIX module, one could
contact with Thermo-Calc Software.
Intended for much wider applications, two large-scale aqueous solution databases covering very big chemical
frameworks have been developed and gradually updated. The first one is the TCAQ Aqueous Solution
Database, and the second one is the AQS Aqueous Solution Database. Both aqueous solution databases can be
used in the POURBAIX module via the Multiple-Database option, by appending various phases (gaseous/fluid
mixtures, steels, alloys, melts, slags, salts, ceramics, minerals, nuclear materials, etc.) from many other available
databases (e.g., SSUB, SSOL, TCFE, TCNI, SLAG, SLAT, ION, TTNi/Ti/Al/Mg, TCMP, TCES, GCE,
NUOX, etc.). Moreover, both can also be used in other basic-module calculations of complex heterogeneous
interaction systems involving aqueous solutions. Therefore, they can be widely applied in materials design and
engineering, chemical engineering, chemistry, geochemistry, environmental assessments, and so on.
The TCAQ database (current version as TCAQ2) is a comprehensive aqueous solution database covering 76
elements (which are in a similar framework as in the SSUB and SSOL databases) as listed below:
Ag Al Ar As Au B Ba Be Br C Ca Cd Ce Cl Co Cr Cs Cu Dy Er
Eu F Fe Ga Gd H He Hg Ho I In K Kr La Li Lu Mg Mn Mo N
Na Nd Ne Ni O Os P Pb Pd Pr Pt Ra Rb Re Ru S Sb Sc Se Si
Sm Sn Sr Tb Te Th Tl Tm U V W Xe Y Yb Zn Zr
It is associated with the SIT Model. Various aqueous species (totally about 350, mainly as complex species)
within this element structure have been gradually added and updated since it was first released in early 1998.
The AQS database (current version as AQS2) covers 83 elements and about 1600 inorganic/organic species.
Ag Al Ar As Au B Ba Be Bi Br C Ca Cd Ce Cl Co Cr Cs Cu Dy
Er Eu F Fe Fr Ga Gd H He Hf Hg Ho I In K Kr La Li Lu Mg
Mn Mo N Na Nb Nd Ne Ni O P Pb Pd Pm Pr Pt Ra Rb Re Rh Rn
Ru S Sb Sc Se Si Sm Sn Sr Tb Tc Th Ti Tl Tm U V W Xe Y
Yb Zn Zr
This database is associated with the Complete Revised HKF Model. It will incorporate more critically-assessed
data (for more complex species of these existing elements, and for more other elements and their complex
species) in the near future.
Along with the implementation of the Generalized PITZ Model, a suitable aqueous solution database or some
small aqueous datasets for using the Pitzer formalism will be developed in the near future.
The POURBAIX module is unique in multiple functionality, and well designed in user-friendly interface.
Various options at different levels make it very simple and easy to perform calculations and graphical
processing of Pourbaix diagrams and many property diagrams for varied heterogeneous multicomponent
systems over a very wide temperature-pressure-composition range. As already mentioned in the module
descriptions (Section 10.7.2), a POURBAIX-module generated *.POLY3 file can be utilized not only for
various calculations of Pourbaix diagrams and many property diagrams, but also for any simulation of complex
heterogeneous interaction processes involving aqueous solutions.
The module and the associated models and databases can be extensively used in R&D of aqueous chemistry,
materials chemistry, materials corrosion, materials engineering and processing, chemical engineering,
geochemistry, Earth materials exploitation, environmental engineering, energy transfer, nuclear power
production, nuclear waster repository assessment, recycling, and so on.
In the following paragraphs, some reviews will be given on some existing applications but with emphases on
materials corrosion.
The aqueous corrosion resistance of stainless steels is attributed to the formation of a passive surface film. As
early as in 1836, Faraday noticed the passivation of iron in nitric acid solution, and observed that the corrosion
rate in dilute HNO3 solution initially increased with acid concentration, and that at a critical concentration the
rate fell to negligible values despite the enhanced thermodynamic driving force, due to the formation of a
submicron thin metal oxide film. It was further confirmed later that chromium also passivates, however, at a
much lower current density (<1 µA/cm2 in 1 m H2SO4) than iron (7 µA/cm2 in 1 m H2SO4). Therefore, it has
been advantageous to add approximately 12 wt% Cr to Fe to enhance the formation of a passive film. To
achieve the aqueous corrosion resistance provided by stainless alloys with lower strengths and impact
resistance, the stability of the passivating film formed must be maintained. This has been the basis of the
stainless steel industry.
The POURBAIX module can be used for either pure alloy (e.g., Fe, Cr, Ni, Al) or rather complex alloys (e.g.,
Fe-Cr-Co-Ni-C-N-O-S-...), interacting with various specific aqueous solutions at certain temperature and
pressure conditions.
It has been demonstrated, in Figure 10-10 in the Section 10.7.1, that the shape of a Pourbaix diagram of pure
iron and the stability relations of various Fe-bearing secondary phases depends upon the initial amount of Fe,
initial amount and composition of the interacting aqueous solution phase, and temperature and pressure
conditions in the heterogeneous interaction system. Figure 10-11 further shows that the Pourbaix diagram of
two Fe-based alloys also depends on its initial alloying composition. In the figure, other property plots that are
generated from the POURBAIX module are also presented, e.g., molality of aqueous species verse pH, ionic
strength verse pH.
However, for a complicated multicomponent alloy system, there might be highly loaded curves on the diagrams
which look overlapped by lines corresponding to individual alloying elements’ diagrams in similar aqueous
solutions. So if the alloy system in an interaction system is relatively simpler, it will be more meaningful for the
calculated curves, and be much easy to understand to plotted pH-Eh diagram and property diagrams.
When the alloy composition is simple while the aqueous solution compositions are rather complicated, the
Pourbaix diagrams will also look very crowded as there are so many elements in the systems; and sometimes it
would be rather difficult to map the whole pH-Eh range for the interaction systems. Therefore, it might be more
interesting to make simple equilibrium calculations at each points (with the specific bulk composition and
pressure and temperature), or to make the stepping calculations by utilizing the Main Option 4 [varying with
either T, X(Fe) or X(Cr) in the alloy, or m(NaCl), or m(SO4-2), or other conditions], rather than mapping a wide
pH-Eh range.
An equilibrium point calculation for a heterogeneous interaction system involving aqueous solution can be
made in the POLY module, most conveniently by reading a POURBAIX-module *.POLY3 file (with various
symbol definition saved; see Point 15 in Section 10.7.2.3). Once can modify temperature, pressure, bulk
compositions (of alloys or aqueous solution), pH and Eh conditions, in order to calculate the heterogeneous
equilibrium. The results can be easily listed out by using the POLY command LIST_EQUILIBRIUM.
By using the Main Option 4 of the POURBAIX module or the normal POLY module, an existing POURBAIX-
module *.POLY3 file can be opened, and a stepping calculation can be made. Then, many different property
diagrams can be plotted inside the POURBAIX module or POST module.
Figure 10-12 presents some property diagrams where stepping calculations (with temperature as the stepping
variable) are made for the stable phase assemblages magnetite+linnaeite+FCC(Ni-Co-Fe)+aqueous and
magnetite+hematite+pyrite+linnaeite+millerite+aqueous in the heterogeneous interaction between an Fe-based
alloy (1E-3 m Fe, 5E-5 m Co and 5E-5 m Ni) and an aqueous solution (1 kg of water, with 1E-6 m S2 or open to
S2) at a pressure of 1 kbar. So various equilibrium quantities (such as molality of aqueous species, pH, Eh, input
amount of S2) are plotted against temperature.
11a 11b
11c 11d
Figure 10-11. Pourbaix diagrams and property plots of two Fe-based alloys, actively
interacted with an aqueous solution (1 kg of water with 3 m NaCl or 1E-5 m S2) at
constant temperature and pressure conditions.
11a. Pourbaix diagram for the Fe-based alloy (with 1E-3 m Fe, 5E-5 m Co, 5E-5 m Ni), actively
interacted with an aqueous solution (1 kg of water with 1E-5 m S2) at 25oC and 1 bar.
11b. Pourbaix diagram for the Fe-based alloy (with 8.5E-4 m Fe, 1E-4 m Cr, 5E-5 m Ni), actively
interacted with an aqueous solution (1 kg of water with 3 m NaCl) at 300oC and 1 kbar.
11c. Molality of Fe+2 verse pH plot for the Fe-based alloy (with 1E-3 m Fe, 5E-5 m Co, 5E-5 m Ni),
actively interacted with an aqueous solution (1 kg of water with 1E-5 m S2) at 25oC and 1 bar.
11d. Ionic strength verse pH plot for the Fe-based alloy (with 1E-3 m Fe, 5E-5 m Co, 5E-5 m Ni),
actively interacted with an aqueous solution (1 kg of water with 1E-5 m S2) at 25oC and 1 bar.
12d
The Example 40 in the /TCEX/ area (TCEX40.TCM) and in TCCR Examples Book gives a very
comprehensive demonstration on how various POURBAIX-module calculations and graphical processing are
performed. This example consists of five separate parts:
Example 40a TCEX40a.TCM Demonstration of the Main Option 1 calculation (with the Single-
Database choice) and graphical processing of a Pourbaix diagram for a
simple application; going through various on-line help features.
Example 40b TCEX40b.TCM Demonstration of the Main Option 2 graphical processing (by plotting
more diagrams, and with various options for refining a defined diagram
(including directly interacting with the POST module).
Example 40c TCEX40c.TCM Demonstration of the Main Option 3 calculation (by modifying T-P-X
conditions) and graphical processing of a Pourbaix diagram.
Example 40d TCEX40d.TCM Demonstration of the Main Option 4 calculation (by utilizing various
stepping variables) and graphical processing.
Example 40e TCEX40e.TCM Demonstration of the Main Option 1 calculation (with the Multiple-
Database choice) and graphical processing a Pourbaix diagram for a
more complex application.
Bard A.J., Parsons R., and Jordan J. (Eds.) (1985) Standard Potentials in Aqueous Solutions, IUPAC.
Campbell C.E. (1997) Systems Design of High Performance Stainless Steels. Ph.D. Dissertation, Northwestern
Univ., 243 p.
Craig B.D. (1991) Fundamental Aspects of Corrosion Films in Corrosion Science, Plenum Press, NY.
Kirchheom R., et al. (1989) The passivity of iron-chromium alloys. Corr. Soc., 29, 899-917.
Pourbaix M. (1966) Atlas of Electrochemical Equilibria in Aqueous Solution. Pergamon, NY.
Shi P., and Sundman B. (1997) Aqueous solution models, databases and modules implemented in Thermo-Calc.
CALPHAD XXVI Technical Program & Abstract (Palm Coast, FL, May 11-16, 1997), 5e.
Shi P. (1998) Heterogeneous equilibrium calculations involving aqueous solutions using Thermo-Calc.
CALPHAD XXVII Technical Program & Abstracts (Beijing, May 17-22, 1998), 65.
Shi P. (1999) Applications of Thermo-Calc aqueous solution databases. CALPHAD XXVIII Programme &
Abstracts (Grenoble, May 2-7, 1999), 134.
Shi P., and Sundman B. (2000) New aqueous solutions model and database implemented in the Thermo-Calc
package. TOFA-2000 Technical Program & Abstracts (Stockholm, May 8-11, 2000).
Sundman B., and Shi P. (1997) Applications of Thermo-Calc in high temperature materials chemistry. In: Spear
K.E. (Ed.) High Temperature Materials Chemistry IX (State College, PA, May 19-23, 1997),
Electrochemical Society Proceedings Volume 97-39: 52-59.
Yokokawa H., et al. (1990) Generalized electrochemical potential diagrams for complex aqueous (M-X-H-O-e-)
system. J. Electrochem. Soc., 137, 388-398.
The solidification of multicomponent steels and alloys often involves various types of non-equilibrium
interactions, linear or non-linear dynamic processes and random fluctuation in the system (diffusion, mold
filling, eutectic and peritectic precipitation, segregation, solute-drag partitionless transformation, nucleation,
particle growth/dissolution, ion-exchange reaction, surface reaction, fluid flow, advection, convection,
infiltration, heat flow, curvature-controlled transformation, mechanically-enhanced transformation, chemical
oscillation, self-organization, etc.).
An ambitious process simulation shall take into account the mass transfers, energy transports and momentum
transmissions contributed by various processes. However, treat all these in one simulation software is extremely
complicated, and hence various approximations and simplifications are always needed. There are two groups of
approaches using different methods, one with the emphasis on geometric aspects and the other on
thermodynamics and kinetics. Both techniques have been applied successfully to some practical cases. Recently,
more and more simulations with emphasis on bridging two techniques become available, thanks to the
applications of programming interfaces of some powerful simulation software and to the uses of modern
computers.
In a geometrical simulation, approximate data on thermodynamic properties (like latent heat, heat capacity,
solubility, etc.) and kinetic quantities (like diffusion coefficient, reaction constant, fluid flux, heat flux, etc.) are
usually used. There is no ambition that the thermodynamic data can reproduce any equilibrium properties of the
system (for instance, the phase diagrams), and the kinetic data can fit any interaction quantities (for example, the
compositional profiles). Often happened is that the thermodynamic and kinetic values are just treated as
adjustable parameters in order to fit some experimental results. The simulation is normally made by dividing the
mold into a mesh with more than 1000 grid-points and in each grid-point the mass transfers and heat transport
are solved using a finite element method under a certain type of boundary condition and initial condition.
On the other hand, in a thermodynamic simulation (e.g., Thermo-Calc), precise thermodynamic descriptions on a
system is utilized, while it is very important to know the final state the system is trying to reach. A good set of
thermodynamic models and data allows reliable extrapolation into non-equilibrium states (treated as metastable
states in local or partial equilibria), and can provide the driving forces for chemical reactions (precipitation or
dissolution) and the thermodynamic factors for diffusion. This can greatly simplify the kinetic and other factors.
Moreover, in a kinetic simulation (e.g., DICTRA), it is possible to use precise thermodynamic descriptions
together with some kinetic models and data for describing mass and heat fluxes in the solidification processes
under some kinds of restricted and simple geometry (e.g., planar -- an infinitely wide plate of a certain thickness;
cylindrical -- an infinitely long cylinder of a certain radius; tube -- an infinitely long tube of a certain radius; and spherical --
a sphere with a certain radius), which are often treated as one-dimensional.
With the applications of programming interfaces (e.g., TQ and TCAPI interfaces of the Thermo-Calc engine,
occasionally with the DICTRA extension), a combination of comprehensive thermodynamic and kinetic
treatments with more general geometries in two- or three-dimensions has become possible nowadays. Although
it is a somewhat difficult task as a full integration requires efficient and reliable solutions of both thermodynamic
equilibrium and kinetic scheme at each grid-points in the mesh, such efforts have been enforced in some
simulation exercises (such as the AMSS approach and applications by ACCESS e.V.; for more details, please
refer to the forth-coming pages).
In the following part, some examples will be given on the thermodynamic and kinetic simulations on
solidification processes performed by the Thermo-Calc and DICTRA software. As well, one example will be
illustrated on how one can write his/her own application program(s), using the TQ and TCAPI application
programming interfaces to integrating with the Thermo-Calc (and DICTRA) engines.
The Scheil-Gulliver model has been implemented as the so-called SCHEIL Module inside the Thermo-Calc
(TCC and TCW) software for many years, which can be applied to any high-order multicomponent system. For
all the details of the SCHEIL Module in the TCC Software, please refer to Section 10.8,4 (below); and of the
SCHEIL module in the TCW Software, please refer to the TCW User’s Guide and Examples Book.
Figure 10-14 illustrates an example of simulated solidification path for an alloy, resulted from the SCHEIL
module in the TCC software and from the DICTRA software. For more details, refer to the DICTRA
Information Package and the DICTRA manuals.
1480
1470
Figure 10-14. Solidification path simulation by
1460 both TCC (the SCHEIL module) and DICTRA, for an
Fe-18%Cr-8%Ni alloy. The cooling rate in the DICTRA
Temperature C
o 1450
simulation is 1 K/s and the size of the system is 100 µm. The
Scheil-Gulliver simulation in TCC assumes that there is no
1440 diffusion in solidified alloy while the diffusion in melt is infinitely
Equilibrium
fast.
1430 Scheil
Dictra
1420
0 0.2 0.4 0.6 0.8 1.0
Fraction Solid
The general procedure of the traditional Scheil-Gulliver model simulation can be illustrated by Figure 10.15 and
is briefly described as followings:
1) Start with system that is on the liquidus line at temperature T1 and overall composition x1.
2) The temperature condition is decreased to T2 and the equilibrium is calculated. This gives a certain amount
of solid phase(s) formed and a new liquid composition x2. The system with the overall composition
equal to x2 would be completely liquid at this temperature.
3) The overall composition is set to x2. This effectively means that the program “forgets” the amount of solid
phase(s) formed previously, and that the solid phase(s) will remain at the composition at which it was
formed.
4) The simulation is continued from the step 2), and repeated until the lowest temperature where liquid can
exist (either all liquid disappear or a certain fraction of liquid remain in the system) is found.
T1 1 1 1
N iS1 1 N iL
T2 1 2 2 1
N iS1 2 N iS1 2 N iL
T3 1 2 3 3 1
N iS1 2 N iS1 3 N iS1 3 N iL
4
T4 1 2 3 1
4 1
N iS1 2 N iS1 3 N iS1 4 N iS1 1 N iS 2 4 N iL
4 5
T5 1 2 3 1 2
5 1
N iS1 2 N iS1 3 N iS1 4 N iS1 1 N iS 2 5 N iS1 2 N iS 2 5 N iL
S1 S2
The simulation can easily handle cases where two or more solid phases precipitate at the same time. If it is a
eutectic precipitation, all phases will form at each step and the liquid composition will follow the “eutectic
valley”. If it is a peritectic transformation, the phase that is no longer stable will disappear from the local
equilibrium at the liquid interface. The amount of that phase already formed will not transform as no account is
taken of solid phases formed at earlier steps.
Thermo-Calc allows the users to enter functions using state variables and other functions. It is even possible to
have a function referring to itself and in such a case the old value of the function will be used when calculating
the new value. This unique feature is useful to keep track of the total amount of remaining liquid. Before the first
step, the initial fraction of liquid is unity. After each step and equilibrium calculation, the fraction of liquid is
given by the “lever rule”, and can be obtained by the state variable NP(LIQUID). If the total fraction of liquid
before the step is NL, it after the step becomes NL = NL*NP(LIQUID). If one denotes NP(LIQUID) at step
k as f kL , the remaining fraction of liquid at step n is the product:
n
L
fn = ∏ f L
k
k =1
After each step, the conditions for the overall composition X(A) must be changes accordingly, and this can be
simply done by setting it to the new liquid composition X(LIQUID,A); however, for the reason that the syntax
X(A)=X(LIQUID,A) is illegal in Thermo-Calc, this must be conducted using an intermediate variable like XA,
in the way as shown below:
ENTER_SYMBOLE VARIABLE XA=X(LIQUID,A)
SET_CONDITION X(A)=XA
Using these features in Thermo-Calc, it is possible to make a Scheil-Gulliver solidification simulation using the
STEP EVALUATE command-sequence. It is of great interest that one may use not only the temperature as
stepping variable but one may use the enthalpy, i.e., the heat extracted. Depending on the cooling rate and if the
amount of latent heat varies significantly during the solidification process, the use of enthalpy as stepping
variable may give more realistic results.
For some time, it has been possible to utilize such an approach in the TCC and TCW software to simulate
multicomponent non-equilibrium solidification processes of steels or alloys using the Scheil-Gulliver model
(Sundman et al., 1993), and it was found that the agreement between the predicted and experimental results was
extremely good (Saunders, 1996; Jansson and Sundman, 1997).
However, due to the advanced commands and special techniques involved in the simulations (as described
above), beginners and occasional users found it hard to follow the procedure and get the correct results.
Therefore, one can write a simple application program to handle this type of simulation by using the TQ
interface. Some examples of application programs connected with the Thermo-Calc Engine via the TQ interface
for Scheil-Gulliver solidification simulation are presented in the document TQ Thermodynamic Calculation
Interface: Programmer's Guide and Examples.
In addition, the special and easy-to-use module, namely the SCHEIL or SCHEIL_SIMULATION module
implemented in the TCC and TCW software, can be directly used for the solidification simulations. The module
was developed for the purpose of simplifying the user interface for performing a Scheil-Gulliver simulation, and
generating various diagrams for the solidification process. The module is very user-friendly, and just asks the
users to answer some simple questions on database name, major element, alloying elements and their amounts;
the module automatically finds the exact liquidus point, starts the simulation procedure (with temperature as the
stepping variable), and finally presents a Temperature (oC) verse Fraction of Solid diagram.
Then, one can repeatedly chose different variables to plot other diagrams of one’s own interests (e.g., fraction of
remaining liquid against temperature, fraction of each solid phase or the total solid phases against temperature,
microsegregation in each solid phase, latent heat evolution against temperature, etc.). With the SCHEIL module,
one can either start a new simulation, open an old file but plot results again, or open an old file but make other
simulations with different bulk compositions in the same system or perform a non-equilibrium calculation after
an equilibrium stepping in the POLY module.
Figure 10-16 presents the simulation results (as various property diagrams) for the solidification process of an
Al-based alloy (with 4 wt.% Mg and 2 wt.% Si) under a cooling temperature step (1oC), by using the so-called
Traditional-SCHEIL Module (where no back-diffusion is considered) in the TCC software.
1
630 1 : LIQUID
2 : LIQUID FCC_A1
3 : LIQUID FCC_A1 MG2SI
620 4 : LIQUID DIAMOND_A4 FCC_A1 MG2SI
Figure 10-16. Some SCHEIL-
2
610 module simulation results
600 for the solidification
Temperature, C
550
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Weight Fraction of Solid
610 2 2
590
solid phases varied along
temperature
580
3 3 3
570
560 4 4 4
550
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Mole Fraction of Solid Phases
0.16 1:W(LIQUID,M G),W(LIQUID,SI)
1
0.14
0.12
16c. The W(Liq,Si) vs W(liq,Mg) plot (the
1
0.10
compositional relation between Si
W(LIQ,SI)
0.06
0.04 1
0.02
40 45 50 55 60 65 70 75 80 85
E-3
W(LIQ,MG)
30 2 : BS18,,W(FCC_A1,MG)
3 : BS18,,W(FCC_A1,SI)
25
20
2 16d. The W(Fcc,*) vs bs(fcc) plot (the
W(FCC,*)
5
3
E-3 3
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
Weight Fraction of FCC
1
0 1 : LIQUID
2 : LIQUID FCC_A1
3 : LIQUID FCC_A1 MG2SI
-50 4 : LIQUID DIAMOND_A4 FCC_A1 MG2SI
-100
Latent Heat Evolution, J/gram
-150
2
-200 16e. The latent heat evolution along
temperature
-250
-300
-350
-400 3
4
-450
550 560 570 580 590 600 610 620 630
Temperature, C
Since TCCQ and TCW3, the SCHEIL module has one new option for users to define one or more fast diffusing
components (usually interstitials such as C, N, O, S, etc.) so that their back diffusion in solid phases (which is
significant for steels/Fe-alloys, Ni-superalloys and other alloys, while is probably less important sometimes for
e.g. Al-/Mg-alloys) can be automatically taken into account during the Scheil-Gulliver simulation. For steels
with primary ferrite, an additional option (allowing BCC FCC transition) has been given to consider its
possible transformation to austenite. Therefore, by using this so-called Modified-SCHEIL Module,
solidification of various alloys can be simulated by using either the original Scheil-Gulliver model or the
modified one that allows equilibrium back diffusion of interstitial element(s) in solid phases.
A much better prediction can now be obtained by using the modified Scheil-Gulliver model in TCCQ and TCW3
software (Chen & Sundman, Materials Transaction, JIM, vol. 43, pp. 551-559, 2002), where interstitials are
assumed to diffuse fast enough in both liquid and solid phases that the chemical potential of each of them is
uniform everywhere in the whole simulation system. Figure 10-17 gives an illustrative example, and more
details can be found in TCCR Example 48.
Equilibrium 0%
Scheil-Gulliver 11.7%
Partial Equilibrium 6.7%
DICTRA 5.5%
Experiment 5.5%
Figure 10-17. Some comparisons among calculated results on solidification path of an Fe-
10Cr-C alloy, using various approaches: red lines for advanced Scheil-Gulliver simulation
with carbon back diffusion (partial equilibrium), blue lines for normal Scheil-Gulliver
simulation, green lines for DICTRA simulation (moving boundary model), black line for
equilibrium calculation, and triangular symbol for experimental results on microsegregation
measurements.
The Modified SCHEIL Module will guide the user through the simulation and plotting of results by prompting
questions in successive steps. First it asks the user to choose the database and define the material, i.e., choose
major element and enter alloy elements and their compositions. Then the user can supply an initial temperature
above the liquidus and select the desired phases in the alloy system. After the actual liquidus temperature is
calculated, the user is then asked for solidification simulation conditions [such as cooling temperature step,
termination criteria, fast diffusing component(s), etc.]
With the given alloy and simulation conditions, the program runs automatically and plots a typical solidification
diagram with temperature versus fraction of solid. A user can then choose different quantities from a given list to
plot many other interesting property diagrams. There are options in the module to choose either opening a
previously saved SCHEIL-type POLY file to make another SCHEIL-module simulation (but with different
composition settings), or using such a file to plot more property diagrams.
Interstitial elements diffuse usually much faster than substitutional ones in solid, and due to this fact the Scheil-
Gulliver solidification simulation has not been very useful for steels and other interstitial containing alloys.
With the special BCC FCC option on, the frozen primary ferrite will be allowed to transform to austenite
during the solidification process. Such a transformation will change the chemical potentials of interstitials and
thus influence their back diffusion in solid. Hopefully, this can approximate more or less the effect of peritectic
reaction. It should be mentioned that for the solidification of primary ferrite the equilibrium calculation usually
gives better results than both the Scheil-Gulliver model and the modified one with back diffusion of interstitials
in solid.
Any database containing a liquid mixture phase (except for ionic liquid mixture phase), solid solution phases and
stoichiometric solid phases can be used in this module, such as SSOL, TCFE, TCNI, TCMP, TTNi/Ti/Al/Mg/Zr,
NSLD, USLD, SMEC, SNOB, etc. When there is a need to combine thermodynamic data for various phases
retrieved from two or more compatible databases (such as TCFE3+SSOL2), one can first go through the normal
TCC module-routine (i.e., TDB/GES5 POLY3) and save a POLY3 file (with all equilibrium conditions
defined, and with one initial equilibrium point calculated), and then in the SCHEIL module open the saved
POLY3 file (i.e., the SCHEIL Main Option 3; see below) for the simulation.
The procedure of the SCHEIL module inside the TCC software is very simple, with a few steps to complete a
calculation and graphical processing of a phase diagram, or a Gibbs energy curve or phase-fraction plot, for a
binary system, as described below:
Note these three options are referred in the following text as the Main Option 1, 2 and 3, respectively.
The Main Option 1 will first get the thermodynamic data for all necessary phases retrieved from a single
database, define the bulk compositions of an alloy system and decide the way of performing SCHEIL-
module simulation, then start the simulation, and finally plot on screen a default diagram which is
temperature (oC) versus mole-fraction of solidified solids during the cooling processes.
The Main Option 3 can first open a POLY3 file [that was either saved previously by the SCHEIL module
or saved through a normal TCC module-routine (i.e., TDB/GES POLY); the later one makes it possible
to use a GES5/POLY3 workspace that has combined thermodynamic data for various phases which have
been retrieved from two or more compatible databases (such as TCFE3+SSOL2)], and modify the
previously-defined alloy bulk compositions and modify the way of performing the simulation, and then
conduct the simulation and plot the default diagram on screen.
Both the Main Options 1 and 3 also provide the opportunity for plotting other types of diagrams from the
SCHEIL-module simulation (similar to the Main Option 2), as well as for refining the plotted diagram
and printing/saving the plotted diagram.
Both the Main Options 2 and 3 require the user to specify the name of an existing POLY3 file that was
either saved previously by the SCHEIL module or saved through a normal TCC module-routine (i.e.,
TDB/GES POLY); the later one makes it possible to use a GES5/POLY3 workspace that has combined
thermodynamic data for various phases which have been retrieved from two or more compatible
databases (such as TCFE3+SSOL2).
Under PC-Linux and UNIX environments, it prompts the following question:
File name /scheil/: <a POLY3 file name>
where the user should specify an existing POLY3 file that is located under the current working area.
Under PC Windows XP/2000/NT4 environments, a Open file window will pop up on screen, so that
the path (in the Look in box) and file name (in the File name box) can be appropriately specified, as
shown in Figure 10-18. Note that the file type should be always POLY3 and no other file type is legal
here. By pressing the Open button, the program proceeds with opening the POLY3/GES5 workspaces
from the specified, previously-saved POLY3 file. The user may also Cancel such an Open file
window session, and thus no previously-saved POLY3/GES5 workspaces will be opened. Please note
that such an Open file window session can be avoided completely, if the name of the existing POLY3
(with its appropriate path if not located in the current work directory) is specified immediately after
inputting the Main Option 2 or 3 in the previous step (Step 1), for instance, “3 MyScheil.POLY3”.
Figure 10-18. The “Open file” window: Reading the POLY3/GES5 workspaces from
an *.POLY3 file.
The Main Option 3 allows the user to further modify the alloy bulk compositions for all alloying
elements and the starting temperature condition for the SCHEIL-module simulation, by answering:
Mass (weight) percent of EL1 /3/: <new composition of element EL1>
Mass (weight) percent of EL2 /1/: <new composition of element EL2>
......
Mole percent of EL1 /3/: <new composition of element EL1>
Step 4: Decide on how to include necessary phases (and possible miscibility gap if not defined)
The Main Option 1 requires the user to decide the details on how to include various necessary phases for
the solidification simulations of the defined alloy system, by answering the following questions:
Reject phase(s) /NONE/: <phase name(s) or RETURN>
Some unnecessary phases in the currently-defined alloy system can be rejected from the
simulations.
Restore phase(s) /NONE/: <phase name(s) or RETURN>
Some already-rejected phases (by the user within the “Reject phase” sub-option, or by default
in the used database which are shown before the “Reject phase” sub-option) in the currently-
defined alloy system can be restored into the simulations.
OK? /Y/: <Y or N>
By answering N (No), the module allows the user to re-consider the phase inclusion (through
rejecting/restoring phases);
By answering Y (Yes), the module starts retrieving and getting thermodynamic data from the used
database for the currently-defined alloy system (the program may then list out all the references
that are documented in the used database for the currently-defined alloy system).
Should any phase have a miscibility gap check? /N/: <N or Y>
By answer N (No), the module will progress to the next step (Step 5);
By answering Y (Yes), the module allows the user to consider one or more solution phase(s)
possibly having miscibility gap(s) (if such a possibility has not been considered in the default
definitions of the used database), for which the program will further ask the user to specify the
solution phase name(s) and their major constituents on each of their sublattice sites, as in the
following prompts:
Phase with miscibility gap: <phase name>
Major constituent(s) for sublattice 1: /CR FE/: <major constituent(s)>
Major constituent(s) for sublattice 2: /VA/: <major constituent(s)>
Phase with miscibility gap: <phase name or RETURN>
Step 7: Perform the Scheil-Gulliver model simulation and then plot the default diagram
Before proceeding in this step in the Main Options 2 and 3, the module requires the user to specify the
name of an POLY3 file into which the currently SCHEIL-module simulation results will be saved.
Under PC Windows XP/2000/NT4 environments, a Save As window will pop up on screen, so that the
path (in the Save in box) and file name (in the File name box) can be appropriately specified, as shown
in Figure 10-19. Note that the file type should be always POLY3 and no other file type is legal here. By
pressing the Save button, the program proceeds with saving the POLY3/GES5 workspaces into the
specified POLY3 file. The user may also Cancel such an Save As window session, and thus no
POLY3/GES5 workspaces will be saved. However, if there is already a POLY3 file with the same
name under the directory (as indicated by the Save in box), a warming message will pop up on the
screen, as shown in Figure 10-20. If clicking on the No button, the program returns to the Save As
window, so that the user may choose another Save in path or a different File name. If clicking on the
Yes button, the program may ask the question “Overwrite current file content /N/: ”
or “Proceed with SAVE? /N/: ”, so that the user can decide if overwriting the current
POLY3/GES5 workspaces on the existing POLY3 file. Please note that such a Save As window
session can be avoided only when running a MACRO file in which a POLY3 file name has specifically
given in the line following the previous step.
Figure 10-19. The “Save As” window: Saving the SCHEIL simulation results into a POLY3 file.
Figure 10-20. The warming message: If saving the POLY3 workspace on an existing POLY3 file.
Then the SCHEIL-module will first conduct a simple stepping calculation using the full-equilibrium
approach (Note this automatic-calculation part has been added since TCCR), and then perform the
advanced stepping calculation of the Scheil-Gulliver (traditional or modified) simulation of the
solidification process of the defined alloy system. The stepping procedures of both the simple full-
equilibrium calculation and advanced Scheil-Gulliver (traditional or modified) simulation will be
gradually shown on screen, such as below:
Immediately after the completion of the whole simulation procedure within the Main Option 1and/or 3,
or after opening a previously-generated SCHEIL-module POLY3 file within the Main Option 2 has been
switched on, the default diagram (i.e., the Temperature (oC) versus Mole Fraction of Solid plot) will be
first plotted in the Thermo-Calc Graph window on screen, as shown in Figure 10-21a for the
Traditional-SCHEIL Module Simulation (where the full-equilibrium solidification path is plotted in black
solid curves, and the partial-equilibrium solidification path in colorized curve), and illustrated in Figure
20-21b for the Modified-SCHEIL Module Simulation (where the full-equilibrium solidification path is
plotted in black dashed curves, and the partial-equilibrium solidification path in colorized curve):
Figure 10-21a. The Default Diagram Plotted from the Traditional SCHEIL-Module Simulation.
Figure 10-21b. The Default Diagram Plotted from the Modified SCHEIL-Module Simulation.
Immediately after these X-/Y-axes settings, the desired diagram (e.g., the Temperature (oC)
versus Mass Fraction of Liquid plot) will first plotted in the Thermo-Calc Graph window on
screen. Similar to the default diagram, the user can immediately edit/save/print the plotted graph
on the Thermo-Calc Graph window (see more details in Section 9.3.8).
The user can also choose (in the following sub-options; see below) to zoom the plotted diagram,
as well as to export the plotted graph as to hard copies (in various graphical formats; see details in
Section 9.3.6 on the SET_PLOT_FORMAT command), save the X-/Y-coordinates of the plotted
graph onto simple textual file (i.e., EXP experimental data file; see details in Section 9.4.2 on the
MAKE_EXPERIEMENTAL_DATAFILE command), and decide to plot more diagrams from the
same SCHEIL Module simulation.
In this way, many other diagrams from the same SCHEIL-module simulation (saved in the current
workspace or in an opened previously-saved SCHEIL-module POLY3 file); some such non-default
diagrams have already been illustrated in Figure 10.16.
There are two examples in the \TCEX\ area (TCEX15.TCM and TCEX30.TCM) and in TCCR Examples Book
that demonstrate that how various SCHEIL-module simulations and graphical processing are performed:
Example 15 TCEX15.TCM Demonstration of the SCHEIL-module simulation for the solidification
process of the Cr-10Ni alloy (alloying element composition in wt.%).
Example 30 TCEX30.TCM Demonstration of the SCHEIL-module simulation for the solidification
process of the Al-4Mg-2Si-2Cu alloy (alloying element composition in
wt.%).
Example 48 TCEX48.TCM Demonstration of the SCHEIL-module simulation for the solidification
process of the Fe-10Cr-1C alloy (alloying element composition in
wt.%), allowing the interstitial component C having back diffusion in
solid phases.
Chen Q., and Sundman B. (1999) TQ-I Thermodynamic Calculation Interface: Programmers' Guide and
Examples. Thermo-Calc AB.
Jansson Å., and Sundman B. (1997) Simulation of solidification of light alloys using a thermodynamic database.
In Jansson Å. Phase Diagram Evaluation and Applications in Light Metal Alloys, KTH Ph.D. Dissertation.
Gulliver C.H. (1913) J. Inst. Metals, 9, 120.
Saunders N (1996) Phase diagram calculations for commercial Al-alloys. 5th Intl Conf. On Al-Alloys, Grenoble,
France.
Sundman B., Jansson B., and Schalin M. (1993) Thermodynamic calculations made easy. J. Phase Equilibria,
573-562.
Scheil E. (1942) E. Metallkde, 34, 70.
REACTOR:?
AMEND_RECORD EXECUTE_POLY3_COMMAND LIST_RECORDS
BACK EXIT PATCH_WORKSPACE
CREATE_DIVIDERS GOTO_MODULE READ_WORKSPACE
CREATE_PIPES HELP SAVE_WORKSPACE
CREATE_PROBE INFORMATION SHOW_PROBE
CREATE_STAGE_BOXES LIST_DESIGN START_SIMULATION
REACTOR:
Technically, the basic assumption that chemical reactions occurring in a reactor proceed to completion is
applied in the module. Each stage is considered as a single one until a steady-state condition is reached, that is
characterized by a total balance in material and energy (enthalpy or entropy) inputs and outputs. Two types of
stages may possibly be classified in a reactor:
♦ Energy-regulated stage: Constant reaction temperature is determined by the chemical and thermal
equilibria. At the reaction temperature, the total enthalpy or entropy change within the stage counter-
balances the enthalpy or entropy supplied to the stage from outside the system (e.g., electrical heating)
or evolved from the stage as a result of heat losses.
♦ Temperature-regulated stage: When the process has a known temperature profile, the reaction temperature
is fixed as a condition, and thus the total energy (enthalpy or entropy) of the reactions can be
calculated as a local equilibrium.
All phase produced in a stage may move to the adjacent stages according to the type of a selected reactor (con-
or counter-current). However, when there is incomplete reactions in the reactor, it is assumed that the gaseous
phase and condensed intermediary reaction products leaving a certain stage may bypass the adjacent stages
without being cooled or heated, or are distributed over several stages before reactions occurring. The amounts
of reaction products affected are thus estimated for the purpose of the simulation, or can be based on actual
practical experience. The amount converted to fraction values are called the “distribution coefficients”. For
instance, 80% of the gas leaving a specific stage may react in the next stage, 15% may bypass one stage, and
5% may bypass two stages before reaction, and so on. Different sets of distribution coefficients may be used for
the gaseous mixture phase and for each of the condensed phases (stoichiometric or solution). The top and
bottom stages mean that the products formed in these particular stages may leave the reactor. Distribution
coefficients in a reactor can be schematically illustrated in Figure 10-18.
The assumption of local chemical and thermal equilibrium in each stage combined with the given distribution
coefficients provide the compositions and temperatures of the gaseous and condensed flows at each stage
boundary. Such flows over stage boundary are not in chemical equilibrium, and the departure from the
equilibrium state is proportional to the physical length of the stages. If there is only one stage that implies no
flow distribution occurred, only the exit flow will have a composition and temperature corresponding to the
chemical and thermal equilibrium inside the stage. If the number of stage in a reactor increases to infinity,
chemical and thermal equilibrium will be attained in every point of the reactor. Therefore, the effects of
chemical kinetics of reactions on mass and energy transfer processes can be simulated to some extent by the
choices of stage numbers and distribution coefficients.
STAGE
N-3
N-2
N-1 Condensed phases
Upper stage boundary
80% 15% 5% 100%
∆H independent / T dependent
N or
∆H dependent / T independent
Condensed phases
Lower stage boundary
N+1 80% 100% 15% 5%
N+2 15% 5%
N+3 5%
STAGE
10.9.3.2 BACK
Description: This command switches control back to the most recent module. See also GOTO_MODULE.
Synopsis: BACK
10.9.3.3 CREATE_DIVIDERS
Description: This command defines the segment boundaries and the ways on how to distribute phases
between various segments and to split the feeds of heat and mass.
Synopsis: CREATE_DIVIDERS
Ensuing Prompt: Number of dividers /4/: <the number of dividers>
Specify the number of dividers (boundaries between various segments) in the reactor. It is
normally the segment number plus one: for instance, if the stage box number has been
defined as 4, the divider number should be defined as 5 here.
Number of outputs for divider # /3/: <the number of outputs>
Specify the number of outputs for a specific divider #.
Percent of input to output 1 /100/: <percent of input>
Define the percentage of input to the output 1 in the current divider #.
Percent of input to output ## /100/: <percent(s) of input(s)>
Define the percentages of inputs to the outputs ## in the current divider #. It is repeated
till the last output is specified.
10.9.3.4 CREATE_PIPES
Description: This command defines 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).
Synopsis: CREATE_PIPES
Ensuing Prompt: From record: <a record number>
Specify a record number. If there are 4 segments in the reactor, the following records will
be available:
0 surroundings
1-4 stage boxes (segments)
5-9 dividers (segment boundaries)
Pipe to record: <another record number>
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.
10.9.3.5 CREATE_PROBE
Description: This command is to create probe, but has not been implemented yet.
Synopsis: CREATE_PROBE
10.9.3.6 CREATE_STAGE_BOXES
Description: This command creates several reaction stages as boxes (segments), where 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, must be specified.
Synopsis: CREATE_STAGE_BOXES
Ensuing Prompt: NUMBER OF STAGE BOXES /4/: <the number of stage boxes>
Specify the number of stage boxes in the reactor. Then the following message appears:
YOU MUST FIRST DEFINE FEED FROM SURROUNDINGS!
Now the feed of mass and/or energy (from surroundings to) the rector can be defined in
subsequent prompts.
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:
First, as input amount of heat (enthalpy),
H=Value
Second, as input amount of specific species or element and its initial temperature,
N(SPECIES)=Value, Input temperature
(in one line, or the input temperature in the ensuring prompt)
Input temperature /298.15/: <input temperature>
GIVE FEED TO SYSTEM: <feed>
Specify other feeds (mass or energy) to the reactor. Press <RETURN> to finish the feed
inputs, and then the following message appears:
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>
At present moment, only the EQUILIBRIUM type is allowed; by pressing <RETURN> to
accept it.
Is the stage heat controlled? /Y/: <Yes or No>
Y (Yes) means the current segment is heat controlled, while N (No) means it is not.
Initial guess of temperature? /1000/: <initial temperature>
Give a guess of initial temperature (in K) for the current segment; by pressing
<RETURN> to accept the default suggestion.
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:
First, as initial amount of heat (enthalpy),
H=Value
Second, as initial amount of specific species or element and its initial temperature,
N(SPECIES)=Value, Input temperature
(in one line, or the input temperature in the ensuring prompt)
Input temperature /298.15/: <input temperature>
Give initial amount: <initial amount of mass or heat>
Further specify initial amount (mass or energy) in the current segment. Press <RETURN>
to finish the initial amount inputs, and then the following message appears:
Each phase may have a separate output, give these
Now start to define the output for each phase.
Phase name /REST/: <name of phase>
Specify a phase that has a separate output, e.g., GAS; by pressing <RETURN> 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 has been defined.
10.9.3.7 EXECUTE_POLY3_COMMAND
Description: This command provides the possibility of directly utilizing all kinds of POLY commands
inside the REACTOR module.
Synopsis: EXECUTE_POLY3_COMMAND <a valid POLY command>
Any POLY command can be used here (see Part 8).
10.9.3.8 EXIT
Description: This command terminates the program and returns to the operating system. Unless a SAVE
command has been executed (in either the GES, POLY, PARROT or REACTOR module),
all data and results will be lost.
Synopsis: EXIT
10.9.3.9 GOTO_MODULE
Description: This command switches between modules. The name of the desired module must also be
typed. In order to obtain a list of available modules, press the <RETURN> key (also see
Section 5.4.11).
Synopsis 1: GOTO_MODULE <module name>
Synopsis 2: GOTO_MODULE
Ensuing Prompt: MODULE NAME:
NO SUCH MODULE, USE ANY OF THESE:
SYSTEM_UTILITIES
GIBBS_ENERGY_SYSTEM
TABULATION_REACTION
POLY_3
BINARY_DIAGRAM_EASY
DATABASE_RETRIEVAL
FUNC_OPT_PLOT
REACTOR_SIMULATOR_3
PARROT
POTENTIAL_DIAGRAM
SCHEIL_SIMULATION
POURBAIX_DIAGRAM
TERNARY_DIAGRAM
MODULE NAME: <module name>
Options: module name -- the name of the module to subsequently open
10.9.3.10 HELP
Description: This command lists the available commands or gives an explanation of a specified command.
Synopsis 1: HELP <command name>
Synopsis 2: HELP
Ensuing Prompt: COMMAND: <command name>
Options: command name -- the name of the command (one of the REACTOR-module commands) to
obtain help.
Notes: Pressing the <RETURN> key without typing a command name will list all the available
REACTOR commands.
Specifying a unique command will print an explanation of that command on the screen
(usually the same text as found in this User’s Guide).
Typing a command abbreviation which is not unique will list all matching commands. The
desired command information can be obtained by typing a unique abbreviation or the
complete command name.
10.9.3.11 INFORMATION
Description: Basic information about various POLY (and REACTOR) subjects can be obtained with this
command for a number of subjects, as they are described in different parts of this chapter.
Synopsis: INFORMATION
Ensuing Prompt: WHICH SUBJECT /PURPOSE/: <subject name>
The name of the subject must be given. Extensive information is available for various
subjects as listed below (this list can be seen if typing a question mark “?”).
10.9.3.12 LIST_DESIGN
Description: This command is to list the design details of the creator, but has not been implemented yet.
Synopsis: LIST_DESIGN
10.9.3.13 LIST_RECORDS
Description: This command lists on the screen all the already-created records for the reactor (including
stage boxes, dividers, pipes, etc.)
Synopsis: LIST_RECORDS
10.9.3.14 PATCH_WORKSPACE
Description: This command is only for those who think they know what they are doing!
Synopsis: PATCH_WORKSPACE
10.9.3.15 READ_WORKSPACE
Description: The REACTOR workspace (along with the POLY3 and GES5 workspaces) and the simulated
results from the SIMULATE command can be READ from a file where they must have been
saved previously with a SAVE_WORKSPACE command. This *.RCT file is not printable.
Synopsis 2: READ_WORKSPACE
Ensuing Prompt: File name /ABCDEF/: <file name>
The program shows up the “ABCDEF” as the most lately specified RCT-file name or as
“RESULT” if there is no workspace already saved in the run. By pressing <RETURN>
or typing a specific file name, one can read the REACTOR (and POLY3/GES5)
workspaces from the file.
Notes: Under Windows XP/2000/NT4 environments, a Open file window will pop up on the screen if
a file name is not given after the command or its path is incorrect, so that the path (in the
Look in box) and file name (in the File name box) can be appropriately specified, as shown
in Figure 10-19. The file type (i.e., RCT, as in the Files of type box) can not be changed. By
pressing the Open button, the program proceeds with opening the REACTOR (and
POLY3/GES5) workspaces from the specified, previously-saved *.RCT file. The user may
also cancel such an Open file window session, and thus no previously-saved REACTOR
(and POLY3/GES5) workspaces will be opened.
Figure 10-19. The “Open file” window: Reading the REACTOR workspace from an *.RCT file.
10.9.3.16 SAVE_WORKSPACE
Description: The REACTOR (and POLY3/GES5) workspaces are saved on a file with this command. In the
GES5 workspace, all thermochemical data are stored. In the POLY3 workspace, all
thermochemical data, all conditions, changed status, entered symbols, etc., are stored. In the
REACTOR workspace, all definitions of multi-stage steady-state rector and its distribution
coefficients are saved, together with the GES5 and POLY3 workspaces. After a SAVE
command, the user can always come back to exactly the state he had when he issued the
SAVE command by simply giving a READ command.
After saving the REACTOR (and POLY3/GES5) workspaces on a file, one may leave the
program and at a later time READ the file and continue from the saved state. Note that a
START_SIMULATE command automatically saves on the work file with the most lately
specified name. Do not SAVE after a START_SIMULATE command!
Synopsis 1: SAVE_WORKSPACE <file name>
Options: file name -- A user-desired file name must be specified. The default extension of the RCT
file is “.RCT”, while the user can have any other extension as wished.
Synopsis 2: SAVE_WORKSPACE
Ensuing Prompt: File name /RESULT/: <file name>
By pressing <RETURN>, one can save the REACTOR (and POLY3/GES5) workspaces
onto a file under the default name RESULT and with a default extension of “.RCT”.
Or a user can specify a desired file name, for which the default extension is “.RCT”,
while the user can also have any other extension as wished.
Overwrite current file content /N/: <Y or N>
(under Windows XP/2000/NT4 environments)
or
Proceed with save /N/: <Y or N>
(under PC Linux and various UNIX platforms)
This question is asked only if there is already a file with the same name, and the following
message appears on screen:
This file contains results from a previous START_SIMULATE command.
The SAVE command will save the current status of the program but destroy
the results from the previous START_SIMULATE commands.
If you answer Y, the previous content will be overwritten. Note that results from the
START_SIMULATE command are destroyed by SAVE. You may append several
results by START_SIMULATE without destroying the previous results but SAVE will
erase them all. To suspend some of the SIMULATE results, use the AMEND_RECORD
command.
If you answer N, nothing will be saved, and the previous content will not be overwritten.
You may later use the SAVE command with an unspecified name to save the REACTOR
(and POLY3/GES5) workspaces.
Notes: Under Windows XP/2000/NT4 environments, a Save As window will pop up on the screen if
a file name is not given after the command, so that the path (in the Save in box) and file
name (in the File name box) can be appropriately specified, as shown in Figure 10-20. The
file type (i.e., RCT, as in the Save as type box) can not be changed. By pressing the Save
button, the program proceeds with saving the REACTOR (and POLY3/GES5) workspaces
in the specified *.RCT file. The user may also cancel such a Save As window session, and
thus the current REACTOR (and POLY3/GES5) workspaces will not be saved.
However, if there is already a file with the same name under the directory (as indicated by the
Save in box), a warming message will pop up on the screen, as shown in Figure 10-21. If
clicking on the No button, the program returns to the Save As window, so that the user may
choose another Save in path or a different File name. If clicking on the Yes button, the
program may ask the question “Overwrite current file content /N/: ”, so
that the user can decide if overwriting the current REACTOR (and POLY3/GES5)
workspaces on the existing *.RCT file (see above).
Figure 10-20. The “Save As” window: Saving the REACTOR workspace as an *.RCT file.
Figure 10-21. The warming message: If saving the REACTOR workspace on an existing *.RCT file.
10.9.3.17 SHOW_PROBE
Description: This command is to show the details of the created probe, but has not been implemented yet.
Synopsis: SHOW_PROBE
10.9.3.18 START_SIMULATION
Description: This command starts the reactor simulation, and lists the results for all iterations. The output
for each iteration will consist of the conditions set in each segment, and the user may also
select some state variables to be listed out. After each loop, the temperatures in all segments
are listed.
Synopsis: START_SIMULATION
Ensuing Prompt: Max number of loops /10/: <the max number of loops>
Give the max number of loops. The REACTOR module will repeat the reactor simulation
till 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 <RETURN>) or
saving them on an experimental file (with the default extension .EXP). Note the
conditions in each segment will not be saved in the file, only on the screen.
Output variables /T BP($)/: <variable name(s)>
Specify the variable name(s) that will also be listed on the screen together with the
conditions in each segment, or in the output experimental file.
Example Output: For a 4-stage reactor, the output at a certain iteration may look like below:
=============================--------===
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
There is one example in the \TCEX\ area (TCEX24.TCM) and in TCCR Examples Book that demonstrate that
how the REACTOR-module simulation and graphical processing are performed:
Example 24 TCEX24.TCM Demonstration of the REACTOR-module simulation for the multi-staged
steady-state reactions occurred in silicon arc furnace with output of
gaseous phase at the top and output of condensed phases at the bottom.
The gaseous mixture phase from one segment will flow to higher
segments, 80 % will react in the first above, 15% in the second above
and 5 % in the third above. The condensed phases will flow downwards
and all of it will go to the next lowest segment.
Another example would be added in the \TCEX\ area (TCEX51.TCM) and in TCCR Examples Book that
demonstrate that how the REACTOR-module simulates the dynamic process of decarburiztion of liquid steel.
Example 51 TCEX51.TCM Demonstration of the REACTOR-module simulation for a dynamic
process of decarburiztion of liquid steel.
11.1 Introduction
The Gibbs Energy System (GES) ⇔ is a basic module of the Thermo-Calc software, with a comprehensive
subroutine package for thermochemical calculations. The module is interactively connected with all basic and
advanced modules in Thermo-Calc and DICTRA. Most users will never use the GES module unless they
perform assessments.
The objective of the GES module is to provide a unified set of subroutines to be used in any application
program that needs thermochemical data. All kinds of thermodynamic models for various types of substances
are implemented in the GES module. However, most model-dependent features are hidden inside the module,
and the application programmer can use a standardized set of subroutines, i.e., as packaged into the TQ and
TCAPI interfaces, to calculate the integral Gibbs energy or any partial derivative thereof for each phase at any
composition, temperature and pressure.
There are subroutines to analytically calculate the first and second partial derivatives of integral Gibbs energy
with respect to any variables, which is a unique feature of the Thermo-Calc software and its application
programming interfaces.
The GES module also provides the users of application programs with a user interface with a set of simple and
general commands for data manipulations. Through such a user interface, one can interactively enter and
modify phase descriptions, model connections, basic thermodynamic parameters, and so on. The aim of this
User's Guide is to describe this user interface.
POLY and all other basic and special modules, as well as the DICTRA program, interactively call the
subroutines within the GES system to calculate any thermodynamic quantities.
GES is an implementation of the standard software interface for thermochemical calculation defined by the
Scientific Group Thermodata Europe (SGTE).
GES:?
ADD_COMMENT ENTER_PHASE LIST_PHASE_DATA
AMEND_ELEMENT_DATA ENTER_SPECIES LIST_STATUS
AMEND_PARAMETER ENTER_SYMBOL LIST_SYMBOLS
AMEND_PHASE_DESCRIPTION EXIT PATCH_WORKSPACE
AMEND_SYMBOL GOTO_MODULE READ_GES_WORKSPACE
BACK HELP REINITIATE
CHANGE_STATUS INFORMATION SAVE_GES_WORKSPACE
DELETE LIST_CONSTITUTION SET_INTERACTIVE
ENTER_ELEMENT LIST_DATA SET_R_AND_P_NORM
ENTER_PARAMETER LIST_PARAMETER
GES:
⇔
Revision History of the GES Module User's Guide:
Feb 1984 First release (Edited by Bo Sundman)
Oct 1993 Second revised release (Edited by Bo Sundman)
Mar 1996 Third revised release (Edited by Bo Sundman)
Jun 2000 Fourth revised and extended release (Edited by Pingfang Shi)
Nov 2002 Fifth revised and extended release (Edited by Pingfang Shi)
June 2004 Sixth revised and extended release (Edited by Pingfang Shi)
June 2006 Seventh revised and extended release (Edited by Pingfang Shi)
11.2 Thermochemistry
The Gibbs energy of a thermochemical system is a function of the composition, temperature and pressure. The
stable state of a system for constant values of these variables is represented by a minimum in the Gibbs energy.
GES does not provide any routines to find the stable state but a method to do so with the use of GES is
described in literature.
11.2.4 Phases
A thermochemical system must have at least one phase. In the GES module, any number of phases can be
entered for a system and for each phase there must be a description of how its Gibbs energy varies with
temperature, pressure and composition.
The composition dependence of the Gibbs energy is in GES described by the internal data structure, which is
created when the phase is entered. This will be further described in Section 11.5 about the Data Structure. The
Gibbs energy of a phase is always referred to one formula unit of the phase, i.e., the amount derived from the
number of sites for each sublattice. If vacancy is a constituent of a sublattice, the amount of matter per formula
unit of the phase may vary with composition. In the thermochemical description of the phase, there are a
number of parameters which may depend on the temperature and pressure. The expressions for these parameters
can be given in a rather free form as a sum of terms with powers of T and P and also include the natural
logarithm and exponential function. This type of expression is referred to as TP-functions and are
described in more detail in the next paragraph.
The temperature and pressure dependence of the parameters in the GES5 workspaces is described as a
FORTRAN like expression called a TP-function. The rules for entering such a function are rather strict.
The basic entity of a TP-function is called a “simple term”. A simple term is:
<a real number>*<a symbol name>**<exponent>*T** <exponent>*P** <exponent>
The text within <> describes the factor which is expected. The other quantities must be given literally and have
their usual meaning, i.e., * is multiplication and ** is exponentiation. The exponent can only be an integer.
Negative exponents must be surrounded by parenthesis. Redundant parts of a simple term can be omitted.
In order to include the logarithm and exponential in these functions it is allowed to multiply a simple term with
the logarithm or exponential of another simple term. Instead of a logarithm or exponential it is also possible to
have just another symbol. This more generalized entity is called a “term” and examples of such terms are:
1.15*T*LOG(T)
1E-6*LOG(-32000*T**(-1))
-5*V3*EXP(V4*P)
0.078*V1**(-1)*T**2*V2
Simple terms and terms are then written after each other in order to form an expression.
Normally a function is terminated with a semicolon “;” or an empty line. Note that the symbols can denote a
numeric value or another function.
Some of these restrictions are due to simplifications in the parsing of the functions and some are due to the
requirement that it must be possible to calculate quickly the value of the function and also first and second
derivatives with respect to T and P.
For more information on how such functions and parameters are stored in a database, please also see Sections
6.3.14 (Function) and 6.3.15 (Parameter) in the Chapter 3 (Database Module (TDB) – Manager’s Guide) in the
document Thermo-Calc Database Guide.
The GES command LIST_SYMBOL can list all and/or any specified symbols (numeric constants, numeric
variables, functions or tables) that are already defined in the current GES5 workspace.
Addition to the predefined functions retrieved from database(s), one can further use the GES command
ENTER_SYMBOL command to define other necessary functions. Furthermore, any of the already-defined
symbols can be modified by using the GES command AMEND_SYMBOL.
11.2.6 Symbols
Symbols can thus be used for numeric values when entering a TP-function. As the thermodynamic
parameters are TP-functions, this makes it possible to use these symbols when further defining parameter
functions as well.
All symbols are stored in a list. Actually, a symbol in this list can represent a numeric constant, a numeric
variable, a function or a table:
A numeric constant may not have its value changed, by default the gas constant in SI units is stored with
the symbol R.
A numeric variable can have its value amended anytime.
A function in the symbol list can actually be several TP-functions because it is possible to define lower
and upper temperature limits for each TP-function. These breakpoints in temperature are
constants (i.e., they cannot vary with the pressure).
A table can be used when it is difficult to express how a quantity varies with temperature in any other
way. In the table the value of the quantity is given for constant temperature increments. A
linear interpolation is used between the increments.
It is possible to have pressure ranges instead of temperature ranges. This is indicated by giving the lower
temperature limit as -10000. The breakpoints will then be interpreted as pressures instead. It is essential that
the functions are smooth, both first and second derivatives continuous, around a break point.
The symbol feature makes it possible to create very complicated expressions with the rather simple means
provided by the TP-function syntax. As a symbol can be a single numeric value, this makes it also possible
to manipulate simultaneously individual coefficients of all TP-functions, which refer to the symbol by
modifying the value of the symbol. In the PARROT module (for assessment of thermochemical data), this
feature is used to adjust the description of the phases in order to obtain the best fit to experimental data. All
symbols that can be used for entering TP-functions are stored in a symbol list in the GES5 workspaces.
The GES command LIST_SYMBOL can list all and/or any specified symbols (numeric constants, numeric
variables, functions or tables) that are already defined in the current GES5 workspace.
Addition to the predefined symbols retrieved from database(s), one can use the GES command
ENTER_SYMBOL to define other necessary symbols. Furthermore, any of the already-defined symbols can be
modified by using the GES command AMEND_SYMBOL.
The GES module is able to use a large number of thermodynamic models for various substances in different
states (as listed in Table 11-1). More details are given below.
Table 11-1. List of a wide spectrum of thermodynamic models implemented in the GES module
Model Name in GES Full Model Name Applicable Phases
Ideal Ideal Substitutional Model Ideal gases
Regular Regular Solution Model Binary alloys
Redlich-Kister Redlich-Kister Model Binary alloys
Polynom Simple Polynomial Model Binary phase with no sublattice
Legendre Legendre Polynomial Model Binary phase with no sublattice
Redlich-Kister_Muggianu Muggianu Extrapolation of R-K Model Ternary or higher order alloys
Redlich-Kister_Kohler Kohler Extrapolation of R-K Model Ternary or higher order alloys
Toop-Kohler Toop-Kohler Extrapolation Model Ternary or higher order alloys
Kohler Kohler Extrapolation Model Ternary or higher order alloys
Muggianu Muggianu Extrapolation Model Ternary or higher order alloys
CEM Compound Energy Model (Sublattice Model) Alloys, Liquids, Gases, Oxides, …
TSILM Two-Sublattice Ionic Liquid Model Liquids
Associate Associate Model Liquids, Slags
Quasichem-Ionic Quasichemical Model of ionic liquid Liquids, Slags
Quasichem-FACT00 F*A*C*T Quasichemical Model Liquids, Slags
Quasichem-Irsid Irsid Slag Model Liquids, Slags
KFCM Kapoor-Frohberg Cell Model Liquids
MO Inden Magnetic Ordering Model Alloys
CVM Chemical Ordering via CVM Approach Alloys
Murnaghan Murnaghan Model High-PT minerals/alloys
Birch-Murnaghan Birch-Murnaghan Model Extra-high-PT minerals
GPVT Generalized PVT Model Alloys, Liquids, Minerals, etc.
SUPERFLUID SUPERFLUID Model Real gases & gaseous mixture
DHLL Debye-Hückel Limiting Law Dilute aqueous solutions
SIT Specific Ionic Interaction Theory Dilute aqueous solutions
PITZ Generalized Pitzer's Formalism Concentrated aqueous solutions
HKF Revised Helgeson-Kirkham-Flowers Model Concentrated aqueous solutions
FLORY Flory-Huggins Model Polymers
G2SLA Generalized Two-State Model Liquid amorphous phases
For an advanced user can select a specific model for each phase. For a normal user, the databank will select the
appropriate model for each phase. In any model the integral Gibbs energy consists of a number of parameters
which depend on T and P and are multiplied with fractions of the constituents.
The simplest type of phase has only a single element as constituent, and the only parameter is the
“standardized” Gibbs energy of the phase. The standardized Gibbs energy is the difference between
• the Gibbs energy for the phase at the current temperature and pressure, and
• the enthalpy at 298 K and 1 atm in the SER state of the element.
For phases with more than one constituent, it is necessary to give the standardized Gibbs energy for each
constituent (or each constituent array if the phase has sublattices). The constituents can also be species which
are combinations of several elements, but the standardized Gibbs energy will always refer to the SER state of
the element anyway.
The reason to use standardized Gibbs energies, rather than the “lattice stabilities” that are frequently used in
phase diagram calculations for alloys, is that it makes it possible to calculate heat capacities and absolute
enthalpy differences.
For a phase with variable constitution, the simplest model is the Ideal Substitutional Model. In this model, the
constituents are identical to the elements, and the parameters are the standardized Gibbs energies of the
elements in this phase. These parameters are then multiplied with the fraction of the constituents, and an ideal
entropy of mixing is added in order to calculate the integral Gibbs energy.
To describe realistically the Gibbs energy of a phase, the ideal substitutional model is usually not sufficient, and
there are many possibilities open for the choice of a reliable model.
In the Regular Solution Model, a parameter for each pair of constituents of the phase is introduced. This
“binary interaction” parameter can also be given some physical significance by comparing with the difference in
bond energies between like and unlike atoms. The parameter is multiplied with the fractions of the two
constituents, and thus the parameter gives no contribution when any of the fractions is zero.
A single binary parameter is in many cases not sufficient, and there are a number of so-called “excess” models
that use various power series in the fractions in order to describe how a binary parameter may depend on the
composition. All these are equivalent when the phase has only two constituents, because they can be
transformed into each other by using the fact that the sum of the fractions is unity. Thus, the GES module has
only been programmed to handle the power series usually known as Redlich-Kister Model. This is generally
written as a polynomial:
X1*X2*(L0 + L1*(X1-X2) + L2*(X1-X2)**2 + L3*(X1-X2)**3 + ... )
where X1 and X2 are the fractions of the constituents and L0, L1 etc. are functions of temperature and
pressure. L0, L1 etc. thus describe how the binary parameter depends on the composition.
In order to extrapolate binary systems into ternary and higher systems, it is natural to use the fractions from the
ternary system in the expression above. This is called the Muggianu Model. However, another choice of power
series for the binary parameters would now give different results as the sum of the binary fractions are not
unity. This difference has caused some discussions on the possibilities to describe unsymmetrical features of a
system by the choice of power series and extrapolation model.
As there must be a physical reason for this unsymmetry, GES employs the much more general Sublattice
Model. Only to make it possible to check calculations made with other programs, GES allows the use of the so-
called Kohler and Toop-Kohler Extrapolation Models.
The GES system is not restricted to binary interaction parameters but ternary, quaternary and higher order
parameters can be used if there is enough information to evaluate these from experimental data. Ternary
parameters are not infrequent and in some cases there has been suggested that they can be composition
dependent. In GES, a suggestion by Hillert has been followed, and it is possible to have a ternary parameter:
X1*X2*X3*(V1*L1 + V2*L2 + V3*L3)
where X1, X2 and X3 are the fractions of constituent 1, 2 and 3, respectively, and
V1=X1+(1-X1-X2-X3)/3
V2=X2+(1-X1-X2-X3)/3
V3=X3+(1-X1-X2-X3)/3
L1, L2 and L3 are functions of T and P only. In the ternary system 1-2-3, Vi and Xi are identical, but in
extrapolations to quaternary and higher systems the sum of Vi is always unity which is not true for the sum of
Xi.
The L1, L2 and L3 parameters are identified by the degree in the ENTER_PARAMETER command. If L1, L2
and L3 are equal, one just needs a single parameter with a degree of zero.
If there is a ternary composition dependent parameter, one must enter all three parameters L1, L2 and L3. This
is to ensure that the user knows what he is doing. If such a ternary parameter should be zero, then assign it a
function which is zero or give it a very small value.
In a system A1, A2 and A3, the ternary parameters for a substitutional phase like LIQUID would be:
L(LIQUID,A1,A2,A3;0) to be multiplied with V1
L(LIQUID,A1,A2,A3;1) to be multiplied with V2
L(LIQUID,A1,A2,A3;2) to be multiplied with V3
In the gas 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. This is also true for aqueous solutions and sometimes also for
other liquid phases. Even some crystalline solids are formed by molecules rather than the individual elements.
The standardized Gibbs energies that are required for a constituent that is not an element is the Gibbs energy of
the constituent relative to the elements that form the species in their SER state. In a phase with non-element
species, it is possible to introduce interaction parameters between various constituents of the phase, as
described in the following models (the Associate Model, Sublattice Model, Ionic Liquid Model, Quasichemical
Model, Flory-Hussins Model, SIT/PITZ/HKF Models, …., etc.).
If the atoms are sufficiently different in size, electronegativity or charge, they may prefer different types of sites
in the lattice of crystalline solids. In some cases, a solute atom may even occupy interstitial sites between the
normal lattice sites. All such phenomena are treated in GES by the sublattice concept.
The entropy of mixing for a phase with sublattices is calculated as a sum of the ideal entropy of mixing for the
constituents on each sublattice multiplied with the number of sites on the sublattice. If the composition of the
phase is such that there is a single constituent on each sublattice, there is thus no entropy of mixing.
By introducing sublattices, many traditional concepts in thermodynamics become complicated for the general
case. For example, it is not possible to give an explicit formula for the partial Gibbs energies for the individual
elements of the phase. In order to describe the thermochemistry of a phase with sublattices, it is necessary to
introduce the constituent array concept. A constituent array is an array specifying one constituent in each
sublattice. The surface of reference for the Gibbs energy of a phase with sublattices is constructed by the
standardized Gibbs energies of all possible constituent arrays. The interaction parameters can then be expressed
in much the same way as for a phase with no sublattices.
For a comprehensive description on the Sublattice Model, or the more generally-referred Compound-Energy
Model, please refer to Hillert (1998), Sundman and Ågren (1985).
11.3.6 Ionic Liquid Model, for liquids with a tendency for ordering
Ionic liquids have usually very low entropy of mixing at certain compositions that coincide with neutral
combinations of the ions.
According to a suggestion by Temkin, this can be modeled by assuming that the cations mix only with each
other and anions with each other. Mathematically, this is equivalent with the sublattice model, already described
for crystalline solids. The complication for liquids is that the number of sites on the cation and anion sublattice
may vary with the composition.
This problem is discussed in detail by Hillert (1985), and a general formula, namely the Two-Sublattice Ionic
Liquid Model, has been implemented in GES.
The Associate Model implemented in the Thermo-Calc package treats this type of phase as a “gaseous mixture”
phase with molecules, and one may have interaction terms between the molecules.
As will be mentioned in Sections 11.3.13 and 11.2.14, another example for non-chemical contributions to Gibbs
energy is the hypothetical electrostatic effect in an aqueous solution phase. Various Born functions (X, Y, Z, ω,
etc.) are used to describe the contributions from electrostatic properties, and the so-called Debye-Hückel
Limiting Law term, ionic solvation, ionic association, etc.
interstitials. One may even describe ordering of the interstitials in some cases, like in the M2C carbide. It is
possible to enter phases with sublattices. However, the sublattice description does not take short range ordering
into account.
If an ordered and disordered phase form a two-phase region, one must have two or more composition sets of
that phase. Composition sets can be created in the GES module or by the SPECIAL_OPTIONS command in the
POLY module.
The GES System supports a feature of splitting the parameters of a chemically ordered phase onto two different
phase descriptions. This has become very popular in current assessment work. In this way, one can have one
phase for all parameters describing the disordered state (the configuration independent part) and in the other
phase only those parameters needed to describe the remaining part (the configuration dependent part). This
has been implemented in such a way that the contribution from the configuration dependent part is zero when
the phase is disordered. In higher order systems, this is particularly useful as an ordered phase can dissolve
several elements that have no particular contribution to the actual ordering. The Gibbs Energy System
automatically adds these together after the command the following command has been given:
AMEND_PHASE <ordered phase> DISORDERED_PART <disordered phase>
It is often necessary to have two or more composition sets in phases that have order/disorder transformations,
but the users have often forgotten to create composition sets for both the ordered and disordered phases, and
this leads to program crashes. Now the command AMEND_PHASE in the GES module or the POLY command
SPECIAL_OPTION SET_MISCIBILITY automatically creates composition sets also for disordered phase
when it is executed for the ordered phase.
The CVM (cluster-variation-method) Approach to model chemical ordering/disordering phenomenon has been
implemented in the GES system, but at present moment it is only available for binary systems (Sundman and
Mohri, 1990). See Example 31 in the \TCEX\ area (TCEX31.TCM) and in Thermo-Calc Examples Book.
Under high pressure (and high temperature) conditions, the EOS (equation of state) of metals, minerals and
other types of materials can be handled by either the Murnaghan or Birch-Murnaghn models, to describe their
P-V-T relations and thermodynamic properties (Saxena et al., 1992). The Murnaghan Model can be used from
1 bar to pressure up to 20 GPa, and the Gibbs energy of a stoichiometric phase can be implicitly expressed as a
function of temperature and pressure. The Birch-Murnaghan Model can be utilized over an even wide pressure
range (from 1 bar to above 20 GPa), while the Gibbs energy of a stoichiometric phase can only be converted
from the Helmholtz energy that is implicitly expressed as a function of temperature and pressure. For the
composition dependence of a solution phase under high pressures, it is normally handled by the Redlich-Kister
Model or the general Compound-Energy Model in the GES system.
In the previous versions of Thermo-Calc software (up to TCCQ and TCW3), there are several thermodynamic
models to handle pressure-volume-temperature EOS (equation of state) for metallic alloys and other varied
forms of solids/minerals (carbides, nitrides, hydrides, oxides, sulfides, hydroxides, borides, phosphites, halites,
silicates, carbonates, sulphates, nitrates, phosphates, etc.), as well as for liquids (melts/slag), aqueous solutions
and gaseous mixtures. Particularly for alloys and minerals, there are Murnaghan Model, Birch-Murnaghan
Model and Modified Birch-Murnaghan Model that have been implemented into the GES (Gibbs Energy
System) of the Thermo-Calc software; and associated with such models several databases bears some assessed
data (e.g., GCE2/PGEO for minerals, while far from complete for alloys), on molar volume, thermal expansion,
bulk modulus and compressibility, as well as their dependencies on temperature and pressure.
In the new Thermo-Calc software versions (TCCR/TCW4 and corresponding programming interfaces), a new
model, called Generalized PVT Model (GPVT), will be made available, and a special database/data-set using
this model will be released. This makes it possible to calculated volume and related thermo-physical properties
(as a function of temperature, pressure and composition) whenever precise information of such properties is
required.
The new developments aim at: 1) generating a molar volume and bulk modulus database, i.e., including
Vm(T,P,Xi) and K(T,P,Xi) data for systems involving Al, B, C, Co, Cr, Cu, Fe, Mg, Mn, Mo, N, Nb, Ni, O, P, S,
Si, Ti, V, W, etc., in various structured phases e.g. fcc, bcc, hcp, carbides, nitrides, oxides, liquids and so on; 2)
creating theoretical methods to calculate thermo-physical properties, especially for metastable phases; 3)
establishing and implementing a new robust model for pressure dependence of Gibbs free energy.
Proven successful applications include: high-pressure phase diagrams, dilatometric curves during temperature
changing, dilatometric analysis of isothermal decompositions, lattice misfit, among many others.
As an approximation, the ideal gas model may handle a pure gas phase or a gaseous mixture 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 most cases of currently available substance and solution databases (such as SSUB, TCMP, TCES,
TCFE, etc.), the GAS mixture phase is treated in this way.
However, under high pressure and high temperature conditions, the EOS (equation of state) of pure gas species
and real gaseous mixtures are different from the ideal behaviors. The P-V-T relations and thermodynamic
properties of either the pure gas species or gaseous mixture phases must then be described by some non-ideal
gas and gaseous mixture models that are reliable under both subcritical and suoercritical temperature-pressure
conditions. There are some comprehensive models that are extensively applied in the fields of physical
chemistry, chemical engineering, geochemistry/geophysics, etc.
The SUPERFLUID Model (Belenoshko, Shi and Saxena, 1992), as coded in the SUPERFLUID program
(published in Computers and Geosciences, 18(1992):1267-1269) will be implemented in the next TCC version.
This model was developed for studying P-V-T relations and thermodynamic properties of the C-H-O-S-N-Ar
gaseous/fluid mixtures (with 13 species H2O-CO2-CO-CH4-O2-H2-S2-SO2-COS-H2S-N2-NH3-Ar) under sub-
/super-critical conditions. It incorporates non-ideal models that are applicable over a very wide temperature-
pressure-composition range, for both various pure gaseous species [Johnson and Norton, 1991; Shi and Saxena,
1992; Belonoshko and Saxena, 1991, 1992; Saxena and Fei, 1987, 1988; Saul and Wanger, 1987, 1989; Haar et
al., 1984; Levelt Senger et al., 1983; Jacobs and Kerrick, 1981; Kerrick and Jacobs, 1981; among others] and
gaseous mixtures [Shi and Saxena, 1992; Belonoshko and Saxena, 1992; Saxena and Fei, 1988]. The
SUPERFLUID program itself can be run independently, under Windows XP/2000/NT4, PC Linux and various
UNIX platforms.
The SUPERFLUID model implemented in the GES system of the next TCC version will be possibly switched
on for investigating complex heterogeneous interactions among such non-ideal gaseous/fluid mixtures,
metals/alloys/slag, minerals, aqueous solutions, etc.
In dilute aqueous solutions, the activity coefficients of the solvent (H2O) and solute species may be described by
the DHLL (Debye-Hückel Limiting Law) Model that ignores the effects of ionic solvation and only uses some
simple terms for the electrostatic contributions (Atkins, 1982). With the aqueous solution concentration
increases, the SIT (Specific Ionic Interaction Theory) Model can be applied, which takes accounts of some
simple binary, ternary and higher-order ionic interaction terms (Ciavatta, 1990).
In both cases, the P-V-T relations and standard thermodynamic properties of the solvent H2O (and solute
species) may be calculated by some simple models; however, one can also use more sophisticated models, such
as the Johnson-Norton model for H2O, as coded in the SUPCRT92 program (Johnson et al., 1991) and
SUPERFLUID program (Belenoshko et al., 1992; see Section 11.3.13).
At elevated temperature and pressure condition, and at higher concentrations, the activity coefficients of the
solvent (H2O) and solute species should be described by the HKF (Complete Revised_Helgeson-Kirmham-
Flowers) Model that uses the most comprehensive approach to study the electrostatic contributions, effects of
ionic solvations and ionic interactions (binary, ternary and higher-order). For some specific aqueous solution
systems that have been experimentally investigated at extremely high concentrations, the PITZ (Generalized
Pitzer’s Formalism) Model should be applied.
The complete HKF model implemented in the TCC version P will contain two highly non-ideal parts for
aqueous solution. The first part is the P-V-T relations and standard thermodynamic properties of the solvent
H2O and solute species, that are calculated by the Johnson-Norton model for H2O (Johnson and Norton, 1991)
and the Revised_Helgeson-Kirkham-Flowers model for aqueous solutes (Helgeson and Kirkham, 1976;
Helgeson et al., 1981; Shock and Helgeson, 1988, 1990; Shock et al., 1989; Shi et al., 1993), as coded in the
SUPCRT92 program (Johnson et al., 1992) and SUPERFLUID program (Belenoshko et al., 1992; see Section
11.3.13). The second part is the non-ideal mixing properties of cations, anions and complexes in the aqueous
solution phase, that are calculated by the complete Revised_Helgeson-Kirkham-Flowers model (Helgeson et al.,
1981; Shi et al., 1993), as coded in the AQSMIX program (Shi and Saxena, 1994). The contributions of Born-
functions of solvent H2O and solute species in the standard and mixing states are systematically calculated. The
complete Revised-HKF model can be effectively and reliably applied to complex aqueous solution phase from
room temperature and pressure to 1000oC and 5 kbar.
Together with the complete HKF model, one can use the AQS Aqueous Solution Database to investigate
various heterogeneous interaction systems involving aqueous solutions, gaseous/fluid mixtures,
metals/alloys/slags, minerals (oxides/hydroxides/silicates/carbonates/sulfides/sulphates/nitrides/nitrates/halites),
etc., over a wide temperature-pressure-composition range.
The generalized PITZ model (Pitzer, 1973, 1987, 1991; Pitzer et al., 1984; Spencer et al., 1990; Sterner et al.,
1992) will be implemented in the Thermo-Calc package in the near future.
The new model G2SLA (Generalized Two-State Model for Liquid Amorphous Phases) provides an unified
way to describe thermodynamic properties of liquid amorphous phases smoothly and more reasonably. In the
next version of Thermo-Calc, a special parameter related to this model can be entered and hence the
contribution to the Gibbs free energy from the two-state excitation can be easily added together with
contributions due to other physical effects, such as magnetic ordering.
The essence of the generalized two-state model is the assumption that the atoms in a liquid amorphous phase
can be in either the amorphous-like state or the liquid-like state and the excitation from the amorphous-like state
to the liquid-like state contributes to the total Gibbs free energy of the liquid-amorphous phase.
Example: Au-Si
Comparison between the calculated and experimental heat capacity of the eutectic liquid-amorphous phase and
solid mixture in the Au-Si system. (a) new modelling using two-state model. (b) results calculated using the
SSOL database, which give the same heat capacities for liquid and solid. The dashed lines indicate the melting
of this alloy.
This is a model for liquid polymers where the constituents can be only different in SIZE and located in only one
set of sites. First, the new composition variable is introduced as below:
ν i yi
Φi =
∑ν j y j
j
where vi is related to the size of the constituent. It is a constant independent of composition, temperature and
pressure. For each constituent, the value of vi is set with the GES command
ENTER_PARAMETER PLYV(POLYMER, I) 298.15 vi; 6000 N
Due to the standard syntax, one must specify a low and high temperature limits, but one must not give
anything else than a constant vi. PLYV is a special identifier for the vi parameter.
The Lij parameter is the GES excess parameter and related to the standard Xij parameter of the Flory-Huggins
model, which is defined as
Lij = RTν j X ij
A number of other quantities may also be composition dependent (e.g., the critical temperature of magnetic
ordering), and they can also be expressed as a function of parameters multiplied with fractions. Some other
quantities may be complex functions of temperature, pressure and composition (e.g., the Born functions of
hypothetical electrostatic effects).
Such parameters for magnetic or electrostatic contributions are distinguished from those describing the
“chemical” Gibbs energy by special identifiers.
For “chemical” parameters, the identifiers are G (for standardized Gibbs energy) or L (for excess Gibbs
energy by interactions).
For the magnetic contribution, two composition-dependent quantities are needed, and the identifiers used
for these are:
• TC for the critical temperature for magnetic ordering,
• BM (or BMAGN) for the Bohr magneton number.
For the electrostatic contribution in aqueous solutions (using the complete Revised HKF Model), the Born
functions (X, Y, Z, ω, etc.) from the solvent (H2O) are stored as data blocks in some specially
implemented subroutines in the GES module, while the Born functions ωPr,Tr for solute species are
stored in the normal GES5 workspaces using the identifier BM. (Note: this identifier similar to that
for Bohr magneton number is just for temporal use in version P, and it will be changed to WB in the
future versions).
Note that quantities such as H (enthalpy), S (entropy), V (Volume), F (Helmholtz energy), etc. can be calculated
from the integral Gibbs energy when necessary, but they are never stored as an explicit expression.
A parameter is always associated with a specific phase. The name of that phase must be supplied. The name can
be abbreviated.
The parameters are identified by the constituents, the fractions of which are multiplied with the parameter. The
name of the constituents can be abbreviated. Note that it is the NAME of the constituent, not the stoichiometric
formula, that is needed. If the phase has only one constituent in each sublattice, these can be omitted.
For phases with several sublattices, the program will ask for at least one constituent in each sublattice. The
excess parameters, e.g., the regular parameters or ternary parameters, are multiplied with two or more fractions
of the constituents in the same sublattice. These additional constituents must be given as interaction
constituents. Note that phases with sublattices may have interaction constituents in each sublattice.
A parameter which is used to describe the excess of a quantity must have two or more constituents that
“interact”. It is arbitrary which of these constituents that is given as the first and which are given as interaction
constituents. But the program will always sort the constituents (in each sublattice) in alphabetical order when
the parameter is written as prompt. This is important for some parameters where the sign of the parameter may
depend on the order.
For each parameter, an expression to describe the mathematical functions must be given after the parameter
name. Sometimes, an expression can be used for several parameters (for example for reference energy for the
elements). In this case it is recommended that the expression is entered as a function symbol, and this symbol
can then used when further defining the parameters.
The GES command LIST_SYMBOL can list all and/or any specified symbols (numeric constants, numeric
variables, functions or tables) that are already defined in the current GES5 workspace, and the
LIST_PARAMETER command can list various parameters of a specified phase (if retrieved from an
unencrypted database).
Addition to the predefined parameters retrieved from database(s), one can further use the GES commands
ENTER_PARAMETER or ENTER_SYMBOL to define other necessary parameters. Furthermore, any of the
already-defined parameters can be modified by using the GES commands AMEND_PARAMETER or
AMEND_SYMBOL.
The variety of models that can be used in GES requires that the data storage must be developed beyond the
static arrays that are provided by FORTRAN. The most general data structure, which is used in modern
computer languages like LISP and Pascal, is “lists”. These languages have this facility built into the language
itself. In FORTRAN, it is necessary to write a subroutine package for this type of data structures. A very
general package has been developed in both the Thermo-Calc and DICTRA software. In a linked structure, the
actual data is stored in records that may be scattered around in the memory of the computer. This part of the
memory is usually called a heap. The records can only be accessed through pointers and a record may contain
pointers to other records. Thus very flexible and general lists can be created. The disadvantage of the list
structures is that they may require longer computational times for simple problems compared to a program
which has been tailored for that problem.
In the GES system, the workspace routines are used to create a linked structure where the data structure in itself
defines the mathematical expression for the Gibbs energy. This structure can be used to calculate both the
integral Gibbs energy and any partial derivative analytically.
11.5.1 Constitution
A phase has one list for each sublattice where the constituents of the sublattice and their fractions are stored.
Sublattices are used to describe a deviation from random mixing in a phase, e.g., when interstitials or
constituents with different size or electronegativity prefer different lattice sites in a phase.
In Constituent Array of a stoichiometric phase or a solution phase in phase Constituents and phase Parameters,
various sublatttices are separated by the “:” signs, and within a specific sublattice various constituents are
separated by the “,” signs. For more details, see Section 11.4 and Chapter 3 (Database Module (TDB) –
Manager’s Guide) in the document Thermo-Calc Database Guide.
thermochemical data between various thermochemical software. Note that the unformatted files written with the
“GES5” extension cannot be used for transferring data between different computers. The content of these files
cannot be printed to a printer either.
Such stored *.GES5 files have the same format on PC Windows XP/2000/NT4, PC Linux and various UNIX
platforms, and they are essential for running various Thermo-Calc application programming interfaces (e.g.,
TQ, TCAPI and/or TC-Toolbox in MATLAB).
Parts of the stored information on a defined system and retrieved thermodynamic data can be written as simple
texts on a formatted file (with a default extension “DAT” or “TDB”). Such files could be opened and edited
outside of the Thermo-Calc software, using some textual editors.
Note that for encrypted databases since TCC version P, one may not be able to use this command to list the
any thermodynamic data for a defined system or a specific phase in the system, on screen or in such
*.DAT/*.TDB files.
Normally, the GES system is connected to databases with thermochemical parameters that is needed to make
any calculation. However, it is also possible to enter data interactively in the GES module, and to use a file to
store and retrieve such data.
The GES system currently used in the Thermo-Calc software is internally connected with the TDB module (for
thermochemical database retrieval), the POLY module (for heterogeneous equilibrium calculations), the TAB
module (for thermodynamic property tabulations), and the PARROT module (for assessing experimental data).
GES is also connected with the DICTRA software.
Another level of application programs is for the user-written programs using the Thermo-Calc application
programming interfaces, TQ, TCAPI or TC-Toolbox in MATLAB software. Under such circumstances, the user
needs first to retrieve all the necessary thermochemical data in the TDB module and to generate an *.GES file
in the GES module of the Thermo-Calc software for a particularly defined system, and then to open such a file
within the application programs for thermodynamic calculations and kinetic simulations.
For each command, the program usually needs one or more additional values, and if the user presses the
<RETURN> key after the command the program will ask for these values. Usually, the program also suggests a
default value as the answer between slashes, e.g., /Y/ or /.50/, and if the user is satisfied with this value he
can simply press the <RETURN> key.
An advanced user, who knows the questions that the program will ask, can type the values that should be taken
as the answers on the same line as the command. The values must then be separated by spaces. In order to
obtain the default value for a question he can type a comma “,” for each value where the default should be
used.
For each command the questions that may be asked after the command is also explained. Usually this is the
same information as you will receive on-line by typing a question mark, “?”.
There are two commands for help in general. However, the most important help facility is the possibility to type
a question mark, “?”, anytime you are asked a question you do not fully understand; usually, the information
you will received on-line by typing a question mark is the same as documented here for each command and sub-
prompt. You should then be given a concise description of what the program wants you to give as input. In
some cases a more extensive description can be obtained by typing two question marks, “??”.
As mentioned above, the GES system is a subroutine package, and it is thus used inside an application program,
e.g., the Thermo-Calc software. Normally, the application program will consist of several modules, and there
are a standardized set of commands to switch between various modules. Each module of an application program
normally has a specific task, and thus several modules may have to be used in order to obtain the desired results.
The GES module will indicate that it is prepared to receive input by issuing the prompt:
GES:
The user must then type a GES command, and after the command has been executed the GES module will write
its prompt again.
During the proceeding of a command that generates an output on the screen, it is possible to stop the output by
CTRL-S and later to restart it with CTRL-Q. When you receive on-line help on the screen, it may in some cases
exceed a full screen. CTRL-S and CTRL-Q can then be used to make it possible to read the output information.
In order to interrupt the execution of the program, you can press CTRL-C twice.
11.8.1 HELP
Description: This command lists the available commands or gives an explanation of a specified command.
Synopsis 1: HELP <command name>
Synopsis 2: HELP
Ensuing Prompt: COMMAND: <command name>
Options: command name -- the name of the command (one of the GES-module commands) to obtain
help.
Notes: Pressing the <RETURN> key without typing a command name will list all the available GES
commands.
Specifying a unique command will print an explanation of that command on the screen
(usually the same text as found in this Users’ Guide).
Typing a command abbreviation which is not unique will list all matching commands. The
desired command information can be obtained by typing a unique abbreviation or the
complete command name.
11.8.2 INFORMATION
Description: Basic information about various GES subjects (concepts and models) can be obtained with
this command for a number of subjects, as they are described in different parts of this
chapter.
Synopsis: INFORMATION
Ensuing Prompt: WHICH SUBJECT /PURPOSE/: <subject name>
Specify a subject (or its abbreviation as long as it is unique, e.g., SPE, STA, STO, SUB,
SUR, SYM, etc.) on which information should be given, from the following subjects
that are important to the use of the GES module (this list can be seen if typing a
question mark “?”):
PURPOSE HELP APPLICATION PROGRAMS
USER INTERFACE MODULARITY CONTROL CHARACTERS
DATA STRUCTURE CONSTITUTION SURFACE OF REFERENCE
EXCESS GIBBS ENERGY STORED PRIVATE FILES ENCRYPTED DATABASES
THERMOCHEMISTRY DEFINING SOME TERMS UPPER AND LOWER CASE
ELEMENTS SPECIES PHASES
FUNCTIONS SYMBOLS PARAMETERS
SUBLATTICES CONSTITUENT ARRAY MISCIBILITY GAPS
MODELS STANDARDISED GIBBS ENERGY IDEAL MODEL
REGULAR MODEL USE OF CONSTITUENTS COMPOUND-ENERGY MODEL
IONIC LIQUID MODEL ASSOCIATE MODEL QUASICHEMICAL MODEL
NON-CHEMICAL TERMS FERROMAGNETISM BORN FUNCTIONS
ORDER-DISORDER CVM APPROACH TWO-STATE MODEL
MURNAGHAN MODEL BIRCH-MURNAGHAN MODEL GENERALIZED PVT MODEL
AQUEOUS SOLUTIONS DHLL AND SIT MODELS HKF AND PITZ MODELS
FLORY-HUGGINS MODEL GAS EOS AND MIXING
11.9.1 GOTO_MODULE
Description: This command switches between modules. The name of the desired module must also be
typed. In order to obtain a list of available modules, press the <RETURN> key (also see
Section 5.4.11).
Synopsis 2: GOTO_MODULE
Ensuing Prompt: MODULE NAME:
NO SUCH MODULE, USE ANY OF THESE:
SYSTEM_UTILITIES
GIBBS_ENERGY_SYSTEM
TABULATION_REACTION
POLY_3
BINARY_DIAGRAM_EASY
DATABASE_RETRIEVAL
REACTOR_SIMULATOR_3
PARROT
POTENTIAL_DIAGRAM
SCHEIL_SIMULATION
POURBAIX_DIAGRAM
TERNARY_DIAGRAM
MODULE NAME: <module name>
Options: module name -- the name of the module to subsequently open
11.9.2 BACK
Description: This command switches control back to the most recent module. See also GOTO_MODULE.
Synopsis: BACK
11.9.3 EXIT
Description: This command terminates the program and returns to the operating system. Unless a SAVE
command has been executed (in either the GES, POLY or PARROT module), all data and
results will be lost.
Synopsis: EXIT
11.10.1 ENTER_ELEMENT
Description: The user may specify his system interactively with this command. The program will search
the currently switched or preset database for data for the given elements. The data for the
elements in the database are:
• the mass in g/mol,
• the name of the Selected Element Reference (SER) state which normally is the stable
phase for the element at 298.15 K,
• the enthalpy difference for the element in the SER state at 298.15 K and zero K,
• the 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
the CHANGE_STATUS command (see Section 11.12.6).
If an aqueous solution phase is involved, one should in the GES module enter a special
aqueous electron called, ZE. This is specially designed for appropriately calculating the
standard electric potential in the aqueous solution system.
11.10.2 ENTER_SPECIES
Description: The user can interactively specify species made up from the already entered elements. For
each species, its name and chemical formula must be given. Note that all elements will
automatically be entered as species simultaneously. The constituents of a phase must be
species, but there is no thermochemical data associated with the species except as
constituents of a phase.
Synopsis 1: ENTER_SPECIES <species name> <chemical formula>
Synopsis 2: ENTER_SPECIES
Ensuing Prompt: SPECIES NAME: <species name>
The user must supply a unique name of a species. This is usually its chemical formula but
it may be any string which starts with a letter and contains only letters or digits,
parenthesis “()” and the underscore character “_”. The special combination /- or /+
used to denote charge is also legal. For instance,
NACL2, FE2O3, FEO3/2, FE1O1.5, CA.5MG.5SI1O3,
AL1H1O1_Al(OH) , AL1H1O1_HAlO, C2H4O3_124TRIOXOLANE,
The species name can be used to separate isomers with the same stoichiometry, e.g.,
C2H2Cl2, (CHCl)2_cis, (CHCl)2_trans, CH2_CCl2.
11.10.3 ENTER_PHASE
Description: Normally, data for a system are retrieved from the preset database after the elements and
species have been specified. This is automatically done through the GET_DATA command
inside TDB database module. In some cases, the user wants to specify a phase interactively
by this command.
Synopsis: ENTER_PHASE
Ensuing Prompt: NAME OF PHASE: <phase name>
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.
TYPE CODE: <type code >
The type code must be specified for the phase if it is not an ordinary solution phases. One
can press <RETURN> if the phase is ordinary.
The following type codes can be defined:
G for a gas phase. Note that there may only exist one gas phase in a system.
A for an aqueous phase.
L for a liquid phase (but not aqueous or ionic).
Y for an ionic liquid treated by a special two-sublattice model.
I for a phase with charged species (but not A, G or Y).
F for ordered fcc with 4 sublattices. Identical parameters will be stored only once.
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. Phases with no sublattices are treated as phases with one
sublattice.
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 phases with no sublattices this question
will not shown up.
11.10.4 ENTER_SYMBOL
Description: Normally, a symbol can be used to represent a numeric quantity, a function or a table. The
entered symbol can be used later when parameters are entered, and this represents a flexible
way to manipulate thermodynamic functions. Symbols are especially useful if the same
function or table is used in several thermochemical parameters.
A symbol can be entered by this command in the GES module. The symbols entered in the
GES module can also be listed and used in the PARROT module (for data optimization)
where one may use the GES-entered symbols (variables, functions or parameters) to define
parameters that shall be optimized. But symbols entered in the GES module are not the
same symbols as defined in the POLY and POST modules.
Synopsis: ENTER_SYMBOL
Ensuing Prompt: VARIABLE, FUNCTION, TABLE OR PARAMETER? /FUNCTION/: <keyword>
The keyword can be variable, function, table or parameter.
Functions are expressions of state variables or other functions.
Variables are similar to functions because they can also be expressions of state
variables. It is possible to enter a variable with a new expression anytime.
Tables are used for listing results. A table consists of a list of any number of state
variables, functions or variables.
Parameter symbols are specially used for assigning the values of phase parameters
(which are defined by both the commands ENTER_PARAMETER) to specific
characterized symbols by this option. Note that if the phase parameter has not
been defined yet, the parameter symbol will be assigned with zero or with a
symbol which is valued as zero. In this way the user is easy to refer such
entered phase parameters in further defining other phase parameters.
Depending upon the chosen type of symbol (variable, function, table or parameter), the
different questions will be proceeded, as shown below:
If the symbol is a function, you will be asked to 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/: <low temperature limit in K>
For a function, specify the low temperature limit below which its (first) expression is not
applicable. The default low limit of all kinds of data is 298.15 K. The temperature
limits for the functions are checked during calculations, and if the actual temperature is
outside the given ranges, an indicator will be set.
If a negative number is given as the low temperature limit, it will be assumed that there
are breakpoints in pressure for this function, and it is interpreted as the low pressure
limit. The other limits will also be taken as pressure values.
Function: <definition for a function>
A function consists of terms in T and P. For further information, see Section 11.2.5
(Functions of Temperature and Pressure). 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. A function can have several
temperature ranges and a different expression for each region. The function must be
terminated by a semicolon “;” or an empty line. Not more than 80 characters can be
written on a line. If this is not sufficient space on one line, press <RETURN> and
continue on the next line. The program will prompt with an ampersand “&” that a
continuation is expected.
This question will be repeated if the function has more than one expression in various
temperature ranges.
& <continuation of the definition for the current function>
The ampersand “&” means that one may continue to write the function on the new line if
one line is not enough for the function. If one has finished the function, just press
<RETURN> again.
High temperature limit /6000/: <high temperature limit in K>
For a function, specify the high temperature limit, above which its current expression is
not applicable. The default high limit for all kinds of data is always 6000 K.
If a negative number has been given as the low temperature limit, it is interpreted as
the low pressure limit, and the high temperature limit will also be taken as the
high pressure limit for the current expression.
This question will be repeated if the function has more than one expression in various
temperature ranges. Note that all the temperature limits for the presently-be-entered
function MUST be in an increasing order; otherwise the whole function will be given a
single value of zero.
The high temperature limit for the current applicable expression will be the low
temperature limit for the next range if several ranges are needed to describe the
temperature dependence of this function. During calculations, an indicator will be set if
the actual temperature exceeds the highest temperature limit.
Any more ranges /N/: <Y or N>
If the user answers Y(YES) to this question, the program will ask 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: The user must himself make sure that the function and its first
derivatives are continuous across break points.
If the symbol is a table, one should 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 lowest temperature where the table has a value.
High temperature limit /6000/: <high temperature limit in K>
The highest temperature where the table has a value.
Step in temperature /100/: <temperature step>
The step in temperature between each value in the table. This step must be constant for
the whole table. If a table cannot be described with a single step it must be divided into
several tables for different temperature ranges. The upper and lower limits are
truncated to give reasonable values where the table values must be specified.
Table value at xxx /yy/: <table value>
The value of the table at the specified temperature (xxx) must be given. The default
value (yy) is the last value.
If the symbol is a parameter, one should input the correct name of a phase parameter (including its
identifier, phase name, constituent and interacting constituent(s) in various sublattices (if exist),
and degree of the parameter.
PARAMETER: <parameter name>
Specify a correct parameter name. If a parameter name is not acceptable or the user only
presses <RETURN>, the following warning message appears:
*** ERROR, PLEASE RE-ENTER EACH PART SEPARATELY
and the program will further prompt for separate input for each part for a parameter
name.
Identifier (/X/): <G or L, or TC, or BM>
Specify one of the following types of legal identifiers (G or L, or TC, or BM). Same as in
the ENTER_PARAMETER command.
Phase name (/ABCD/): <phase name>
Specify the phase name. Same as in the ENTER_PARAMETER command.
Constituent (in SUBLATTICE # /abc/): <species name>
Specify the constituent name. Same as in the ENTER_PARAMETER command.
INTERACTING CONSTITUENT (IN SUBLATTICE # /xyz/): <species name>
Specify the interacting constituent name; if there is no interacting constituent, just press
<RETURN>. Same as in the ENTER_PARAMETER command.
INTERACTING CONSTITUENT (IN SUBLATTICE # /xyz/): <species name>
If there are more than one interacting constituents, specify them; otherwise just press
<RETURN>. Same as in the ENTER_PARAMETER command.
Degree /#/: <degree>
Specify a numerical number as the degree for the phase parameter. Same as in the
ENTER_PARAMETER command.
11.10.5 ENTER_PARAMETER
Description: The user can enter TP-function(s) for a specific parameter for a phase interactively by
this command. If there is already a parameter expression defined (for this parameter), it is
deleted.
The entered TP-function(s) for the parameter could be changed later by the command
AMEND_PARAMETER (see Section 11.12.4).
The name of a parameter consists of several parts. The first is a type-identifier. The following
type-identifiers are legal: G (standard Gibbs energy and interaction parameter) and/or L
(interaction parameter), TC (Curie temperature), BM or BMAGN (Bohr magneton number).
One may also use L for interaction parameters; and on output L is always used for
interaction parameters. Note that the type-identifier BM is also used for Born function of
aqueous solution species.
The following new types of identifiers are available since TCCN and are further expanded
since TCCR:
V0 for the volume at 298.15 K and 1 bar (a numeric value only),
T
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 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
model used for the phase. If no semicolon and digit are given, the sub-index value is
assumed to be as zero.
One may use an asterisk, “*”, to denote that the parameter is independent of the constituents
of a specific sublattice. For example, L(L12,AL,NI:*), meaning the interaction
parameter is for the binary interaction between constituents AL and NI on the first
sublattice, while it is independent of all constituents on the second sublattice.
If you press <RETURN> when you are asked for a parameter name or if you have improperly
input the entire parameter name, you will be asked for each of these items in the name.
Synopsis: ENTER_PARAMETER
Ensuing Prompt: PARAMETER: <parameter name>
Specify a correct parameter name. If a parameter name is not acceptable or the user only
presses <RETURN>, the following warning message appears:
*** ERROR, PLEASE RE-ENTER EACH PART SEPARATELY
and the program will further prompt for separate input for each part for a parameter
name.
Note! To cancel the default value of the interacting constituent you must type NONE or
the name of another constituent.
This question will be repeated till all the interested interaction constituent(s) on a specific
sublattice in the phase have been specified, and finally a simple <RETURN> has been
enforced.
Degree /#/: <degree>
The meaning of the degree is model dependent. For binary interaction parameters, the
degree is usually the power in the Redlich-Kister expression. For ternary interaction
parameters, it is usually the Hillert ternary index.
This question may not be prompted if this command is used for entering G parameter for
a pure component.
After this prompt, the program will echo on the screen the full definition of the desired
phase parameter.
Low temperature limit /298.15/: <low temperature limit in K>
Specify the low temperature limit for the parameter's function. Same as for entering
functions
Function: <definition for a function>
A function consists of terms in T and P. Same as for entering functions.
& <continuation of the definition for the current function>
Continuation of function definition. Same as for entering functions.
High temperature limit /6000/: <high temperature limit in K>
Specify the high temperature limit for the parameter's function. Same as for entering
functions.
Any more ranges /N/: <Y or N>
Specify a Y(YES) for more function(s) or N(NO) for ending this command. Same as for
entering functions.
11.11.1 LIST_DATA
Description: All data for the entered system are written in a readable manner on the output file. If no output
file is specified, the data are shown up on screen.
The output data consists of a list of all elements and their 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.
Note that for encrypted databases since TCC version P, one may not be able to use this
command to list the any data.
Synopsis: LIST_DATA
Ensuing Prompt: OUTPUT TO SCREEN OR FILE /SCREEN/: <file name>
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 <RETURN>).
OPTIONS?: <option(s)>
Choose one or several of the following options for output:
N the output is written as a “user” database format.
P the output is written as a MACRO file for future input. This is useful for
creating *SETUP files for assessments.
S the symbols are suppressed.
R the references for the parameters are listed (only for some databases in
which references are available)
L the output is written suitable for a LaTeX preprocessor.
11.11.2 LIST_PHASE_DATA
Description: 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.
Note that for encrypted databases since TCC version P, one may not be able to use this
command to list the any phase data.
Synopsis 1: LIST_PHASE_DATA <phase name>
Synopsis 2: LIST_PHASE_DATA
Ensuing Prompt: PHASE NAME: <phase name>
Specify phase name (if abbreviated, it should be unique).
11.11.3 LIST_PARAMETER
Description: This command lists the TP-function(s) of a specific parameter for a phase on screen.
You must supply the name of the phase parameter; for more details, see the command
ENTER_PARAMETER.
The parameter name is (see more details as described in Section 11.4):
<identifier>(<phase>,<constituent array>;<digit>)
Examples of parameter names:
G(GAS,C1O2) The Gibbs energy of formation of a CO2 molecule in gas.
G(FCC,FE:VA) The Gibbs energy of formation of fcc Fe with interstitials.
L(LIQ,Fe,Cr;0) The regular solution parameter for Fe and Cr in liquid.
L(LIQ,Fe,Cr;1) The sub-regular solution parameter.
TC(BCC,Fe:Va) The Curie temperature of bcc Fe.
BMAGN(BCC,Fe:Va) The Bohr magneton number parameter of bcc Fe.
The name of a parameter consists of several parts. The first is a type-identifier. The following
type-identifiers are legal: G (standard Gibbs energy and interaction parameter) and/or L
(interaction parameter), TC (Curie temperature), BM or BMAGN (Bohr magneton number).
One may also use L for interaction parameters; and on output L is always used for
interaction parameters. Note that the type-identifier BM is also used for Born function of
aqueous solution species.
The following new types of identifiers are available since TCCN and are further expanded
since TCCR:
V0 for the volume at 298.15 K and 1 bar (a numeric value only),
T
11.11.4 LIST_SYMBOL
Description: This command lists on the screen the symbols available when TP-functions for the
entered model parameters for various phases in the system are entered.
Synopsis: LIST_SYMBOL
Ensuing Prompt: NAME: <symbol name>
Specify a symbol name. Note that only those symbols that match this name will be listed.
Or press <RETURN> for a list of all available symbols entered in the system.
OUTPUT TO SCREEN OR FILE /SCREEN/: <file name>
Specify the name of a file in which the entered symbols shall be written in a readable
manner (as a simple text file that can later on be opened and edited by a text editor).
The default value is the screen (by pressing <RETURN>).
11.11.5 LIST_CONSTITUENT
Description: This command lists on the screen all the constitution (as site-fractions) for all the phases in the
defined system. This is mainly for the benefit of the software managers. Note that there are
no commands in the GES monitor to set the constitution.
Synopsis: LIST_CONSTITUENT
11.11.6 LIST_STATUS
Description: This command lists the entered elements, phases and species with their status word. The
command is included mainly for the system managers' benefit.
Synopsis: LIST_STATUS
Important Note: Each element, species, phase and symbol has a set of status bits. The values of these bits are
listed by the LIST_STATUS command. They are normally of no interest to a user, but the
meaning is explained here.
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.
Element status word:
Bit Meaning
1 set if element cannot be deleted (only vacancy and electron)
2 set if suspended (inclusive OR of bit 3 and 4)
3 set if explicitly suspended
4 set if implicitly suspended (cannot occur for an element)
Species status word
Bit Meaning
1 set if species record for an element (each element has a species record)
2 set if suspended (inclusive OR of bit 3 and 4)
3 set if explicitly suspended
4 set if implicitly suspended (e.g., if a species element is suspended)
5 set if charged (inclusive OR of bit 6 and 7)
6 set if negative charge
7 set if positive charge
8 set if vacancy
9 set if component (by default the elements are the components)
Phase status word
Bit Meaning
1 set if ideal (no sublattices and no excess parameters)
2 set if suspended (inclusive OR of bit 3 and 4)
3 set if explicitly suspended
4 set if implicitly suspended (e.g., if all constituents suspended)
5 set if gas phase
6 set if liquid phase
7 set if solution phase
8 set if only one constituent (in each sublattice)
9 set if ions (inclusive OR of bit 10 and 12)
10 set if new ionic liquid model (charge balance handelled internally)
11 set if constituents cannot be added
12 set if external charge balance needed
13 set if aqueous model
14 set if charged species (ions)
15 set if dilute entropy
16 set if last calculation exceeded temperature range for any parameter
17 set if Kapoor-Frohberg-Gaye cell model
18 set if turbo calculation used
19 set if turbo calculation impossible
20 set if turbo calculation illegal
21 set if phase is not ideal
22 set if current site fractions saved
23 set if this phase is the ordered part
24 set if this phase is the disordered part (bit 2 & 3 also set)
25 set if shadow phase with diffusion data
26 set if error in ionic model
27 set sometimes
28 set if CVM-SRO (short-range ordering) entropy expression
29 set if CVM initialization has been made
30 used to test quasi-chemical ordering model
31 set if major constituents check even if no miscibility gap (ordering)
32 set if Hoch-Arpshofen model
Symbol status word
Bit Meaning
1 set if constant
2 set if variable
3 set if function
4 set if table
5 set if value must not be amended
6 set if undefined
11.12.1 AMEND_ELEMENT_DATA
Description: The data for an element can be changed by this command. It should only be used for the
elements that do not have any data in the database. Except for the mass the other values
have no influence on the calculations.
Synopsis: AMEND_ELEMENT_DATA
Ensuing Prompt: ELEMENT NAME: <element name>
Specify the name of the element for which you want to change the data.
NEW STABLE ELEMENT REFERENCE /ABCD/: <name of SER>
Press <RETURN> to accept the default SER or specify a new SER for the element.
Important Note: The default name of SER (the Stable Element Reference state) for
elements should not be changed, if for which data have been 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, one can specify a new
SER.
NEW ATOMIC MASS /xx.xxxx/: <yyyyyy>
Press <RETURN> 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 <RETURN> 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 <RETURN> to accept the default S(298.15) or specify a new value for the element.
S(298.15) is the The absolute value of the entropy at 298.15 K for the element in its
SER state.
Default element reference state symbol index /#/: <index>
Specify a proper index for the default listing parameters (symbol), or press <RETURN> to
accept the pre-set index.
The index is for defining the symbol printed in listings of parameters. The symbol can be
G, H298 or H0:
• G means that the data are referred to Gibbs energy at a variable temperature
(also called lattice stability).
• H298 means that the data are referred to the enthalpy of the element at 298.15 K
and 1 bar.
• H0 means the same as H298 but at the temperature 0 K.
Note that the index only changes the symbol, not any value! Normally the index is set
correctly by the database. Only when entering data manually, one must set the index to
get the correct symbol.
Index value Symbol
0 G
1 H298
2 H0
11.12.2 AMEND_PHASE_DESCRIPTION
Description: This command can be used to specify that a phase has a miscibility gap, special excess model
or that it has a specific additional contribution to its Gibbs energy.
Since TCCQ, there have been 19 options for a phase can be possibly amended; and since
TCCR, one more option (FRACTION_LIMITS) has been added on. They are summarized
in the following:
EXCESS_MODEL
MAGNETIC_ORDERING
DEBYE_HUCKEL
STATUS_BITS
NEW_CONSTITUENT
RENAME_PHASE
COMPOSITION_SETS
GLASS_TRANSITION
DISORDERED_PART
MAJOR_CONSTITUENT
ZRO2_TRANSITION
REMOVE_ADDITION
QUASICHEM_IONIC
QUASICHEM_FACT00
QUASICHEM_IRSID
TERNARY_EXTRAPOLAT
HKF_ELECTROSTATIC
DEFAULT_STABLE
SITE_RATIOS
FRACTION_LIMITS
Note that for various amending options, their corresponding ensuing prompts and answers are
different:
For COMPOSITION_SETS,
NEW HIGHEST SET NUMBER /#/: <set number n>
Major constituent(s) for sublattice 1: /AB/: <constituent(s)>
For NEW_CONSTITUENT,
SUBLATTICE /#/: <sublattice number>
SPECIES: <species name>
For MAJOR_CONSTITUENT,
Composition set /1/: <composition set number>
Major constituent(s) for sublattice 1: /AB/: <constituent(s)>
For RENAME_PHASE,
NEW PHASE NAME /ABCD/: <phase name>
For EXCESS_MODEL,
Model name /ABCDEFG/: <model name>
For TERNARY_EXTRAPOLAT,
Extrapolation method: /TOOP-KOHLER/: <ternary model>
For MAGNETIC_ORDERING,
THE ANTIFERROMAGNETIC FACTOR /xx/: <yy>
SHORT RANGE ORDER FRACTION OF THE ENTHALPY /xx/: <yy>
For DISORDERED_PART,
Disordered phase name: <phase name>
For STATUS_BITS,
New status word (in hexadecimal) /04204000/: <new status bits>
For SITE_RATIOS,
Sites in first sublattice /xx/: <yy>
Sites in ...
For FRACTION_LIMITS,
Element: <el>
Low fraction limit: /0/: <appropriate low limit>
High fraction limit: /1/: <appropriate high limit>
For BEBYE_HUCKEL, no ensuing prompt.
For HKF_ELECTROSTATIC, no ensuing prompt.
For GLASS_TRANSITION, no ensuing prompt.
For ZRO2_TRANSITION, no ensuing prompt.
For QUASICHEM_IONIC, no ensuing prompt.
For QUASICHEM_FACT00, no ensuing prompt.
For QUASICHEM_RISID, no ensuing prompt.
For REMOVE_ADDITION, no ensuing prompt.
For DEFAULT_STABLE, no ensuing prompt.
Synopsis: AMEND_PHASE_DESCRIPTION
Ensuing Prompt: PHASE NAME: <phase name>
Specify the name of the phase.
AMENT WHAT /COMPOSITION_SET/: <subject>
Several subjects for the phase can be amended but most often this command is used to
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.
By typing a question mark at the above prompt, a full list of all possibly amended
subjects for a phase can be obtained, as shown below:
AMENT WHAT /COMPOSITION_SET/: ?
You can amend
EXCESS_MODEL
MAGNETIC_ORDERING
DEBYE_HUCKEL
STATUS_BITS
NEW_CONSTITUENT
RENAME_PHASE
COMPOSITION_SETS
GLASS_TRANSITION
DISORDERED_PART
MAJOR_CONSTITUENT
ZRO2_TRANSITION
REMOVE_ADDITIONS
QUASICHEM_IONIC
QUASICHEM_FACT00
QUASICHEM_IRSID
TERNARY_EXTRAPOLAT
HKF_ELECTROSTATIC
DEFAULT_STABLE
SITE_RATIOS
FRACTION_LIMITS
In the following, it will be demonstrated that how to amend these different subjects for a
phase by this command (and its sequent prompts).
For COMPOSITION_SETS:
If the user wants to change the number of composition sets, he will be prompted:
NEW HIGHEST SET NUMBER /#/: <set number n>
The default value (#) will usually be 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 will be deleted. Note that one cannot take away the first
composition set.
GIVE FOR COMPOSITION SET n
Major constituent(s) for sublattice #: /AB/: <major constituent(s)>
Specify the new major constituent(s) for the sublattice #, or press <RETURN> to accept
the default one which was automatically set according to the specified composition set
of the phase.
This prompt will be 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.
For NEW_CONSTITUENT:
If a user wants to add a new constituent to a phase this can be done by this option. It is
illegal to add new constituents to the ionic liquid phase.
SUBLATTICE /#/: <sublattice number>
Specify the sublattice where the new constituents will locate.
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.
But in order to avoid this, the “two phase” description was developed. In this case the
parameters describing the disordered phase are not changed but the Gibbs Energy
system is simply informed that the Gibbs Energy for the two phases should be added.
This is done with the AMEND_PHASE_DESCRIPTION command using the option
DISORDERD_PART.
More information on this is given elsewhere in this part (see Section 10.3.10). But it may
be useful to give the actual method to calculate the Gibbs Energy of a “two phase”
model with two sublattices for ordering.
For REMOVE_ADDITION:
If the user wants to remove all the selected ADDITIONAL part from the Gibbs energy
description for the chosen phase, he can set this option.
For TERNARY_EXTRAPOLAT:
If the user wants to change the extrapolation method from the default Muggianu
Extrapolation of Redlich-Kister Model to others, he can set the option
TERNARY_EXTRAPOLAT.
Extrapolation method: /TOOP-KOHLER/: <ternary model>
Choose an appropriate ternary extrapolation model for the current solution phase, from
the following:
Redlich-Kister_Muggianu for Muggianu Extrapolation of R-K Model
Redlich-Kister_Kohler for Kohler Extrapolation of R-K Model
Toop-Kohler for Toop-Kohler Extrapolation Model
Kohler for Kohler Extrapolation Model
Muggianu for Muggianu Extrapolation Model
For SITE_RATIOS:
If the user for some reasons wants to change the number of sites in a sublattice phase, he
can use the option SITE_RATIOS.
Sites in first sublattice /xx/ : <yy>
Sites in second sublattice /xx/ : <yy>
. . . . . .
Specify the desired site numbers for each of the prompted sublattices for the current
phase. Pressing <RETURN> to accept the previous definitions.
For FRACTION_LIMITS:
Since TCCR, this useful option makes it possible to 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 will automatically ignore 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 GES module (by using this phase-description amendment option).
This is very important for solution phases for which the thermodynamic models and
assessed data for the phases are for specific composition ranges, for instance, 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 databases is only
applicable for H2O-dominant aqueous solution phase.
Element : <EL1>
Low fraction limit /0/ : <appropriate low limit>
High fraction limit /1/ : <appropriate high limit >
Element : <EL2>
Low fraction limit /0/ : <appropriate low limit>
High fraction limit /1/ : <appropriate high limit >
. . . . . .
Element : <ELn>
Low fraction limit /0/ : <appropriate low limit>
High fraction limit /1/ : <appropriate high limit >
Specify the desired 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). This has to be done for all the possible elements (defined in the phase) in a
single AMEND_PHASE_DESCRIPTION FRACTION_LIMITS command-sequence,
for instance,
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 !
11.12.3 AMEND_SYMBOL
Description: This command can be used to interactively calculate the current values of a function or table
(predefined by the switched database or previously entered by the ENTER_SYMBOL
command) at the current temperature and pressure condition, and also possible to modify
the definitions of variables or functions.
Note that the current values of the temperature and pressure used in calculating the functions
or tables are the ones listed in the LIST_STATUS command, and that there is no way to
change the current temperature and pressure values interactively.
For modifying the definitions of entered symbols (variable, functions or parameters), the
performance of this command is slightly different one from another, as described below:
♦ For variables, their values can be changed.
♦ For functions, their low and high temperature limits in various ranges (if any), as well
their expressions, can be changed.
♦ For parameters, their low and high temperature limits in various ranges (if any), as
well their expressions, can be changed.
Synopsis: AMEND_SYMBOL
Ensuing Prompt: NAME: <symbol name>
Specify the name of a previously entered symbol.
For tables and functions (or parameters which are treated as functions after they were
entered by the ENTER_SYMBOL command with the PARAMETER keyword, but not by
the ENTER_PARAMETER command), after the symbol name is specified here, the
program will automatically calculate their values under the current temperature and
pressure conditions, and lists out on screen their current values, such as:
FUNCTION VALUE 2.52500000E+01
TABLE VALUE 1.56000000E+02
For variable and functions (or parameters), there will be some further sequent prompts,
which are different depending upon the symbol type to be amended, as shown below:
For a variable:
Value /current value/: <new value>
For a variable, its current value is displayed, and the user can change it to a new value.
For a function (or an parameter entered as a symbol):
DO YOU WANT TO CHANGE THE NUMBER OF RANGES /NO/: <Y or N>
If the user wants to change the number of ranges for the chosen function, or change some
of the temperature limits in the definition, by typing Y(YES), he HAS TO RETYPE both
the low/high temperature limits and functions (see all the remaining details in the
ENTER_SYMBOL command. Sorry for that there is no other possibility to do so.
If the user does not want to change it, by pressing <RETURN> to accept the default
answer N(NO), the whole definition of the chosen function in all ranges (if any) will be
listed out on screen, such as:
DIFFERENT FUNCTIONS IN THESE RANGES
1 298.15<T<2000.00
2 2000.00<T<4500.00
3 4500.00<T<6000.00
and the followings will be prompted:
DO YOU WANT TO CHANGE RANGE LIMITS /NO/: <Y or N>
If there are more than one range, this question will be prompted. But, sorry again for that
this option (as intended by answering Y) has not been implemented yet. So you just
press <RETURN> here!
RANGE NUMBER (0 TO EXIT) /0/: <range number>
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 one can press <RETURN> 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. This routine prompts the user in the following way:
1:+:>
The prompt consists of the current position in the string and the character at that position
between colons, “::”.
The following commands can be given:
Help ?
Move CP to last or first character <+/-> A
Delete characters from CP <+-#characters> D
Exit E
Find <#occurences> F<string>@
Insert I<string>@
Move <+-#positions> M
Restore string R
Substitute S<OLD>@<NEW>@
Type string T
where CP denotes the current position in string, # means number of, @ is a terminator
of an input or search string.
Note that when the string is typed the character at the current position has been replaced
by an underscore “_”. This help can also be obtained on-line by typing “?”.
To finish the editing of the current function, one has to type E at the prompt.
RANGE NUMBER (0 TO EXIT) /0/: <range number>
Give a range number to edit that function, or press <RETURN> or type 0 to exit this
command.
11.12.4 AMEND_PARAMETER
Description: The user can interactively change the temperature-pressure function of a parameter with this
command. This is useful in order to correct typing errors because the old function will be
made available for interactive editing on the terminal. For details on how a parameter is
defined, see Section 11.10.5.
Synopsis: AMEND_PARAMETER
Ensuing Prompt: PARAMETER: <parameter name>
Specify a correct parameter name. If a parameter name is not acceptable or the user only
presses <RETURN>, the following warning message appears:
*** ERROR, PLEASE RE-ENTER EACH PART SEPARATELY
and the program will further prompt for separate input for each part for a parameter
name.
Identifier (/X/): <G or L, or TC, or BM>
Specify one of the following types of legal identifiers (G or L, or TC, or BM). Same as in
the ENTER_PARAMETER command.
Phase name (/ABCD/): <phase name>
Specify the phase name. Same as in the ENTER_PARAMETER command.
Constituent (in SUBLATTICE # /abc/): <species name>
Specify the constituent name. Same as in the ENTER_PARAMETER command.
INTERACTING CONSTITUENT (IN SUBLATTICE # /xyz/): <species name>
Specify the interacting constituent name; if there is no interacting constituent, just press
<RETURN>. Same as in the ENTER_PARAMETER command.
INTERACTING CONSTITUENT (IN SUBLATTICE # /xyz/): <species name>
If there are more than one interacting constituents, specify them; otherwise just press
<RETURN>. Same as in the ENTER_PARAMETER command.
11.12.5 CHANGE_STATUS
Description: 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 will show that which elements/species/phases have been
suspended or restored (entered). Consequently, the status bits for the specified elements or
species or phases will be changed, as listed by the LIST_STATUS command.
Synopsis 1: CHANGE_STATUS <keyword> <new status> <name1; name2; ...>
Synopsis 2: CHANGE_STATUS
Ensuing Prompt: FOR ELEMENT, SPECIES OR PHASE /SPECIES/: <keyword>
Specify the keyword (element or species or phase).
SUSPEND /Y/: <Y or N>
The status is changed from ENTERED to SUSPENDED (Y), or vice versa (N).
If an element is suspended all species with this element become implicitly SUSPENDED
too. A phase may become implicitly suspended if all its constituents or all constituents
in a sublattice are suspended.
List of ELEMENTS/SPECIES/PHASES: <name of elements or species or phases>
Specify the names or indices of those elements or species or phases that shall become
suspended or active. For names, they should be separated by a space and terminated
with a “;” 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 “;”.
Example:
5 1 7-12 FE;
11.12.6 PATCH_WORKSPACES
Description: This command is only for those who really know what they are doing.
Synopsis: PATCH_WORKSPACES
11.12.7 SET_R_AND_P_NORM
Description: 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.
Synopsis: SET_R_AND_P_NORM
Ensuing Prompt: VALUE OF GAS CONSTANT IN YOUR ENERGY UNITS /8.31451/: <new value>
The default value of the gas constant is in SI units (i.e., 8.31451). If the user changes this
value, it will only affect the interpretation of energy data given interactively from the
terminal, e.g., if the value is set to 1.98717 the user 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 will be divided by this value and
then multiplied with the value of one bar expressed in pascal before it is used inside the
GES system.
11.13.1 REINITIATE
Description: All data in the stored GES system are erased, and all variables are initiated to their default
values.
Synopsis: REINITATE
Ensuing Prompt: UPPER CASE ONLY /Y/: <Y or N>
The name of elements and species can be either in only UPPER case (by typing Y or
pressing <RETURN>), or the elements with two letter names have the first letter in
Upper and the second in lower case (by typing N). Note that in upper case mode all
input in lower case will be converted to upper case automatically.
LOWER TEMPERATURE LIMIT /298.15/: <lowest T in K>
This value will be used as the lower temperature limit when data are entered interactively.
UPPER TEMPERATURE LIMIT /6000/: <highest T in K>
This value will be 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 <RETURN> to
accept the preset index (1).
The index is for defining the symbol printed in listings of parameters. The symbol can be
G, H298 or H0:
• G means that the data are referred to Gibbs energy at a variable temperature
(also called lattice stability).
• H298 means that the data are referred to the enthalpy of the element at 298.15 K
and 1 bar.
• H0 means the same as H298 but at the temperature 0 K.
Note that the index only changes the symbol, not any value! Normally the index is set
correctly by the database. Only when entering data manually, one must set the index to
get the correct symbol.
Index value Symbol
0 G
1 H298
2 H0
11.13.2 DELETE
Description: Not implemented yet.
Synopsis: DELETE
11.14.1 SAVE_GES_WORKSPACE
Description: The data area used by the GES system can be saved on a file (with a default extension
“.GES5” under Windows, or “.ges5” under UNIX/Linux). The default file name is
“RESULT.GES5” or equal to the one used in a previous READ_GES_WORKSPACE
command. Note that the output is unformatted and cannot be printed.
Synopsis 1: SAVE_GES_WORKSPACE <file name>
Synopsis 2: SAVE_GES_WORKSPACE
Ensuing Prompt: WORKSPACE FILE /ABCD/: <file name>
Under UNIX and Linux, this prompt should be specified with name of the file where the
current GES5 workspace is written.
Under Windows XP/2000/NT4, a “Save As” window as shown in Figure 11-1 will pop
up instead. The user shall give a name in the “File name” box, for which the user
can further specify the working directory when he wish to save the file in the “Save
in” box. Normally the default file-type in the “Save as type” box is the proper
one for the GES5 workspace format (i.e., GES5 file).
Figure 11-1. The “Save As” window: Saving the GES5 workspace file.
Figure 11-2. The “Save As” warning window: Proceeding or canceling the saving.
If there is already one *.GES5 file with the same name saved in the current working
directory, a small screen with a warning message as shown in Figure 11-2 will pop up.
The user needs to either choose the “Yes” button to proceed a replacement of the
previous *.GES5 file or the “No” button to cancel the current saving. For the later
case, the user can either give another name or change the working directory in order to
save the current GES5 workspace onto a file.
11.14.2 READ_GES_WORKSPACE
Description: The data area previously saved on a file by a SAVE_GES_WORKSPACE command is read
back into the GES system. Note that these saved files are unique for each CPU type,
therefore one saved on one CPU type can not be used on another CPU type.
Synopsis 1: READ_GES_WORKSPACE <file name>
Synopsis 2: READ_GES_WORKSPACE
Ensuing Prompt: WORKSPACE FILE /ABCD/: <file name>
Under UNIX and Linux, this prompt should be specified with name of the file from
where a previously saved GES5 workspace is read.
Under Windows XP/2000/NT4, a “Open file” window as shown in Figure 11-3 will
pop up instead. The user shall give a name in the “File name” box, for which the
user can further specify the working directory when he wish to save the file in the
“Look in” box. Normally the default file-type in the “Files of type” box is the
proper one for the GES5 workspace format (i.e., GES5 file).
Figure 11-3. The “Open file” window: Opening the GES5 workspace file.
11.15.1 ADD_COMMENT
Description: This command allows users to jot down notes about parameters or something else that might
be difficult to figure out in the future.
Synopsis: ADD_COMMENT
11.15.2 SET_INTERACTIVE
Description: This command is useful in demonstration or MACRO files in order to stop execution of the
command file in the GES module. It has no meaning in interactive mode.
Synopsis: SET_INTERACTIVE
12.1 Introduction
The PARROT module ⇔ is another important and basic module of the Thermo-Calc (TCC) and DICTRA
software, with a comprehensive subroutine package for evaluation of thermodynamic and kinetic model
parameters from experimental observations of quantities describing a set of equilibrium states or dynamic
processes in various heterogeneous interaction systems. The module is interactively connected with all basic
modules in Thermo-Calc and DICTRA. At present moment, it is not available in the TCW software.
The PARROT module makes use of the GES module (the Gibbs Energy System) to handle the models of the
various phases that might form in a multicomponent system, as well of the POLY module (the Equilibrium
Calculation Module) to store and calculate complex heterogeneous equilibria. Before using the PARROT
module in Thermo-Calc, one should be familiar with the POLY module and also study the GES module. Many
respects about models, parameters, functions and equilibrium states are explained there. In the DICTRA
software, it also utilizes the DICTRA facility to store and simulate dynamic process properties in diffusion-
controlled phase transformations; for details see the DICTRA User's Guide.
The objective of the PARROT module is to provide a unified set of subroutines to be used in critical assessment
of various thermochemical and kinetic parameters against available experimental and literature data. Advanced
users of Thermo-Calc and DICTRA are highly encouraged to use this module in the courses of data assessment
and database establishment. However, due to its special purposes on critical assessment, this module has not
been included in the third-party application programming interface, i.e., the TQ Interface
Similar to other modules implemented in the Thermo-Calc and DICTRA software, the PARROT module
provides the users of application programs with a user interface with a set of simple and general commands for
both data editing and parameter optimization. Through such a user interface, one can interactively enter and
modify phase descriptions, model connections, basic thermodynamic parameters, and so on. The aim of this
User's Guide is to describe this user interface. The data editing task is done through PARROT’s sub-module
ED_EXP by calling the EDIT_EXPERIMENTS command (see details in Section 12.7.7 and Part 13).
Like the POLY and GES modules, the module has its own workspaces with dynamic memories. It transfers
continuously all kinds of thermodynamic/kinetic data and calculated equilibrium states or dynamic processes
into the POLY3, GES5 and DICTRA workspaces.
The following commands are available in the PARROT module:
PARROT:?
AMEND_PARAMETER LIST_ALL_VARIABLES REINITIATE
BACK LIST_CONDITIONS RESCALE_VARIABLES
COMPILE_EXPERIMENTS LIST_PARAMETER SAVE_PARROT_WORKSPACES
CONTINUE_OPTIMIZATION LIST_PHASE_DATA SET_ALTERNATE_MODE
CREATE_NEW_STORE_FILE LIST_RESULT SET_FIX_VARIABLE
EDIT_EXPERIMENTS LIST_STORE_FILE SET_INTERACTIVE
ENTER_PARAMETER LIST_SYMBOL_IN_GES SET_OPTIMIZING_CONDITION
EXIT MACRO_FILE_OPEN SET_OPTIMIZING_VARIABLE
GOTO_MODULE OPTIMIZE_VARIABLES SET_OUTPUT_LEVELS
HELP READ_PARROT_WORKSPACES SET_SCALED_VARIABLE
INFORMATION RECOVER_VARIABLES SET_STORE_FILE
PARROT:
⇔
Revision History of the PARROT Module User's Guide:
Feb 1984 First release (Edited by Bo Jansson)
Oct 1993 Second revised release (Edited by Birgitta Jönsson and Bo Jansson)
Sept 1998 Third revised release (Edited by Bo Sundman)
Jun 2000 Fourth revised and extended release (Edited by Bo Sundman and Pingfang Shi)
Nov 2002Fifth revised release (Edited by Bo Sundman and Pingfang Shi)
Jun 2004 Sixth revised release (Edited by Pingfang Shi); with minor changes in 2006
The critical assessment of thermodynamic model parameters to describe real systems have already proved to be
of industrial interest in understanding material properties, structures and processes. This is because a large effort
has been spent on determining the thermodynamic model parameters in all binary and many ternary and some
higher order systems with various models.
From such models and parameters, one may then predict the stable states for multicomponent systems.
Thermodynamic databases with up to 10-15 elements can accurately predict the stable states of some industrial
metallic systems, like steels, Al alloys, Ti alloys and Ni-based superalloys. Moreover, critical assessment work
under long-term international collaborations have made it possible to establish some large-scale, internally-
consistent thermodynamic databases for many kinds of applications, such as the SGTE Substance and Solution
Databases (which include as many as 83 elements at present).
One can summarize the advantages of critically assessing thermodynamic databases compared to fitting
different quantities separately as follows:
♦ Unique way to combine and reduce a large amount of experimental data to a few model parameters.
♦ Consistent assessment of experimental thermochemical and phase diagram data.
♦ Reliable interpolation and extrapolation of thermodynamic data.
♦ Useful tool for planning new experimental work.
♦ Basis for modeling and simulation of phase transformations.
The last point above is perhaps the most important. The understanding of many dynamic processes is often very
poor, and the sensitivity to changes in input and operating conditions must often be determined by trial and
error. Thermodynamics provide information not only about the stable state the system is trying to reach, but also
about chemical potentials and driving forces for the metastable states. This is essential in the kinetic modeling
and simulation of complex material processes.
For equilibria where all independent state variables are determined with negligible inaccuracy, the criteria for
the best fit, derived from the maximum likelihood principle, will be minimum in the sum of square of weighted
residuals. Inaccuracies in experimental conditions can be taken into account in two ways in the PARROT
module:
a) The inaccuracies in conditions, i.e., independent state variables, can be prescribed in the POLY interface.
In this case, an equilibrium will be calculated with the experimental values of independent state
variables. The standard deviations of the dependent state variables will be calculated by the error
propagation law presuming linear dependency of the dependent state variables on the independent
state variables.
b) The “true” value of the condition can be optimized by using one of the defined variables as the
condition. This can be obtained by the IMPORT command in the experimental data file. In this case,
the experimental observations of the independent state variable should be specified in the
EXPERIMENT command in experimental data file. The commands that can be used in the
experimental data file are a subset of the commands available in the POLY module with a few
extensions, and are detailed in the Part 13 (ED_EXP: the Edit-Experiment Module).
Both methods can be transformed to the problem of finding the minimum of the sum of squares. Method b) can
be used when several experiments have been performed under the same badly determined condition. Both
methods can be mixed in the same optimization run.
The set of variables that give a minimum in the sum of squares is found by subroutine VA05A from the Harwell
Subroutine Library.
The least square method can provide a good estimate of the model parameters, provided that:
♦ The randomness of the observed quantities has a Gaussian probability distribution.
♦ The observed quantities are only subject to random errors.
♦ The different experiments are uncorrelated
♦ The standard deviation of each observation can be estimated.
♦ The number of observations is large.
♦ The considered models are exact.
Almost none of these requirements is fulfilled in a normal thermodynamic assessment. But as there is no any
other better method available, one can only try to approach as close as possible.
The classical program for optimization of binary systems was developed by Dr. Lukas and is known as
BINGSS. In order to be compatible with this software, a number of utility programs to convert from BINGSS to
PARROT has been developed:
c2g The c2g (coe-to-ges) program transforms a BINGSS “COE” file to a setup file for PARROT entering
all elements, phases and parameters.
d2p The d2p (dat-to-pop) program transforms a BINGSS “DAT” file with experimental data to a “POP”
file.
t2c The t2c (tdb-to-coe) program transforms a Thermo-Calc “TDB” file to an “COE” file for BINGSS. This
is a way to extract parameters for the pure elements from the Thermo-Calc database for use in
BINGSS.
There is an example, tcex36, of an assessment of a fictitious system provided with the Thermo-Calc
software/database package, and described in the Thermo-Calc Examples Book. This should be studied
carefully. Other published assessments should also be studied, in particular to learn about models.
The assessor should first collect the available experimental results and literature data on the selected system,
and enter all experimental data on a file, called an *.POP file (because the default extension is .POP). The
experimental equilibria and measurements are described by POLY commands, with some additional features.
The commands that are legal in an *.POP file are described in a special part of Part 13 (ED_EXP: the Edit-
Experiment Module).
The *.POP file is very important as it describes the known experimental data for a system. Quite often the
same system must be reassessed some years later when new information is available, or if a model for a phase
should be changed. As the reassessment may be done by someone else, it is important that the information in the
POP file is well organized and documented. It should be readable to a human as well as to the program.
The syntax of the *.POP file is intended to be self documenting and also independent of the models used for
describing the phases in the system.
The recommended way to specify an experimental equilibrium is to be as close as possible to the actual
experimental conditions. Usually, the sets of stable phases are known, and also temperature, pressure and some
or all compositions.
The first five commands in this example are standard POLY commands and described in the POLY user's guide
(Part 8). But the first command, CREATE, is rarely used in the POLY module, and may deserve some
comments. Each experimental equilibrium must start with the CREATE command, and the first integer given
after the command is a unique identifier which is used later interactively to set weights for example. The second
integer is an initialization code, for which 0 means that all components and phases are initially suspended, 1
means that all components are entered but all phases suspended, 2 means all components and phase are initially
entered.
The last three commands, COMMENT, LABEL and EXPERIMENT, are only available for the experimental data
file and in the ED_EXP module. Such commands are described in detail in Part 13 (ED_EXP: the Edit-
Experiment Module.
The EXPERIMENT command specifies the quantity to be fitted by the optimization. The syntax of this
command is similar to the POLY command SET-CONDITION. It is followed by a state variable or a function
name and a value and an uncertainty.
The COMMENT command is followed by a text that will be saved in the work file of the optimization. One may
also give comments after a dollar sign, “$”, but these comments are lost when the experimental data file is
compiled (compilation will be described below).
The LABEL command provides a way to specify a set of equilibria that the user wants to treat as one entity
when setting weights. A label is maximum four characters and must start with the letter “A”.
The alternate conditions are needed to use this experiment for alternate mode calculations. Another example of
an invariant equilibrium is a congruent transformation:
CREATE-NEW-EQUILIBRIUM 1 1
CHANGE-STATUS PHASE BCC LIQUID=FIX 1
SET-COND P=1E5 X(BCC,B)-X(LIQ,B)=0
EXPERIMENT T=1213:10
SET-ALTERNATE-CONDITION X(BCC,B)=0.52 X(LIQ,B)=0.52
LABEL AINV
COMMENT Estimated compositions
With some experience from phase diagram evaluation, it is possible to estimate metastable invariant equilibria.
In particular such estimated metastable equilibria are useful to reduce the number of phases that are assessed
simultaneously. One may, for example, assume that a certain intermediate phase does not form and extrapolate
the liquidus curves below the stable three-phase equilibria and estimate temperatures and compositions of
metastable three-phase equilibria between two other phases and the liquid.
Another useful technique is to extrapolate a liquidus line from a peritectic equilibria to estimate the congruent
melting temperature of a compound. This may be more useful than the peritectic equilibria itself as it involves
only two phases.
In practice, quaternary and higher order information are used mainly to optimize binary or ternary parameters.
In ternary systems, it may be more important to use the feature that one may also have uncertainties on
conditions. A tie-line in a binary system is determined, if the two phases, the temperature and pressure are
known, and the composition of one of the phases is measured. For a tie-line in a ternary system, one must have
measured at least two compositions and often both have the same uncertainty. One may then assign an
uncertainty to the composition selected as condition. For example,
CREATE-NEW-EQUILIBRUM 1 1
CHANGE-STATUS FCC BCC=FIX 1
SET-CONDITION T=1273 P=1E5 X(FCC,B)=0.1:0.02
EXPERIMENT X(FCC,C)=0.12:.02
LABEL AFB
SET-ALTERNATE-COND X(BCC,B)=0.17 X(BCC,C)=0.07
One problem with binary assessments is that the experimental information can often be described almost
equally well by very different sets of model parameters. It is often the extrapolation of these assessments into
ternary systems that gives decisive information about which set of model parameters that is the best. Sometimes,
information from several ternary systems may be needed to decide the best description of a binary system.
Note that it is not a good technique to set the fraction of a third component to zero for a binary experimental
information; the command CHANGE_STATUS COMPONENT C=SUS is fragile. However, it may need manual
setting to work properly. An example of a binary (A-B) three-phase equilibrium (FCC-BCC-LIQ) in a ternary
system (A-B-C) is:
CREATE-NEW-EQUILIBRIUM 1 0
CHANGE-STATUS COMPONENT A B = ENTERED
CHANGE-STATUS PHASE FCC BCC LIQ=FIX 1
SET-COND P=1E5
EXPERIMENT T=1177:10
LABEL AAB
COMMENT from A-B
Note the use of initialization code 0 in the CREATE-NEW-EQUILIBRIUM command. This means that all
components must be entered.
For plotting a calculated diagram together with experimental data, it is recommended that the experimental data
is also written on a file according to the “DATAPOLT” format. This is described in Part 15 of this User's
Guide. In some cases, tables in the POP file can be easily converted to the DATAPLOT format. The default
extension of a DATAPLOT file is “.EXP” (under Windows) or “.exp” (under UNIX/Linux).
The second step is to create a “SETUP” file, which consists of definitions on the names of the elements, species
and phases, the models for the phases, and all known information like “lattice stabilities” or Gibbs energies of
formation.
Most values for the pure elements can be found in the collection made by Scientific Group Thermodata Europe
(SGTE) and published by Alan Dinsdale in the CALPHAD Journal (1991, 317-425). These can also be
extracted from the SGTE Pure Elements Database distributed freely with the Thermo-Calc package. In the GES
module there is a command LIST-DATA with option P that can be used to create a template setup file after
extracting the data from the PURE database. This template must be edited, and new phases and parameters must
be added. The default extension of a SETUP file is “.TCM”, this is short for the Thermo-Calc MACRO file.
At the end of a SETUP (TCM) file, the use of the PARROT command CREATE-NEW-STORE-FILE will
create a work file for the assessed system. See Section 12.2.4 for details of work files.
In order to make an assessment compatible with an existing database, the models for most solution phases often
have to be taken from the database. For inter-metallic phases, it may be important to determine if a phase has
the same structure as the phase in another system.
The variables are called V1 to V99, and they are used when entering functions and parameters to be optimized.
For example,
ENTER-PARAM L(LIQUID,AU,CU;0) 298.15 V1+V2*T; 6000 N
ENTER-PARAM L(LIQUID,AU,CU;1) 298.15 V3+V4*T; 6000 N
ENTER-PARAM L(LIQUID,AU,CU;2) 298.15 V5+V6*T; 6000 N
makes it possible to use 3 Redlish-Kister coefficients, each linearly temperature dependent, to express the Gibbs
energy for a liquid phase. The variables V1 to V6 can then be optimized to describe the experimental
information. In the setup file, one often introduces more variables than will be needed, as it is convenient to
have them in sequential order for each phase.
In some cases, a model requires that several thermodynamic parameters are related, and this can be conveniently
handled by using the same variables for several parameters. For example, the parameters for an B2-ordered
phase can be described as follows:
ENTER-FUNCTION GAB 298.15 V10+V11*T; 6000 N
ENTER-PARAMETER G(B2,A:B) 298.15 GAB; 6000 N
ENTER-PARAMETER G(B2,B:A) 298.15 GAB; 6000 N
A stoichiometric compound with measured heat capacity data may require several variables to describe its
temperature dependence, for example,
ENTER-PARAMETER G(MG2SI,MG:SI) 298.15 V20+V21*T+V22*T*LN(T)+ V23*T**(-1)
+V24*T**2+V25*T**3; 6000 N
It is possible to optimize all kinds of parameters in the GES systems that can be described as functions of
temperature, pressure and composition. Examples are: standard enthalpy of formation, entropy, thermal
capacity, molar volume, thermal expansivity, compressibility, Curie temperature for magnetic transformations,
Born function, etc.
As mentioned above in Section 12.2.3, at the end of a SETUP (TCM) file, the use of the PARROT command
CREATE-NEW-STORE-FILE will create a work file (or called store file) for the assessed system. Such a
work file can also be interactively created in the PARROT module by the same command CREATE-NEW-
STORE-FILE. All current data on the definitions of the system (elements, species, components, phases),
symbols (constants, variables, functions, tables), parameters, etc., which are stored in the workspace used by the
GES, POLY and PARROT modules, but not any experimental information, will be automatically saved on such
a work file.
The work file has a default extension “.PAR” (under Windows and UNIX/LINUX). Note that such work files
cannot be edited directly by any editor. Moreover, they are hardware dependent (meaning that they are unique
for each CPU type, therefore a work file saved on one CPU type can not be used on another CPU type).
As all files have different extensions, it is possible to use the same name for all files for an assessment. Thus for
the Au-Cu system, one may have aucu.POP, aucu.EXP, aucu.TCM and aucu.PAR. In particular, the
work file (PAR) may exist in several copies during the assessment. But it is recommended to update the text
files, POP, TCM and EXP, to reflect all changes made interactively in the PAR file.
The text files, i.e., the *SETUP file, the *.POP file, the *.TCM files and the *.EXP file, are important
documentation of the assessment. At the end of the assessment, these should be updated in such a way that it is
possible to directly run the *SETUP file, to compile the experiments and to make optimization, so that it is fast
to get the final results. This requires that the final weights are entered in the *.POP file and the final parameters
set as start values of the parameters. With such a set of files, it is easier to reassess the system using new
experimental data or new models.
Some cares must also be taken of the work file (*.PAR). This always contains the last optimized set of
parameters and the weights of the selected experiments. The work file contains a workspace for POLY3 and for
GES5. When a diagram is calculated from the current work file, an *.POLY3 file is created. This *.POLY3
file will have a copy of the current set of parameters. If some further optimization is done, and the user then by
accident tries to read the old *.POLY3 file, he may destroy the new set of parameters and overwrite them by
the old set. Thus one MUST NEVER READ an *.POLY3 or *.GES5 file while running PARROT. But one
may of course SAVE new *.POLY3 or *.GES5 files, for example, when calculating diagrams from the
current set of parameters.
With the three files, POP, SETUP and EXP, the user can start running PARROT interactively. This can be
divided into some initial separate steps. Usually, these steps have to be repeated, by cyclically modifying
weights, modifying models, adding new information, etc. It is actually difficult to decide when an assessment is
finished. It is quite often that the deadline for the publication sets the limit for the work.
The commands on the SETUP file are executed by the MACRO command. There is usually a number of error
messages, and the SETUP file must be corrected and rerun until there are no errors. In the PARROT module,
one can list interactively the descriptions of the phases, the parameter expressions and values of the optimizing
variables. After a successful run of the SETUP file, one should check that if all models and parameters have
been entered correctly.
Recently, this problem has been simplified in the PARROT module by introducing the Alternate Mode. The
command SET-ALTERNATE-MODE YES means that experimental equilibria involving two or more phases
are calculated with an approximate technique (which will be described in a separate section below). The user
may make a selection of the experimental information to be used by setting weights in the ED_EXP module.
The OPTIMIZE command in the PARROT module is then used with the alternate mode until it has converged.
Several OPTIMIZE commands are usually needed, and maybe the user will have to change the selection of
experimental data. This is again done in the ED_EXP module. The result of an optimization is obtained in a
readable form for a human with the command LIST-RESULT. The work file (PAR) is continuously updated
and always contains the last set of optimized variables and calculated results. Sometimes the user may be
interested in saving a copy of the current work file when trying various selections of experimental data or
models. This is done by making a copy of the work file and give the copy another name.
When the selected set of equilibria can be calculated in the ED_EXP module, the user should calculate all
experimental points once again in the PARROT module using the OPTIMIZE command with only 0 iterations.
The output from the LIST-RESULT command should be carefully examined.
In this output, the experimental information that is badly fitted will be marked with an asterisk “*” in the
rightmost column. It is not a problem that many experimental data are badly fitted at this initial stage, but one
should be careful with errors that the optimizer in PARROT may not be able to solve by itself. A typical case of
such a problem is when a phase has a congruent melting and there are experimental information on both sides of
the congruent transformation. If the composition of the phase is the experimental information, it may happen
that the calculated equilibria is on the “wrong” side of the congruent point and thus give a large error. The user
must correct such problems manually in the ED_EXP module. A similar error may occur for miscibility gaps
when the experimental information is from one side and the calculation gives the composition of the other side.
The assessor must also determine a reasonable set of model parameters to be optimized. With more parameters,
the sum of errors usually decrease, but at the same time the parameters become less well determined. A measure
of the significance of the parameters is given by the column Relative Standard Deviation, RSD, listed for each
optimized variable. The meaning of RSD is that the parameter can be changed +/- with this factor without
changing the reduced sum of error with more than one unit. A large RSD thus means that the variable is badly
determined.
The value of RSD is significant only when the user has run the optimization after a RESCALE command and it
has converged almost immediately, i.e., the “scaling factor” is the same as the “value”. If there are variables
with a RSD larger than unity, it means too many variables have been used.
The values of RSD depend also on the weighting of the experiments. It may be possible to reduce the RSD by
changing the weights.
If one has one or more variables with RSD larger than unity, one should try to remove one or more optimizing
variables by setting them to zero, or to some value that can be determined from other information, for example,
by some semi-empirical estimation methods.
A problem using OPTIMIZE several times to make the optimization converge is that sometimes a parameter
may suddenly start to change by several orders of magnitudes. This behavior may lead to impossible parameter
values, and requires a careful reconsideration of the weighting of the critical set of experiments and of the
parameters that are optimized.
There is a reasonable range in which the parameter values should be restricted. To find interaction parameters of
the order 1E7 for the temperature-independent part and 1E3 for the temperature-dependent part is a clear
indication of a bad weighting of the experiments or using too many parameters.
If the user is still not satisfied with the overall fit, he has to change the weights or add more information to force
the optimization in the right direction. The success in such manipulations depends on the skill of the assessor.
Such analysis should also be commented in the report and publication from the assessment.
When all optimizing variables have a relative standard deviation (RSD) lower than unity, one may accept this as
a final set of parameters of the assessment. However, all the parameters have many digits, and they must be
rounded off in some way. The simplest rounding off when dealing with metallic system is usually to keep as
many digits as will give less than one J/mol difference at 1000 K. For aqueous systems or systems assessed for
very different temperature ranges, one may have to use other criteria. But a rounding off that give larger
differences than one J/mol may give detectable changes in the phase diagram or with other experimental data.
There is also another philosophy when rounding off parameters. One starts by considering the variable with the
highest RSD, usually larger than 0.1. Basically, this means that there is only one significant digit in this
variable. One may thus round it off to just one digit and trailing zeroes. However, this will change the sum of
errors and the remaining variables must be re-optimized with the rounded variable fixed. One should reach
almost the same reduced sum of errors with the remaining variables; otherwise the variable set fixed was not the
best to round off.
When rounding off the first variable to one digit has been successful, one may continue to round of the variable
with the largest RSD in the new set, and set it fixed and re-optimize the remaining. This can continue until there
is just one variable left. The final sum of errors should not deviate significantly from the initial one. The
rounded parameters are easier to handle than those just rounded with many non-zero digits. A valid critique of
the second type of rounding is that the variables are not dimensionless. Thus, if the Avogadros number is
changed, the variables must be changed, and they will no longer have trailing zeroes.
It is possible to change almost everything from the initial SETUP and POP files interactively. For example, one
may add more parameters to be optimized, modify or add more experimental information. But there are some
changes that will destroy the data structure, and it thus requires that the experimental data file (POP) is
recompiled. An example of such a change is to add more composition sets to a phase. This actually changes the
number of phases, and this will destroy the links between the experimental data and the thermodynamic models.
Thus the POP file must be recompiled, and it is then important that the POP file reflects the changes made
interactively in the ED_EXP module.
One practical problem with recompiling the POP file may also be that the experimental equilibria will be
calculated with the default start values of all compositions. In some systems, the equilibria require manual start
values, and the recompilation of the POP file may then require careful massaging of the experimental equilibria
to converge again. To simplify the recompilation, it is recommended to set major constituents for the phases
same as these are used in the default start values (see Section 11.12.2 in the GES User's Guide for details). It is
possible to provide start values of the constitutions of the phases in the POP file.
For a binary system in a single-phase region, one may have measured the temperature, pressure, composition
and 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. In a two-phase region at given temperature and
pressure, one may have determined the stable phases and the composition of one or both phases. The
temperature, pressure and set of phases are sufficient to determine the equilibrium, and the compositions are
then possible to use as experimental data.
Since TCCQ, the improved ALTERNATE mode is possible to include functions to be evaluated together with an
alternate calculation and to select ALTERNATE mode for each experimental equilibrium.
Instead of requiring that an equilibrium should be calculated between two or more phases, PARROT now
supports an “alternate” technique to calculate such experimental information. The alternate technique calculates
the thermodynamic properties for each phase separately, and the program uses as “experimental information”
the difference in chemical potential for the components in each phase. The model parameters are then adjusted
to make the chemical potentials of all components the same. This is not a new technique, it has also been
possible to describe equilibria in this way in PARROT earlier, but it has been cumbersome and difficult. In the
BINGSS software, the options IVERS=1 or IVERS=3 have been available from the beginning, and these make
use of the same technique as the alternate mode to calculate chemical potentials for each phase separately rather
than the full equilibrium.
The equilibrium above can be calculated with alternate mode without any modification. PARROT will use the
values given as EXPERIMENT as condition when calculating the thermodynamic properties of each phase. But
if just one side of the tie-line has been measured, one must provide an estimate of the composition of the other
phase. This can be added by the SET-ALTERNATE-CONDITION command in the POP file. A command
SET-ALT-COND is ignored unless the alternate mode is set. The same example as above would then be:
CREATE 1 1
The alternate mode should only be used in the beginning of an assessment before reasonable model parameters
have been determined that makes it possible to calculate the experimental equilibria in the normal way. But it
will be a big relief to new users if using the alternate mode, as it required great skill and experience to guess
such start values in the normal mode.
A three-phase equilibrium may have some compositions determined experimentally, and some can be provided
as alternate conditions:
CREATE 1 1
CH-ST PH FCC BCC LIQ=FIX 1
SET-COND P=1E5
EXPERIMENT T=912:5 X(LIQ,B)=0.2:.02
SET-ALT-COND X(FCC,B)=0.1 X(BCC,B)=.4
A composition of a stoichiometric phase MUST be given with 7 correct digits. For example,
CREATE 1 1
CH-ST PH LIQ A2B=FIX 1
SET-COND P=1E5 X(LIQ,B)=0.2
EXPERIMENT T=992:5
SET-ALT-COND X(A2B,B)=.6666667
Note that experimental information on equilibria involving phases with the status ENTERED or DORMANT will
be ignored by the alternate mode.
1) Use as few experiments as possible initially to get a reasonable overall fit. In particular, the invariant
equilibria are useful, also the metastable states that can be estimated by excluding some phases. The
estimated equilibria should be excluded in the final optimization.
2) If you have 100 activity measurements in a system but only 10 composition points from the phase
diagram, you may have to decrease the weights on the activity experiments.
3) It may be interesting to exclude some or all intermediate phases initially and just optimize the liquid and
the terminal (end-member) phases (for the pure components). It is always interesting to calculate the
metastable phase diagram with just these phases, also at later stages in the optimization. The metastable
solubility lines should not have any strange kinks or turns.
4) Phases with miscibility gaps, as well metastable phases, are always problematic. Try to keep control of the
miscibility gaps by some real or estimated experimental information. Unfortunately, it is not possible
to calculate the top of a miscibility gap as a single equilibrium.
5) Phases with order/disorder transformation are also problematic. They quite often require manual start
values, and sometimes the ordered state may disappear during the optimization. It may help to add an
experiment that controls the state of order.
6) The alternate mode is a very new feature in PARROT, and no one has much experience with it. It should
only be used to find an initial set of model parameters that can be used to make the experimental
equilibria possible to calculate in the normal mode.
7) When the liquid and some solution phases have been fitted reasonably well, the optimizing variables
describing these phases can be set fixed, and the variables for the intermediary phases can then be
optimized.
8) A final optimization with all variables and all experimental information, with the appropriate weighting,
should be made.
9) Check continuously that the optimized variables are within a reasonable range of values. When a variable
starts to change several orders of magnitudes during an optimization, one must reconsider the
experimental weights and if too many parameters are used.
In some cases, one may find measurements of the same quantity that is widely different. In principle, all
available experimental data should be entered into the POP file, unless there are obvious reasons, for instance,
not pure samples used in the experiments, for such data some sets can be rejected.
But during the optimization, one should not include two conflicting sets at the same time but only use one at a
time together with the rest of the data. This follows from a simple rule by Bo Jansson: if you have two
conflicting datasets, then either one or the other may be correct or both are wrong. Both cannot be correct.
Hopefully, the optimization can make it clear which dataset is most in agreement with the other information on
the system.
There are also cases when conflicting data cannot be detected directly. For example, activity data may not be
possible to reconcile with solubility data from the phase diagram. This is indicated by large errors in the fit
when both datasets are included. Thus it may be necessary to try to optimize with some datasets excluded to
find these inconsistencies.
In some systems, there are very little data. That does not mean one should fit the available data uncritically with
high accuracy without considering the possible errors. One may look for data in systems with similar elements
to get an idea about reasonable estimates of lacking data or use ab initio calculations or semi-empirical methods
for estimations.
One can say that a perfect assessment result for a complex system can hardly be obtained, especially when time
is concerned. A rough estimate of the time spent on an assessment is:
♦ 25% for collecting available experimental data and creating the POP, SETUP and EXP files, correcting and
updating them.
♦ 25% for “optimizing the weights” to find the correct balance between various experimental information
and to select a critical set of experimental information.
♦ 25% for optimizing the parameter values.
♦ 25% for writing the report. Quite often one has to go back and re-optimize when one finds that a selection
or decision made during the optimization cannot be explained or defended in the report.
Usually, an assessment is considered better when fewer adjustable variables are needed to get the same level of
fitting. Of course, it does not matter much if 24 or 25 parameters were needed.
But if one can get almost the same fit with 8 parameters instead of 12, then the assessment with 8 can be
considered a superior fit. However, in an assessment, one may put different weights on different information
and it is very difficult to compare assessments. For example, the Fe-Al system may be assessed by one person
for incorporation in a database for Al, and by another assessor for incorporation in a database for Fe. Quite
likely the assessors will have very different opinions on which information that is important to fit, and may end
up with a very different number of parameters.
Another very important reason to use a small number of parameters is that the assessment will be used for
extrapolations into higher order systems. By experience, it has been found that the fewer parameters that is used
in the binary systems the fewer problems occur in higher order systems.
A model parameter, i.e., a TP-function in GES, is called a “PARAMETER” in the PARROT module. An
entity that can be optimized must have a single numeric value and is called a “VARIABLE”. In the present
version of the PARROT module, 99 variables, named V1 to V99 are predefined. The variables are entered into
the symbol list in the GES5 workspace, and can thus be used in the definition of model parameter expressions in
the PARROT workspace. The variables can also be used in the equilibrium description by the IMPORT
command. The user can prescribe fixed values for the variables or evaluate their “best” value in an
optimization. At initiation, all variables are set fixed with the numerical value equal to zero.
The PARROT workspace is very closely connected to the GES5, POLY3 and DICTRA workspaces, and a
PARROT work file (*.PAR) normally contains relevant parts for PARROT, GES, POLY and DICTRA modules
simultaneously.
The system definition (*SETUP) file will usually initialize the PARROT workspace, as well the GES5 and
POLY3 workspaces which are associated with the PARROT workspace.
Because the ED_EXP module is actually a sub-module of the PARROT module, the performance of any
ED_EXP commands or experimental data (*.POP) file commands will modify in the PARROT workspace.
The graphical experimental data (*.EXP) does not influence the PARROT workspace.
For user's convenience, many GES commands are also available in the PARROT module.
The user interface of the PARROT module is constructed to be used in an interactive session on a time sharing
computer. The main feature of its user interface is a command monitor, and the user can control the actions of
the program by typing the appropriate commands.
The commands of the PARROT module often consists of several words separated by a hyphen “-” or an
underscore “_” character. The hyphen and underscore characters are treated as identical. The commands can be
abbreviated until they become ambiguous, and each part between hyphens or underscore can be shortened.
Trailing parts of a command can be omitted if they are not necessary to distinguish between commands.
Many of the commands require that some parameter values are specified. If the <RETURN> key is pressed after
the command, the program will ask for these values. Usually the program suggests a default value given
between slashes “//”, and the user can accept this value by just hitting the <RETURN> key, or the user specify
another value. If the user knows which parameters are required in consequence by a command, all parameters
values can be entered on the same line as the command.
There are two commands for help in general. However, the most important help facility is the possibility to type
a question mark, “?”, anytime you are asked a question you do not fully understand. You should then be given a
concise description of what the program wants you to give as input. In some cases a more extensive description
can be obtained by typing two question marks, “??”.
12.6.1 GOTO_MODULE
Description: This command switches between modules. The name of the desired module must also be
typed. In order to obtain a list of available modules, press the <RETURN> key (also see
Section 5.4.11).
Synopsis 1: GOTO_MODULE <module name>
Synopsis 2: GOTO_MODULE
Ensuing Prompt: MODULE NAME:
NO SUCH MODULE, USE ANY OF THESE:
SYSTEM_UTILITIES
GIBBS_ENERGY_SYSTEM
TABULATION_REACTION
POLY_3
BINARY_DIAGRAM_EASY
DATABASE_RETRIEVAL
REACTOR_SIMULATOR_3
PARROT
POTENTIAL_DIAGRAM
SCHEIL_SIMULATION
POURBAIX_DIAGRAM
TERNARY_DIAGRAM
MODULE NAME: <module name>
Options: module name -- the name of the module to subsequently open
12.6.2 HELP
Description: This command lists the available commands or gives an explanation of a specified command.
Synopsis 1: HELP <command name>
Synopsis 2: HELP
Ensuing Prompt: COMMAND: <command name>
Options: command name -- the name of the command (one of the PARROT-module commands) to
obtain help.
Notes: Pressing the <RETURN> key without typing a command name will list all the available
PARROT commands.
Specifying a unique command will print an explanation of that command on the screen
(usually the same text as found in this User’s Guide).
Typing a command abbreviation which is not unique will list all matching commands. The
desired command information can be obtained by typing a unique abbreviation or the
complete command name.
12.6.3 INFORMATION
Description: Basic information about various PARROT subjects (concepts and models) can be obtained
with this command for a number of subjects, as they are described in different parts of this
chapter.
Synopsis: INFORMATION
Ensuing Prompt: WHICH SUBJECT /PURPOSE/: <subject name>
The name of the subject must be given. Extensive information is available for various
subjects as listed below (this list can be seen if typing a question mark “?”):
12.6.4 BACK
Description: This command switches control back to the most recent module. See also GOTO_MODULE.
Synopsis: BACK
12.6.5 SET_INTERACTIVE
Description: This command resets the input and output units to their initial values, i.e., keyboard and
screen. Remember to add this as the last command to your MACRO files.
Synopsis: SET_INTERACTIVE
12.6.6 EXIT
Description: This command terminates the program and returns to the operating system. Unless a SAVE
command has been executed (in either the GES, POLY or PARROT module), all data and
results will be lost.
Synopsis: EXIT
12.7.1 CREATE_NEW_STORE_FILE
Description: The user must create a file to be used as a “work” file (or called store file) before any
optimization can be done. The workspace used by the GES, POLY and PARROT modules
will be stored automatically on the work file but not any experimental information. The
work file has a default extension “.PAR” under Windows and UNIX/Linux. Important note
that this file is hardware dependent, and cannot be read by any text editor.
A work file that has been created at a previous run can be used in the PARROT module by the
other command SET-STORE-FILE (see Section 12.7.2).
Synopsis: CREATE_NEW_STORE_FILE
Ensuing Prompt: STORE FILE /ABCD/: <file name>
Under UNIX and Linux, this prompt should be specified with name of the desired store
file where the current PARROT/GES5/POLY3 workspace is written. If one work file
has been previously created (by this command), or set (by the SET-STORE-FILE
command) or opened (by the READ_WORKSPACE command), its name will be set as
default.
Under Windows XP/2000/NT4, a “Save As” window as shown in Figure 12-1 will pop
up instead. The user shall give a name in the “File name” box, for which the user
can further specify the working directory when he wish to save the file in the “Save
in” box. Normally the default file-type in the “Save as type” box is the proper
one for the PARROT workspace format (i.e., PAR file).
Figure 12-1. The “Save As” window: Creating a stored work file.
If there is already one work (PAR) file with the same name saved in the current
working directory, a small screen with a warning message as shown in Figure 12-2 will
pop up. The user needs to either choose the Yes button to proceed a replacement of the
previous PAR file or the No button to cancel the current saving. For the later case, the
user can either give another name or change the working directory in order to save the
current PARROT workspace onto a file.
Figure 11-2. The “Save As” warning window: Proceeding or cancelling the creating.
12.7.2 SET_STORE_FILE
Description: The user can use this command to specify a store file (work file) to be used for compilation
and optimization. The file must have been created as a store file, see the CREATE-NEW-
STORE-FILE command. The workspace used by GES, POLY and PARROT is read from
the specified store file (with a default extension “.PAR”).
Synopsis: SET_STORE_FILE
Ensuing Prompt: STORE FILE /ABCD/: <file name>
Under UNIX and Linux, this prompt should be specified with name of the stored work
file from where a previously saved PARROT/GES5/POLY3 workspace is read. If one
work file has been previously set (by this command), or created (by the CREATE-
NEW-STORE-FILE command) or opened (by the READ_WORKSPACE command), its
name will be set as default.
Under Windows XP/2000/NT4, a “Open file” window as shown in Figure 12-3 will
pop up instead. The user shall give a name in the “File name” box, for which the
user can further specify the working directory when he wish to save the file in the
“Look in” box. Normally the default file-type in the “Files of type” box is the
proper one for the PARROT workspace format (i.e., PAR file).
Figure 11-3. The “Open file” window: Setting a stored PARROT workspace file.
12.7.3 COMPILE_EXPERIMENT
Description: The description of the experimental equilibria saved on a POP file, given as commands in the
POLY and ED_EXP syntax, is compiled into the PARROT structured data (i.e., stored into
the current work file which has been created or opened or set prior to this command).
Note that if a syntax error in the commands is detected, the compilation will be terminated,
then the user needs to correct that error in the POP file by using a text editor) and recompile
it with the work (store) file.
Synopsis: COMPILE_EXPERIMENT
Ensuing Prompt: INPUT FILE /ABCD/: <file name>
Under UNIX and Linux, this prompt should be specified with name of the experimental
data file (POP) from where all description of experimental equilibrium information will
be read and compiled by this command. If one POP file has been previously compiled
(by this command), its name will be set as default.
Under Windows XP/2000/NT4, a “Open file” window as shown in Figure 12-4 will
pop up instead. The user shall give a name in the “File name” box, for which the
user can further specify the working directory when he wish to save the file in the
“Look in” box. Normally the default file-type in the “Files of type” box is the
proper one for the experimental data format (i.e., POP file).
OUTPUT TO SCREEN OR FILE /SCREEN/: <file name>
A list of the source code in the POP file and error messages during compilation will be
written on screen (by pressing <RETURN>) or on the list file under a specific file name
which can later on be opened and edited by simple text editor.
INITIATE STORE FILE /Y/: <Y or N>
After a successful compilation, the data in the workspace of POLY3 is stored as a new
block of equilibria on the current work (store) file. If the user specifies that the store
file should be initiated before compilation (Y), only the compiled block will be stored
on the current work file (consequently, the *.PAR file will be updated). If a negative
answer (N) is chosen here, the current work file will not be changed.
Figure 11-4. The “Open file” window: Opening an experimental data *.POP file.
12.7.4 SET_ALTERNATE_MODE
Description: This command can turn on or off the alternate mode. The alternate mode is described in detail
elsewhere. It should be used only to optimize start values of the model parameters in the
beginning of the assessment.
Since TCCQ, the improved ALTERNATE mode is possible to include functions to be
evaluated together with an alternate calculation and to select ALTERNATE mode for each
experimental equilibrium.
Synopsis: SET_ALTERNATE_MODE
Ensuing Prompt: On /Y/: <Y or N>
The default answer Y will turn on the alternate mode. Anything else will turn it off.
12.7.5 SET_OPTIMIZING_VARIABLE
Description: By this command the user can specify which variable value should be estimated at the
optimization. Such a variable may have a value of zero or another start value, or may have
been fixed by the SET-FIX-VARIABLE command (see Section 12.7.6) prior to the
previous optimization run.
For a good reference prior to proceeding this command, a list of all variables (which have
been used in defining various parameters for phases in the optimizing system, as pre-
entered in the SETUP file or interactively entered in the GES module) can be obtained by
using the LIST-ALL-VARIABLE command (see Section 12.7.11).
Synopsis: SET_OPTIMIZING_VARIABLE
Ensuing Prompt: VARIABLE NUMBER: <variable number(s)>
Specify the number(s) for the variable(s) to be set. Any non-zero parameter within the
range will be allowed to be optimized. A parameter with a current value equal to zero
must be specified explicitly here in order to be optimized.
One may 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 will be asked.
START VALUE /xxxx.xxxxx/: <a guess value>
Specify a start guess of the optimum value (only when one variable number has been
specified at the previous prompt). The current numerical value for the selected variable
will be shown as default.
Note that this guess is very critical as the initial guess of all parameters must make it
possible to calculate the selected equilibria.
If a range of variable numbers has been specified at the previous prompt, this question
will not be prompted, and their current values (as start values) will not be changed.
12.7.6 SET_FIX_VARIABLE
Description: The user can prescribe a fixed value to a variable. The variable will be considered as a
constant at the optimization. Normally, one can do so after some 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 the SET-OPTIMIZING-
VARIABLE command (see Section 12.7.5).
Synopsis: SET_FIX_VARIABLE
Ensuing Prompt: VARIABLE NUMBER: <variable number(s)>
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., 2-8. The parameters within the
limits will be 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 has been specified at the previous prompt). The current value for the selected
variable will be shown as default.
If a range of variable numbers has been specified at the previous prompt, this question
will not be prompted, and their current values will be used as fixed values.
12.7.7 EDIT_EXPERIMENTS
Description: By this command, the sub-module for editing experimental equilibria, i.e., the ED_EXP
module becomes available to the user. 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, the user may
calculate each equilibrium separately or all together, provide start values for equilibria
which failed to converge, set weights, modify the values of experiments or conditions.
For details about the ED_EXP module, see Part 13.
Synopsis: EDIT_EXPERIMENTS
12.7.8 OPTIMIZE_VARIABLES
Description: This command will perform an optimization of variables. All system-definition data needed
for the optimization will be read from the current work file (PAR). The result of the
optimization is automatically stored onto the current work file.
Synopsis: OPTIMIZE_VARIABLES
Ensuing Prompt: NUMBER OF ITERATION /n/: <integral number of iteration>
Specify an integral number for the optimization iteration. The previously specified
iteration number is shown as the default number. The PARROT program will try this
number of different sets of values of the optimizing variables unless it has converged
earlier, or has given up earlier. Note that it will initially take a small step in each
variable to find the steepest slope. One may give zero iteration just to calculate the
error in all selected experiments, and then use the LIST-RESULT command to check
how good (bad) are the current fit.
12.7.9 LIST_RESULT
Description: By this command the result of the current optimization run will be listed on screen or a
specified file. How much details will be listed by this command can be prescribed by the
SET_OUTPUT_LEVELS command (see Section 12.8.1).
Since TCCQ, the LIST_RESULT command has a new 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 output normally consists of the following parts:
♦ A title showing the data of the action;
♦ A message on successful optimization with the iteration number in the last optimization;
♦ A paragraph describing the optimization condition;
♦ A list of the latest set of optimized and fixed variables;
♦ A paragraph describing the optimization quality (some statistical information);
♦ A correlation matrix for all optimizing variables (optionally shown, pre-set by the
SET_OUTPUT_LEVEL command);
♦ A list of all parameters (including their symbol names, status and current values or
function expressions), and all phase descriptions (including phase name, model
names, constituents, and phase’s G/L/TC/BM expressions) predefined for each phase
in the system (optionally shown, pre-set by the SET_OUTPUT_LEVEL command);
♦ A paragraph describing the alternate equilibria (and possible error during optimization);
♦ A detailed list on all the equilibrium points used in the current optimization. If the
alternate-mode has been 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 have been 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
(column6).
Synopsis: LIST_RESULT
Ensuing Prompt: FULL,CONDENSED OR GRAPHIC FORMAT: /C/: <F or C or G>
Specify a desired format (F for Full, C for Condensed, or G for Graphical). The C format
is the default one. The full format (F) is now obsolete but the question has been
retained for backward compatibility. The G format, new since TCCQ, creates an
experimental data file containing two columns, one with the experimental value and the
other with the calculated value. This allows plotting of a diagram where all symbols
should be on the diagonal if the fit is perfect.
FCC
EXCESS MODEL IS REDLICH-KISTER_MUGGIANU
CONSTITUENTS: A,B
G(FCC,A;0)-G(BCC,A;0) = 500.00<T< 2000.00: 408
G(FCC,B;0)-G(BCC,B;0) = 500.00<T< 2000.00: +3300-3*T
L(FCC,A,B;0) = 500.00<T< 2000.00: +V19+V20*T
L(FCC,A,B;1) = 500.00<T< 2000.00: +V21+V22*T
====== BLOCK NUMBER 1
DEFINED CONSTANTS
DX=2E-2, P0=101325, DH=500, DT=10
DEFINED FUNCTIONS AND VARIABLES%
HTR=HM(LIQUID)-HM(A2B)
1 Alternate equilibrium calculation 0.4183
2 Alternate equilibrium calculation 0.1932
3 Alternate equilibrium calculation 0.1016
4 Alternate equilibrium calculation 1.4354E-03
5 Alternate equilibrium calculation 2.5063E-02
6 Alternate equilibrium calculation 8.3929E-03
10 Alternate equilibrium calculation 141.4
11 Alternate equilibrium calculation 141.4
12 Alternate equilibrium calculation 141.4
13 Alternate equilibrium calculation 141.4
20 Alternate equilibrium calculation 1.2532E-03
21 Alternate equilibrium calculation 5.4781E-04
22 Alternate equilibrium calculation 1.5404E-03
23 Alternate equilibrium calculation 1.2702E-03
100 ACR(B)=9.4E-1 0.9397 2.85E-02 -2.7745E-04 -9.7472E-03
101 ACR(B)=8.4E-1 0.8395 2.82E-02 -4.9038E-04 -1.7396E-02
102 ACR(B)=7.4E-1 0.7407 2.81E-02 7.3804E-04 2.6305E-02
103 ACR(B)=6.4E-1 0.6424 2.81E-02 2.3935E-03 8.5272E-02
104 ACR(B)=5.4E-1 0.5434 2.82E-02 3.4449E-03 0.1220
105 ACR(B)=4.4E-1 0.4428 2.85E-02 2.8265E-03 9.9024E-02
106 ACR(B)=3.4E-1 0.3394 2.90E-02 -5.8174E-04 -2.0040E-02
107 ACR(B)=2.3E-1 0.2320 2.97E-02 2.0260E-03 6.8208E-02
108 ACR(B)=1.2E-1 0.1194 3.06E-02 -6.4192E-04 -2.0981E-02
110 HMR(LIQUID)=-1964 -1957. 5.00E+02 7.439 1.4878E-02
111 HMR(LIQUID)=-3500 -3478. 5.00E+02 21.67 4.3338E-02
112 HMR(LIQUID)=-4588 -4565. 5.00E+02 22.69 4.5382E-02
113 HMR(LIQUID)=-5239 -5217. 5.00E+02 21.50 4.3008E-02
114 HMR(LIQUID)=-5454 -5435. 5.00E+02 19.11 3.8216E-02
115 HMR(LIQUID)=-5233 -5217. 5.00E+02 15.50 3.1008E-02
116 HMR(LIQUID)=-4575 -4565. 5.00E+02 9.691 1.9382E-02
117 HMR(LIQUID)=-3481 -3478. 5.00E+02 2.669 5.3385E-03
118 HMR(LIQUID)=-1950 -1957. 5.00E+02 -6.561 -1.3122E-02
12.7.10 CONTINUE_OPTIMIZATION
Description: This command continues the optimization using the same Hessian matrix.
Note that in some cases, it is illegal to attempt continuation. For example, if the optimization
has already converged or if the optimizing parameters or the set of experimental equilibria
used in the current optimization runs have been changed. The program will give a warning
message if the user tries to continue when he may have made such changes.
Synopsis: CONTINUE_OPTIMIZATION
Ensuing Prompt: Are you sure? /N/: <N or Y>
Prior this question, the following message will appear on screen to alert the user on if he
is sure of a safe continuation (Y) or not (N):
It is safe to CONTINUE only after TOO MANY ITERATIONS
and no change in variables and experiments ...
Now anything can happen ...
One can always accept the default answer (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 previously specified
iteration number is shown as the default number. The PARROT program will exactly
try this 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.
12.7.11 LIST_ALL_VARIABLES
Description: This command will produce, on screen or on a text file, a list of the values and status of all
variables in the PARROT workspace. After an optimization some statistical information are
also written. The correlation matrix will be written if that option has been chosen, see the
SET_OUTPUT_LEVELS command (see Section 12.8.1).
Synopsis: LIST_ALL_VARIABLES
Ensuing Prompt: OUTPUT TO SCREEN OR FILE /SCREEN/: <file name>
A list of the current values and status, as well statistical information (if after
optimization) and the correlation matrix (optionally), for all variables will be written on
screen (by pressing <RETURN>) or on the list file under a specific file name which can
later on be opened and edited by simple text editor.
Example Output: The following is the listed variables for the example TCEX36, after the first optimization
when having set all variables available for optimization.
== OPTIMIZING VARIABLES ==
12.7.12 RESCALE_VARIABLES
Description: By this command the current values of all the parameters will be copied to their start values
and the scaling factors for further optimization. Thus it should be done now and again, in
particular if the user thinks the optimization results have been improved after the previous
run(s), or if any variable has changed more than a factor of 10.
Synopsis: RESCALE_VARIABLES
12.8.1 SET_OUTPUT_LEVELS
Description: The user can use this command to choose what type of information the PARROT module
should give during the optimization procedure and when the result is listed.
Synopsis: SET_OUTPUT_LEVELS
Ensuing Prompt: LIST INCREMENT /1/: <increment in iteration number>
Specify the increment in iteration number for which information will be listed out on
screen during the optimization. By giving a larger number it will shorten the list.
LIST SUM OF SQUARES: /Y/:
The user can choose whether the sum of squares will be listed on screen during the
optimization procedure (Y) or not (N).
LIST SCALED VARIABLES: /Y/:
The user can choose whether the scaled variable values will be listed on the terminal
during the optimization procedure (Y) or not (N).
LIST WEIGHTENED RESIDUALS: /N/:
The user can choose whether the wheightened residuals will be listed on the terminal
during the optimization procedure (Y) or not (N).
LIST ALL PARAMETERS: /N/:
The user can choose whether all parameters in the models will be listed at the LIST-
RESULT command (Y) or not (N).
LIST CORRELATION MATRIX: /N/:
The user can choose whether the correlation matrix of the variables will be listed at the
LIST-RESULT and LIST-ALL-VARIABLES commands (Y) or not (N).
12.8.2 SAVE_PARROT_WORKSPACES
Description: If the user is not happy with the late changes made through various PARROT/GES/POLY
commands, he can use this command to save the current workspace (i.e., data area) used by
the PARROT program (also including the current GES5 and POLY3 workspaces), onto the
present work file which has already been opened by the SET_STORE_FILE command or
been created by the CREATE_NEW_STORE_FILE command (either interactively in the
PARROT module or through a MACRO opening of a SETUP TCM file). Note that the
PARROT/GES5/POLY3 workspaces are updated after each PARROT/GES/POLY
command, and by this command the current PARROT/GES5/POLY3 workspaces will be
always updated onto the latest work file associated with the latest command, either
SET_STORE_FILE or CREATE_NEW_STORE_FILE.
Unlike the SAVE commands in other modules (e.g., GES or PLOY), this command will not
ask for the file name where to save the current PARROT/GES5/POLY3 workspaces, for
the reason described above. One can not use this command if there is no work file opened
or created previously.
Synopsis: SAVE_PARROT_WORKSPACE
12.8.3 READ_PARROT_WORKSPACES
Description: If the user is not happy with the late changes made through various PARROT/GES/POLY
commands, he can read the previous PARROT/GES5/POLY3 workspaces back to replace
the current PARROT/GES5/POLY3 workspaces. The previous PARROT/GES5/POLY3
workspaces are always associated with the latest action to either open a work file by the
SET_STORE_FILE command, or to created a work file by the
12.8.4 MACRO_FILE_OPEN
Description: MACRO is an extraordinary convenient and easier way of pre-defining sequences of various
TCC (and DICTRA) commands on a simple textual file (normally with the default
extension “TCM” in TCC, or “DCM” in DICTRA) and then executing them by this
command. This command can be operated within various modules (SYS, POLY, PARROT
and TAB modules in the TCC software; SYS, POLY, PARROT and DICTRA_Monitor
module in the DICTRA software).
This is extremely useful when the same/similar calculations are made often with just some
small changes (in system definitions, conditions, plotting settings, etc.). One good case for
applying this feature is when calculating diagrams from an assessment. With a MACRO
file, all kinds of legal TCC (and DICTRA) commands can be stored in the file, and you just
need to type the MACRO command preceded by the file name.
The MACRO file can contain any legal TCC (and DICTRA) commands. The MACRO must
be terminated with the command EXIT, or interrupted in the SYS, GES, POLY, PARROT
or POST modules with the command SET_INTERACTIVE.
The interesting facility of a MACRO is to allow for some interactions with the user. Thus you
can have input in the following way:
GO POLY-3
SET AXIS VAR 2 T
@?Low-temperature-limit
@?High-temperature-limit
The MACRO will stop at the “@?”, write the text after “?” on the screen and wait for user
input. It will use the user input as input to the Thermo-Calc program; in this case values of
lower and higher axis limits.
You can have MACRO variables which are denoted #1, #2, etc. Max 9 variables. These can
be assigned values by:
@#3First element?
This will write the text after “@#3” as prompt to the user and wait for user input. The input
will be assigned to MACRO variable 3. You can then use these variables in different parts
of the macro. For example,
DEFINE-SYSTEM ##3
A textual copy of the content of MACRO variable 3 will be inserted at “##3”. You can use
this in more complicated commands also.
SET AXIS VAR 1 x(##3) 0 1,,,
will set the mole fraction of macro variable 3 as axis 1.
Note again that the MACRO commands must be terminated by a command
SET_INTERACTIVE when you are in POLY, POST, SYS, GES or PARROT module.
A MACRO file can have a pause at “@&”, but one may prevent stopping at any pause by
typing any character (except Y) after the MACRO file name.
A MACRO file can also have as many as possible comment lines began with the “@@” signs.
Such lines will provide a great assistant in easily documenting the MACRO file, while they
will not be considered as command lines and thus will not affect the proceeding of all the
normal Thermo-Calc commands when the file is called by TCC.
A MACRO file can be automatically generated by the TCC software, if in the SYS module
the SET_LOG_FILE command is used and an *.LOG file name is given before any other
SYS/TDB/TAB/GES/POLY/POST/PARROT/ED-EXP command or special module
command. Such an *.LOG file is a simple textual file, and by using any simple textual
editor (such as Notepad, Wordpad, PFE, Emacs, vi, etc.) it can be further edited: e.g., taking
away unnecessary command lines, modifying some commands, settings and definitions,
adding some pausing points, adding some helpful commenting lines began with “@@” signs,
etc. Then it can be saved as a MACRO file with the standard extension “TCM”.
An experienced user can also simply write/edit an appropriate MACRO file for desired
calculations/simulations, using any simple textual editor outside the TCC (and DICTRA)
program.
Since the TCC version N, a MACRO file can have 5 nested levels, i.e., a MACRO file can
call another MACRO file, and if one sub-level MACRO is terminated by the
SET_INTERACTIVE command it will be resumed at next command in the previous
MACRO. If it is terminated by end-of-file, the TCC program will be aborted. This
nice feature can be utilized for many different purposes, especially when a user is
performing alloy design which may require many (say hundreds) of
calculations/simulations on similar material system/processes (specified in many different
but appropriately-documented MACRO files which are organized in up-to-5 levels) during
a certain period of time (e.g., in an evening), the user can simply run the main MACRO (on
the top level) at a certain time (e.g., before leaving office) and afterwards (e.g., next
morning) the user can systematically and efficiently check/compare/analysis the results
(which have been saved as various graphical files, and/or EXP/TXT/XLS/… files).
It is worth to mention that: by simply adding the SYS_Module command SET_ECHO at the
every beginning of a MACRO file [or of the primary MACRO file on the top level if any
sub-level(s) of MACRO files are used], it is very convenient and extremely useful to
automatically show up on screen the complete details of various commands in all the
sequential operations in the TCC (and DICTRA) software, that are enforced according to
the MACRO file(s).
Synopsis 1: MACRO_FILE_OPEN <name of a Macro file>
Synopsis 2: MACRO_FILE_OPEN
Ensuing Prompt: Macro filename: <name of a Macro file>
Specify the filename with the MACRO command. The default extension is “TCM”.
Notes: Under Windows XP/2000/NT4 environments, if an appropriate MACRO file is not given
after the command, an Open file window will pop up on the screen, so that the path (in the
Look in box) and file name (in the File name box) can be appropriately specified, as
shown in Figure 8-6.
The file type (i.e., TCM, as in the Files of type box) can not be changed. By pressing the Open
button, the program proceeds with executing various Thermo-Calc commands. The user
may also cancel such an Open file window session, and thus the current MACRO file will
not be opened.
If the MACRO file contains some SYS/TDB/TAB/GES/POLY/POST/PARROT/ED_EXP-
module commands for setting *.LOG files, saving/reading GES5/POLY3/PARROT
workspaces, switching USER databases, compiling experiments (from existing *.POP
files), creating new *.PAR files, appending experimental data *.EXP files,
plotting/dumping diagrams, etc., a corresponding window (e.g., Save As, Open file, Print,
etc.) will pop up on screen. If desired by the user (and if the user knows exactly what is
doing at a certain point in a MACRO file), such popped-up 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.
More Notes: When using a MACRO file that is supposed to plot graphs on screen, but the command
SET_PLOT_FORMAT has been to 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, i.e., 1 (Windows XP/2000/NT4) or 9 (Linux and all types of
UNIX platforms).
For an extensive example, please refer to the TCEX36.TCM on the TCC installation area
\TCEX\ and in the TCCR Examples Book. For more details on how a MACRO is
constructed, please refer to Sections 8.10.26 and 14.2.8.
12.8.5 RECOVER_VARIABLES
Description: By this command the values of all variables will be set back to their start values.
Synopsis: RECOVER_VARIABLES
12.8.6 REINITIATE
Description: By this command the workspace used by the PARROT program will be reinitiated. All output
and optimizing conditions will be given their default values. All variables are set fixed with
their value equal to zero. Note that this command should never be used, unless you really
want to destroy the current PARROT workspace. However, this PARROT command will not
reinitiate the GES5/POLY3 workspaces.
Synopsis: REINITIATE
12.8.7 LIST_CONDITIONS
Description: By this command the present values of the output and optimizing conditions will be listed on
screen or a simple text file which can be opened and edited by a text editor later on.
Synopsis: LIST_CONDITIONS
Ensuing Prompt: OUTPUT TO SCREEN OR FILE /SCREEN/: <file name>
A list of the current values of optimization conditions, as well the current status of listing,
in the PARROT workspace will be written on screen (by pressing <RETURN>) or on the
list file under a specific file name which can later on be opened and edited by simple
text editor.
Example Output: The following is the listed:
== 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
== LIST STATUS ==
LIST INCREMENT = 1
LIST STATUS
SUM OF SQUARES: Y
SCALED VARIABLES: Y
WEIGHTED RESIDUALS: Y
ALL PARAMETERS: Y
CORRELATION MATRIX: Y
12.8.8 LIST_STORE_FILE
Description: This command writes on screen the name of the store file and its full path.
Synopsis: LIST_STORE_FILE
12.8.9 SET_SCALED_VARIABLE
Description: This command is similar to the SET_OPTIMIZING_VARIABLE command (see Section
12.7.5) by specifying start values for optimizing variables, but it is functional for only one
optimizing variable at one time. Furthermore, it also prescribes a minimum and maximum
value for the variable. During the following optimization runs, the variable value will be
limited within this min-max range.
Such a variable may have a value of zero or another start value, or may have been fixed by the
SET-FIX-VARIABLE command (see Section 12.7.6) prior to the previous optimization
run. For a good reference prior to proceeding this command, a list of all variables (which
have been used in defining various parameters for phases in the optimizing system, as pre-
entered in the SETUP file or interactively entered in the GES module) can be obtained by
using the LIST-ALL-VARIABLE command (see Section 12.7.11).
Synopsis: SET_SCALED_VARIABLE
Ensuing Prompt: VARIABLE NUMBER: <variable number(s)>
Specify the number for an optimizing variable to be set. Any non-zero parameter will be
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 will be shown as default.
Note that this guess is very critical as the initial guess of all parameters must make it
possible to calculate the selected equilibria.
MIN VALUE /xxxx.xxxxx/: <a guess value>
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.
12.8.10 SET_OPTIMIZING_CONDITION
Description: By this command the user can specify the conditions for the optimization. The default values
have been chosen with some cares automatically by the PARROT program, and they should
not be changed unless the user perfectly knows what he is doing.
Synopsis: SET_OPTIMIZING_CONDITION
Ensuing Prompt: RELATIVE STANDARD DEVIATION FOR EXPERIMENTS? /N/: <Y or N>
The user can choose whether the standard deviation of the experimental determinations
are absolute values (N) or if they are used as relative weighting factors (Y). The
estimated standard deviations of the optimized variables might be different for the two
cases.
MIN SAVE ON FILE? /Y/: <Y or N>
The user can specify whether the program should minimize the transfer of data to and
from the current work file during the optimization:
If yes (Y), it will speed up the optimization. After optimization one can use the
SAVE_PARROT_WORKSPACE command to update the progress onto the
current work file.
If minimum saving on file is not specified (N), the workspaces will be stored on
the current work file after every iteration in the optimization procedure.
ERROR FOR VARIABLE BOUNDS: /1/: <RETURN >
This feature has not been implemented yet. Just press <RETURN> here.
RELATIVE STEP FOR CALCULATION OF DERIVATIVES: /1E-04/: <xxx>
In the calculation of the correlation matrix for equilibria with inaccuracy in the
independent state variables, some numerical derivatives might have to be calculated.
The user can 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 will make 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.
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. Note that the optimization stops when the
sum of errors decreased by this value, even though it might be possible to increase it
further with a new OPTIMIZE command.
12.9.1 LIST_PHASE_DATA
Description: All data for a specific phase are written in a readable manner on screen. The thermochemical
parameters listed for each phase are always in SI units. Also see Section 11.11.2.
Synopsis: LIST_PHASE_DATA
Ensuing Prompt: PHASE NAME: <phase name>
Specify a phase name.
12.9.2 ENTER_PARAMETER
Description: The user can enter TP-function(s) for a specific parameter for a phase interactively by
this command. This command is identical to the ENTER_PARAMETER command in the
GES module (see Section 11.10.5).
The entered temperature-pressure function for the parameter could be defined later by the
command AMEND_PARAMETER (see Section 11.12.4).
The parameter name is (see more details as described in Section 11.4):
<identifier>(<phase>,<constituent array>;<digit>)
Examples of parameter names:
G(GAS,C1O2) The Gibbs energy of formation of a CO2 molecule in gas.
G(FCC,FE:VA) The Gibbs energy of formation of fcc Fe with interstitials.
L(FCC,Fe,Cr;0) The regular solution parameter for Fe and Cr in fcc.
L(FCC,Fe,Cr;1) The sub-regular solution parameter.
TC(BCC,Fe:Va) The Curie temperature of bcc Fe.
The name of a parameter consists of several parts. The first is a type-identifier. The following
type-identifiers are legal: G (Gibbs energy), TC (magnetic ordering temperature), BM
(Bohr magneton number). One may also use L for the Gibbs energy parameter. On output L
is used for interaction parameters. Note that the type-identifier BM is also used for Born
function of aqueous solution 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 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
model used for the phase. If no semicolon and digit are given, the sub-index value is
assumed to be as zero.
One may use an asterisk, “*”, to denote that the parameter is independent of the constituents
of a specific sublattice. For example, L(L12,AL,NI:*), meaning the interaction
parameter is for the binary interaction between constituents AL and NI on the first
sublattice, while it is independent of all constituents on the second sublattice.
If you press <RETURN> when you are asked for a parameter name or if you have improperly
input the entire parameter name, you will be asked for each of these items in the name.
Synopsis: ENTER_PARAMETER
Ensuing Prompt: PARAMETER: <parameter name>
Specify a correct parameter name. If a parameter name is not acceptable or the user only
presses <RETURN>, the following warning message appears:
*** ERROR, PLEASE RE-ENTER EACH PART SEPARATELY
and the program will further prompt for separate input for each part for a parameter
name.
Identifier (/X/): <G or L, or TC, or BM>
Specify one of the following types of legal identifiers:
• G or L Energy parameter (Gibbs energy of formation or interaction
parameter),
• TC Magnetic ordering temperature parameter,
• BM Bohr magneton number parameter (or Born function for aqueous
solution species)
Note that quantities as H (enthalpy), S (entropy), V (Volume), F (Helmholtz energy), etc.,
can be calculated from the Gibbs energy when necessary.
If this command has been used once or more, the previous value on this prompt will be
set as default. Once can accept it by pressing <RETURN> for the same type identifier,
or specify a new type.
Phase name (/ABCD/): <phase name>
Each parameter is valid for only a specific phase. The name of that phase must be
supplied. The name can be abbreviated.
If this command has been used once or more, the previous value on this prompt will be
set as default. Once can accept it by pressing <RETURN> for the same phase, or
specify a new phase name.
Constituent (in SUBLATTICE # /abc/): <species name>
The parameters are identified by the constituents, the fraction of which are multiplied
with the parameter. The name of the constituent can be abbreviated. Note that it is the
species name, not the stoichiometric formula, that is needed here.
If this command has been used once or more, the previous value on this prompt will be
set as default. Once can accept it by pressing <RETURN> if the constituent is the same,
or specify a new species name.
For phases with several sublattices the program will ask for one constituent in each
sublattice.
The excess parameters, e.g., the regular parameter or ternary parameters, are multiplied
with two or more fractions of the constituents from the same sublattice of the phase.
These additional constituents must be given as interacting constituents (as in the
following prompt). Note that phases with sublattices may have interaction constituents
in each sublattice. An asterisk, “*”, can be used to denote that the parameter is
independent of the composition of a sublattice.
INTERACTING CONSTITUENT (IN SUBLATTICE # /xyz/): <species name>
A parameter which is used to describe the excess of a quantity must have two or more
constituents that “interact” with each other. It is arbitrary which of these constituents
that is given as the first and which are given as interaction constituents. The program
will always sort the constituents (in each sublattice) in alphabetical order. This is
important for some parameters where the sign of the parameter may depend on the
order.
If this command has been used once or more, the previous value on this prompt will be
set as default. Once can accept it by pressing <RETURN> if the constituent is the same,
or specify a new species name.
Note! To cancel the default value of the interacting constituent you must type NONE or
the name of another constituent.
This question will be repeated till all the interested interaction constituent(s) on a specific
sublattice in the phase have been specified, and finally a simple <RETURN> has been
enforced.
Degree /#/: <degree>
The meaning of the degree is model dependent. For binary interaction parameters, the
degree is usually the power in the Redlich-Kister expression. For ternary interaction
parameters, it is usually the Hillert ternary index.
This question may not be prompted if this command is used for entering G parameter for
a pure component.
After this prompt, the program will show up on screen the full definition of the desired
phase parameter.
Low temperature limit /298.15/: <low temperature limit in K>
Specify the low temperature limit for the parameter's function. Same as for entering
functions
Function: <definition for a function>
A function consists of terms in T and P. Same as for entering functions.
& <continuation of the definition for the current function>
Continuation of function definition. Same as for entering functions.
High temperature limit /6000/: <high temperature limit in K>
Specify the high temperature limit for the parameter's function. Same as for entering
functions.
Any more ranges /N/: <Y or N>
Specify a Y(YES) for more function(s) or N(NO) for ending this command. Same as for
entering functions.
12.9.3 AMEND_PARAMETER
Description: The user can 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 will be made available for interactive editing on the terminal.
This command is identical to the AMEND_PARAMETER command in the GES module. Please
consult the description of the ENTER_PARAMETER command for details on how a
parameter is defined (Section 11.10.5 or 12.9.2) or the AMEND_PARAMETER command in
the GES module (see Section 11.12.4), or use this command inside the GES module if you
are not sure about the questions.
Synopsis: AMEND_PARAMETER
Ensuing Prompt: PARAMETER: <parameter name>
Specify a correct parameter name. If a parameter name is not acceptable or the user only
presses <RETURN>, the following warning message appears:
*** ERROR, PLEASE RE-ENTER EACH PART SEPARATELY
and the program will further prompt for separate input for each part for a parameter
name.
Identifier (/X/): <G or L, or TC, or BM>
Specify one of the following types of legal identifiers (G or L, or TC, or BM). Same as in
the ENTER_PARAMETER command.
Phase name (/ABCD/): <phase name>
Specify the phase name. Same as in the ENTER_PARAMETER command.
Insert I<string>@
Move <+-#positions> M
Restore string R
Substitute S<OLD>@<NEW>@
Type string T
where CP denotes the current position in string, # means number of, @ is a terminator
of an input or search string.
Note that when the string is typed the character at the current position has been replaced
by an underscore “_”. This help can also be obtained on-line by typing “?”.
To finish the editing of the current function, one has to type E at the prompt.
RANGE NUMBER (0 TO EXIT) /0/: <range number>
Give a range number to edit that function, or press <RETURN> or type 0 to exit this
command.
12.9.4 LIST_PARAMETER
Description: This command lists the TP-function(s) for a specific parameter for a phase on screen.
You must supply the name of the phase parameter. This command is identical to the
LIST_PARAMETER command in the GES module (see Section 11.11.3).
Synopsis: LIST_PARAMETER
Ensuing Prompt: PARAMETER: <parameter name>
Specify a correct parameter name. If a parameter name is not acceptable or the user only
presses <RETURN>, the following warning message appears:
*** ERROR, PLEASE RE-ENTER EACH PART SEPARATELY
and the program will further prompt for separate input for each part for a parameter
name.
Identifier (/X/): <G or L, or TC, or BM>
Specify one of the following types of legal identifiers (G or L, or TC, or BM). Same as in
the ENTER_PARAMETER command.
Phase name (/ABCD/): <phase name>
Specify the phase name. Same as in the ENTER_PARAMETER command.
Constituent (in SUBLATTICE # /abc/): <species name>
Specify the constituent name. Same as in the ENTER_PARAMETER command.
INTERACTING CONSTITUENT (IN SUBLATTICE # /xyz/): <species name>
Specify the interacting constituent name; if there is no interacting constituent, just press
<RETURN>. Same as in the ENTER_PARAMETER command.
INTERACTING CONSTITUENT (IN SUBLATTICE # /xyz/): <species name>
If there are more than one interacting constituents, specify them; otherwise just press
<RETURN>. Same as in the ENTER_PARAMETER command.
Degree /#/: <degree>
Specify Y or N for degree of the phase parameter. Same as in the ENTER_PARAMETER
command.
12.9.5 LIST_SYMBOL_IN_GES
Description: This command 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 GES5 workspace.
This command provides a way to find out how the functions depend on the optimizing
variables.
This command is nearly identical to the LIST_SYMBOL command in the GES module (see
Section 11.11.4), but in PARROT module the list will only be shown on screen, not written
to any file.
Synopsis: LIST_SYMBOL_IN_GES
Ensuing Prompt: NAME: <symbol name>
Specify a symbol name. Note that only those symbols that matches this name will be
listed. Or press <RETURN> for a list of all available symbols entered in the system.
Therefore, from a stored PARROT work file (PAR), one can always trace the system's GES, POLY and
DICTRA data area, and, if desired, can save such data in some individual GES or POLY or DICTRA files (i.e.,
*.GES5/*.TDB/*.DAT, or *.POLY3 or *.DIC files). Moreover, thanks to the availability of the POST
post-processor as a sub-module of the POLY and DICTRA modules, one can conveniently call the POST
module at any time, to plot for the optimizing system the phase diagrams, property diagrams or composition
profiles; consequently, one superimpose various experimental data (which are normally used in the current
optimization exercise) and describing texts onto such plotted graphs.
⇔
Revision History of the ED_EXP Module User's Guide:
Feb 1984 First release (Edited by Bo Jansson)
Oct 1993 Second revised release (Edited by Birgitta Jönsson and Bo Jansson)
Sept 1998 Third revised release (Edited by Bo Sundman)
Jun 2000 Fourth revised and extended release (Edited by Pingfang Shi)
Nov 2002 Fifth revised and extended release (Edited by Pingfang Shi)
Jun 2004 Sixth revised release (Edited by Pingfang Shi); with minor changes in 2006
In Table 13-1, the functionality and performance of all such POLY commands used in ED_EXP module and
*.POP or *.DOP files are summarized:
Table 13-1. Summary of the Performance of POLY Commands in the ED_EXP Module
SET_CONDITION Set equilibrium conditions (which will On the current experimental point
alternate the same conditions for the
selected experimental equilibrium).
LIST_CONDITION List equilibrium conditions for the On the current experimental point
current experimental point.
SET_START_VALUE Set start values. On the current experimental point
SET_ALL_START_VALUES Set all start values and constitutions. On the current experimental point
SET_NUMERICAL_LIMITS Set various numerical limits for the On all experimental points in the
equilibrium calculation procedure. current work file
SELECT_EQUILIBRIUM Select an identified experimental point The selected experimental point
from the presently-read and possibly- becomes the “current” or
modified data block from the current “present” point referred by the
work file. ED_EXP module.
Important Note: After a command
COMPUTE_ALL_EQUILIB, the
last experimental data point
becomes the “present” point. In
such a case, one has to use this
SELECT_EQUILIB command
for further editing.
Note that although the TABLE_HEAD, COMMENT and FLUSH_BUFFER commands are visible in the ED_EXP
module (as listed in the Introduction, see Section 13.1), they can not be used in the ED_EXP module; they are
only functional in an *.POP or *.DOP file.
13.3.1 COMPUTE_ALL_EQUILIBRIA
Description: In ED_EXP and PARROT modules, each experiment is treated as an individual equilibrium
with some measured values. These are created with the CREATE-NEW-EQUILIBRIUM
command (see Section 8.11.2), and stored in an experimental data *.POP file and then
compiled and saved in the POLY3 workspace of a PARROT work *.PAR file.
With the COMPUTE-ALL-EQUILIBRIA command, 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 will be skipped.
Note that “current” or “present” experimental point means the lately selected or calculated
one. If one has already used this command once, the current point will turn to be the last
point in the data block; in such a case the user must first use the SELECT_EQUILIBRIUM
command (see Section 8.11.10) so that the current point will be switched to a desired one.
Synopsis: COMPUTE_ALL_EQUILIBRIA
Note: During the COMPUTE-ALL-EQUILIBRIA command, there will always be a list output on
screen, which consists of 6 columns for all experimental points available in the current data
block. The first column is the equilibrium identifier (a number) assigned by the CREATE-
NEW-EQUILIBRIUM command, the second the data label assigned by the LABEL-DATA
command (see Section 11.3.5), the third the number of iterations, the fourth the current
weight, and the fifth the current temperature. In the sixth column the fixed stable phases are
listed together with any comment text given after a COMMENT command (see Section
11.4.2) 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 has been used for some experimental points, the listing will be slightly
different for such points. The 3-4 columns will be displayed with “* alt *”, instead. If
an alternate calculation is failed at one experimental point, the point will automatically be
assigned with a zero weight, and a warning message is shown above the data line (with all
six columns).
Example List: Below is an example of listed information following the command as interactively run the
ED_EXP module, after running the TCEX36a.TCM and TCEX36b.TCM files and some
sequent actions in PARROT and ED_EXP modules:
13.3.2 EXPERIMENT
Description: This command is mainly used in the POP or DOP file, but can also be given interactively, to
change the value or uncertainty of an experiment or to add more experimental information.
An “experiment” usually consists of two parts: the first one as a quantity relation, and the
second one as the uncertainty of the value for the quantity, with a colon “:” separated them.
The quantity relation part can be a normal POLY-module condition (see Sections 8.3.5 and
8.7.1) 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 either an
absolute value or a relative value (in percentage, x%).
Note that an “experiments” that use an inequality will give zero contribution to the sum of
errors in the optimization procedure of PARROT if the value is on the right side. If the
value is on the wrong side, the value after the colon determines how steeply the error will
increase with the value.
Important Note: A typical “experiment” that is added interactively is to specify that a phase should not be
stable in a certain experiment, because a phase may appear in a range of composition or of
temperature where it has never been observed during the optimization. A phase is unstable
if its driving force is negative, and one may by this command add an experimental
information to enforce that. As an example, one may have to suppress the HCP phase in an
existing experimental point:
CHANGE-STATUS HCP=DORMANT
EXPERIMENT DGM(HCP)<-.001:.0001
Note that DGM is the POLY variable for the driving force divided by RT, and it is thus
dimensionless. Only DORMANT phases can have driving forces larger than zero, as this
indicate that they would be stable if they were allowed to form. The “experiment” in the
above case will try to modify the model parameters to make the HCP phase unstable.
More general examples of experiment definitions:
EXPERIMENT X(LIQ,PB)=.10:.01 X(FCC,PB)=0.02:.01
EXPERIMENT ACR(PB)=0.8:5%
EXPERIMENT T=700:5
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
in both cases. The second experiment is that the activity of PB should be 0.8 with an
uncertainty of 5 per cent. Note that the reference state of the component PB must have been
set with a SET-REFERENCE-STATE command. 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
13.3.3 EXPORT
Description: This command makes it possible to transfer a calculated value from an equilibrium to a
optimizing variable (an “V” variable) in the PARROT workspace. Thus the value can be
used, for example, in the Gibbs energy description of a phase. Of course, this variable
should not be optimized (i.e., it should be set as a fixed variable in PARROT), and this
option should be used with care and understanding.
13.3.4 IMPORT
Description: This command is the inverse of the EXPORT command. This makes it possible to transfer the
value of one of the optimizing variables to a constant. Normally, it is directly used inside
an experimental data (POP or DOP) file.
One case when this is useful is that if several experiments have been 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 of course 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 will try to find the activity that gives
the best fit. Note that if an approximate value of the activity is known, one can of course
supply that as an experiment.
Another case when this command is useful is given in the *.POP file of the Example 23 as
given in the /TCEX/ subdirectory of a Thermo-Calc installation and described in the
Thermo-Calc Examples Book.
13.3.5 LABEL_DATA
Description: This command adds 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
(*.POP or *.DOP) file.
Several experimental equilibria can be given the same label, and the label can be used in the
SET-WEIGHT command to assign the same weight to all equilibria with the same label.
Synopsis 1: LABEL_DATA A<bCd>
Synopsis 2: LABEL_DATA
Ensuing Prompt: Label? /A1/: A<bCd>
Specify a textual label (as maximum characters and must start with the letter A) for the
current experimental equilibrium point(s).
13.3.6 MAKE_POP_FILE
Description: It is possible in the ED_EXP module to make interactive changes and additions to the original
experimental data file (the *.POP or *.DOP file). In order to document or transfer the
current or final edited experimental data to an *.POP/*.DOP file, one may use this
command to write it to a new *.POP/*.DOP file or overwrite it on an old *.POP/*.DOP
file. Note that the experimental data file (the *.POP/*.DOP file) is a simple text file,
whilst the work file (the *.PAR file) is not a text file and is dependent on the computer
hardware.
This output is not always written without errors, and it should be checked carefully. Tables in
original *.POP/*.DOP 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. Note that if an
exiting *.POP file name is specified, it will be overwritten. In DICTRA, an *.DOP file is
written or overwritten.
Synopsis 1: MAKE_POP_FILE <POP/DOP-file name>
Synopsis 2: MAKE_POP_FILE
Ensuing Prompt: OUTPUT TO SCREEN OR FILE /SCREEN/: <POP/DOP-file name>
Specify a name of the new *.POP/*.DOP file where to write or overwrite the edited
experimental information in a simple text format.
13.3.8 SET_ALTERNATE_CONDITION
Description: This is a very special command mainly used in the experimental data *.POP/*.DOP file but
also possible in the ED_EXP module. It is used only when one has specified that the
alternate mode is set on in the PARROT module. The meaning of the alternate mode is
described in the User's Guide of the PARROT module (see Sections 12.3 and 12.7.4).
The command syntax for this command is the almost the same as for the POLY command
SET-CONDITION (see Section 8.7.1), while the uncertainty should also be specified.
Synopsis 2: SET_ALTERNATE_CONDITION
Ensuing Prompt: State variable expression: <state variable name or linear expression>
This question is rather cryptic but the user is expected to give either just a state variable
or a linear expression of state variables.
Some of the state variables that can be used in conditions are:
T temperature in the system
P pressure in the system
N system size (in moles)
B system site (in grams)
W(<component>) mole fraction of a component in the system
X(<component>) mole fraction of a component in the system
ACR(<component>) activity of a component in the system
MUR(<component>) chemical potential of a component in the system
W(<phase>,<component>) mole fraction of a component in a phase
X(<phase>,<component>) mass fraction of a component in a phase
ACR(<phase>,<component>) activity of a component in a phase
MUR((<phase>,<component>) chemical potential of a component in a phase
H enthalpy in the system
HM(<phase>) enthalpy of a phase (per mole)
There are many more state variables can be used in conditions. For more information,
give an INFO STATE_VARIABLES command in the POLY module.
A condition is normally just a value of a single state variable with its value. For instance,
T=1273.15
P=1E5
X(C)=.002
W(CR)=1.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 should be the same in the
LIQUID and PYRRHOTITE phases. In practice that should be the congruent melting
point. Note that after the equal sign only a numeric value is allowed.
Factor: <a factor for the state variable, or a continuation>
This question is even more cryptic, and it means that the user 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 will be prompted if a single state variable name has not given in either the
prompt “State variable expression” or “Factor”, or a state variable
expression has been 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. The user needs to specify here a state variable or a complete
state variable expression, or complete the unfinished state variable expression. If a
numeric factor has been given before this prompt, only one state variable can be
specified; otherwise, the program will only take 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 be either an absolute value or a relative value (in percentage,
x%).
13.3.9 SET_WEIGHT
Description: Each experimental value has an uncertainty associated with it, specified by the value after the
colon “:” in the EXPERIMENT command (see Section 13.3.1). During an optimization the
absolute difference between the experimental and calculated values gives a contribution to
the sum of error.
By the SET-WEIGHT command, one may 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 they should have higher weight. The
special value zero means that the set of equilibria should be ignored in editing in ED_EXP
(obviously as the COMPUTE_ALL_EQUILIBRIA command is given) and in optimization
in PARROT.
Note that the weight may be needed to obtain a balance between different kinds of
experiments. For example, if there are only 5 experimental values of the composition of a
phase diagram but 500 experimental values of activities or enthalpies, then the 5
composition points may have to be given higher weight than unity, otherwise they will not
be well described by the optimizing procedure.
13.3.10 TRANSFER_START_VALUE
Description: One of the tedious problems in the ED_EXP module is 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 of the same kind equilibrium and each must
have its start value set. When one has managed to calculate equilibrium one of such
experimental point, this command is useful to transfer the site fractions from a previous
successfully-calculated equilibria to the present experimental point.
The <equilibrium number> should be the numeric identifier for the equilibrium from which
the start values should be copied to the present experimental point, or “PREVIOUS” by
pressing <RETURN>.
13.3.11 STORE_ALL_WEIGHTS
Description: This command is used to 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 very useful when a user wishes 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 by the RESTORE_ALL_WEIGHTS command
sequentially.
13.3.12 RESTORE_ALL_WEIGHTS
Description: This command is used to restore a specific weight-set (that has previously saved by the
STORE_ALL_WEIGHTS command) and assign all the different experimental points in the
current data block with their previously-set weights in the sequential assessments.
13.3.13 LIST_ALL_EQUILIBRIA
Description: This command is used to 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. The user can always use the SELECT_EQUILIBRIUM
command to select a specific point as the current equilibrium point for such a list.
Synopsis: LIST_ALL_EQUILIBRIA
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).
An *.POP or *.DOP file is used in the PARROT module to provide experimental information for the
optimization process, and is checked a syntax checker when the PARROT command
COMPILE_EXPERIMENT is proceeded.
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 part
(i.e., in Sections 13.3.1 through 13.3.3) can only be used in the *.POP or *.DOP files.
Most of the commands in the experimental data file are the same as in the POLY module. The most frequently
used are listed below:
CREATE-NEW-EQUILIBRIUM
CHANGE-STATUS
SET-CONDITION
SET-REFERENCE-STATE
ENTER-SYMBOL
SAVE-WORKSPACE
Note that: as the last command in an *.POP or *.DOP file, one must always have the SAVE command.
Other legal commands from the POLY module that are used less often are:
DEFINE-COMPONENTS
EVALUATE-FUNCTION
SET-ALL-START-VALUES
SET-NUMERICAL-LIMITS
SET-START-VALUE
SPECIAL-OPTIONS
Note that the DEFINE-COMPONENTS command must be always used as the first command in an *.POP or
*.DOP file, as it will automatically reinitiate the whole workspaces.
Most of the special commands for the ED_EXP module are also often used in a POP or DOP file. For example,
EXPERIMENT
EXPORT
IMPORT
LABEL-DATA
SET-ALTERNATE-CONDITION
SET-WEIGHT
However, the following special ED_EXP commands are illegal and should not be used in any *.POP or
*.DOP file:
COMPUTE-ALL-EQUILIBRIA
MAKE-POP-FILE
READ (i.e., READ-BLOCK or READ-WORKSPACE)
TRANSFER-START-VALUES
The special commenting identifier, i.e., a single dollar sign “$” which starts a line, is used to document
comment lines at any position in an *.POP or *.DOP file. You may remember that this feature is universally
the same as in almost all kinds of text files in the Thermo-Calc/DICTRA software family, e.g., in *.TDB,
*.DAT, *.TCM, *.POP/*.DOP and *.EXP files. Such a sign and all information afterwards in the same
comment line will be skipped and ignored by the syntax checker. Therefore, you shall feel free to write such
comment lines in any of these types of text files.
There are only a few other commands that can be used only in the POP or DOP file. These are described below.
...
0.8499 -2976
0.9002 -2114
TABLE—END
13.4.2 COMMENT
Description: This command is only used in the *.POP/*.DOP 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.
13.4.3 FLUSH_BUFFER
Description: This command is only used in the *.POP/*.DOP files. It is needed if the number of
experiments require more space than they can be fitted into one buffer. When the PARROT
program compiles experiments, it will inform if any FLUSH commands are needed. The
FLUSH command will terminate the current block, save it to the work file and start a new
block. With the READ command in the EDIT-EXPERIMENT module, one can select the
block to edit.
After a FLUSH command, the workspace is reinitiated and all functions or constants must be
entered again in the *.POP file. One may take advantage of this; for instance, one can use
the FLUSH command to have blocks with different components in one *.POP file.
Synopsis: FLUSH_BUFFER
13.4.4 GRAPHICS_PLOT
Description: Previously in TCCP (only some early sub-versions), this command was useful in the ED-EXP
module for directly conducting graphical plotting and it was equivalent to the POLY
command STEP_WITH_OPTIONS in order to make a STEPPING calculation based on the
currently-selected equilibrium point and to plot the desired property diagrams. For the
details, please refer to the TCCP Users’ Guide.
Since TCCQ (and late sub-versions/patches of TCCP), it has been completely rewritten, and it
now has totally different functionality. It can now help create one experimental data file
directly from a POP file during compiling in the PARROT module. Several datasets and
different symbols are also allowed according to user’s specifications. It is automatically
executed when the POP file has been compiled in the PARROT module.
Comments: Please note that this command is now totally irrelevant and unable to use in the ED-EXP
module, even the command is still visible on the command list.
14.1 Introduction
The classical versions of both Thermo-Calc and DICTRA software have a so-called System Utility Module ⇔
(under the SYS prompt), which provides the primary controls on inter-module communication, MACRO-file
creation and operation, working and plotting environmental setting, and command information searching. They
are essential for properly performing ordinary calculations, desirably obtaining calculated results, and easily
conducting various tasks.
It also facilitates some odd features, such as user interface setting, command unit setting, error reporting
preference, terminal characteristics definition, workspace listing, open or close of a file through a unit,
interactive calculator, news retrieval, etc. Some of such odd commands are used for performance preference of
the users, and some are designed for debugging of the programmers. Few odd commands are included only for
some special purposes, which might have been obsolete in later versions.
SYS:?
BACK HP_CALCULATOR SET_INTERACTIVE_MODE
CLOSE_FILE INFORMATION SET_LOG_FILE
EXIT MACRO_FILE_OPEN SET_PLOT_ENVIRONMENT
GOTO_MODULE OPEN_FILE SET_TERMINAL
HELP SET_COMMAND_UNITS STOP_ON_ERROR
SYS:
⇔
Revision History of the SYS Module User's Guide:
Mar 1985 First release (Edited by Bo Sundman)
Oct 1993 Second revised release (Edited by Bo Sundman)
Sept 1996 Third revised release (Edited by Mikael Schalin and Bo Sundman)
Jun 2000 Fourth revised and extended release (Edited by Pingfang Shi)
Nov 2002Fifth revised release (Edited by Pingfang Shi)
Jun 2004 Sixth revised and extended release (Edited by Pingfang Shi)
Aug 2006Seven revised and simplified release (Edited by Pingfang Shi)
14.2.2 INFORMATION
Description: This command gives information about the features of the Thermo-Calc software system.
Basic information about various subjects (concepts and models) can be obtained, as they are
described in different parts of this manual. For brief information displayed by this
command, please also see Section 14.4.
Synopsis: INFORMATION
Ensuing Prompt: WHICH SUBJECT /PURPOSE/: <subject name>
The name of the subject must be given. Extensive information is available for various
subjects as listed below (this list can be seen if typing a question mark “?”):
PURPOSE (Introducing the THERMO-CALC Software Package)
COMPUTATIONAL THERMODYNAMICS
TCC - THERMO-CALC CLASSIC TCW - THERMO-CALC WINDOWS
TC4A - THERMO-CALC FOR ACADEMIC TC4U - THERMO-CALC FOR UNIVERSITY
MODELS IN THERMO-CALC MODULES OF THERMO-CALC
DATABASES IN THERMO-CALC FUNCTIONALITY OF THERMO-CALC
STATE VARIABLES DERIVED VARIABLES
PHASE DIAGRAMS PROPERTY DIAGRAMS
TDB (DATABASE RETRIEVAL) GES (GIBBS_ENERGY_SYSTEM)
POLY (EQUILIBRIUM CALCULATIONS) POST (POST_PROCESSOR)
PARROT (ASSESSMENT) ED_EXP (EDIT_EXPERIEMENT)
BIN (BINARY_DIAGRAM) TERN (TERNARY_DIAGRAM)
POT (POTENTIAL_DIAGRAM) POURBAIX (POURBAIX_DIAGRAM)
TAB (TABULATION) CHEMICAL EQUATION
SCHEIL (SCHEIL_SIMULATION) REACTOR (REACTOR_SIMULATOR)
SYS (SYSTEM_UTILITY) FOP (FUNCTION_OPT_PLOT)
USER INTERFACE OF THERMO-CALC GUI (GRAPHICAL USER INTERFACE)
APPLICATIONS OF THERMO-CALC THERMO-CALC ENGINE
API - PROGRAMMING INTERFACE TQ/TCAPI INTERFACES
TC-TOOLBOX IN MATLAB SOFTWARE TCMI MATERIALS INTERFACE
DICTRA (Diffusion-Controlled Transformation Simulation Software)
HELP (How to get on-line help in the TCC software)
NEWS (Revision History and New Features of the TCC Software)
14.2.3 GOTO_MODULE
Description: This command switches between modules. The name of the desired module must also be
typed. In order to obtain a list of available modules, press the <RETURN> key (also see
Section 5.4.11).
Synopsis 2: GOTO_MODULE
Ensuing Prompt: MODULE NAME:
NO SUCH MODULE, USE ANY OF THESE:
SYSTEM_UTILITIES
GIBBS_ENERGY_SYSTEM
TABULATION_REACTION
POLY_3
BINARY_DIAGRAM_EASY
DATABASE_RETRIEVAL
REACTOR_SIMULATOR_3
PARROT
POTENTIAL_DIAGRAM
SCHEIL_SIMULATION
POURBAIX_DIAGRAM
TERNARY_DIAGRAM
MODULE NAME: <module name>
Options: module name -- the name of the module to subsequently open
14.2.4 BACK
Description: This command gives the control back to the most recent module. It will, in some cases, be
necessary to switch back and forth between two modules of the Thermo-Calc software, and
this command is then simpler than the more general command GOTO_MODULE.
Synopsis: BACK
14.2.5 EXIT
Description: This command terminates the program and returns to the operating system. Unless a SAVE
command has been executed (in either the GES, POLY3, PARROT or REACTOR module),
all data and results will be lost.
Synopsis: EXIT
14.2.6 SET_ECHO
Description: This command is specially designed for uses within MACRO files of the TCC (and DICTRA)
software. By simply adding this command at the every beginning of a MACRO file [or of
the primary MACRO file on the top level if any sub-level(s) of MACRO files are used], it is
very convenient and extremely useful to automatically show up on screen the complete
details of various commands in all the sequential operations in the TCC (and DICTRA)
software, that are enforced according to the MACRO file(s). When MACRO files are not
used, it is irrelevant to apply this command.
Synopsis: SET_ECHO
14.2.7 SET_LOG_FILE
Description: This command makes it possible to save, on a simple text file, everything the user types in the
Thermo-Calc software. When having problems executing a command sequence, this
command can be used to save the command typed onto a log file. The manager can then
check what is wrong.
This command will also make 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 for a new user to follow.
The saved log file can then be edited as a MACRO file by using a simple textual editor. This
is very useful to run the MACRO file(s) for similar calculations (the same system but
slightly varied temperature-pressure-composition conditions), or run the Thermo-Calc
Examples MACRO files. See more details in Section 14.2.7.
Synopsis: SET_LOG_FILE
Ensuing Prompt: OUTPUT FILE: <file name>
The name of the file must be given, where all the sequent commands will be saved.
Notes: Under Windows XP/2000/NT4 environments, a Save As window will be popped up on the
screen if a file name is not given after the command, so that the path (in the Save in box)
and file name (in the File name box) can be properly specified, as shown in Figure 14-1. If
an *.LOG file with the same name exists in the current working directory, it will be
overwritten.
The file type (i.e., LOG, as in the Save as type box) can not be changed. By pressing the Save
button, the program proceeds with saving all the subsequent commands in the specified
*.LOG file.
Figure 14-1. The “Save As” window: Saving all the subsequent commands in an *.LOG file.
14.2.8 MACRO_FILE_OPEN
Description: MACRO is an extraordinary convenient and easier way of pre-defining sequences of various
TCC (and DICTRA) commands on a simple textual file (normally with the default
extension “TCM” in TCC, or “DCM” in DICTRA) and then executing them by this
command. This command can be operated within various modules (SYS, POLY, PARROT
and TAB modules in the TCC software; SYS, POLY, PARROT and DICTRA_Monitor
module in the DICTRA software).
This is extremely useful when the same/similar calculations are made often with just some
small changes (in system definitions, conditions, plotting settings, etc.). One good case for
applying this feature is when calculating diagrams from an assessment. With a MACRO
file, all kinds of legal TCC (and DICTRA) commands can be stored in the file, and you just
need to type the MACRO command preceded by the file name.
The MACRO file can contain any legal TCC (and DICTRA) commands. The MACRO must
be terminated with the command EXIT, or interrupted in the SYS, GES, POLY, PARROT
or POST modules with the command SET_INTERACTIVE.
The interesting facility of a MACRO is to allow for some interactions with the user. Thus you
can have input in the following way:
GO POLY-3
SET AXIS VAR 2 T
@?Low-temperature-limit
@?High-temperature-limit
The MACRO will stop at the “@?”, write the text after “?” on the screen and wait for user
input. It will use the user input as input to the Thermo-Calc program; in this case values of
lower and higher axis limits.
You can have MACRO variables which are denoted #1, #2, etc. Max 9 variables. These can
be assigned values by:
@#3First element?
This will write the text after “@#3” as prompt to the user and wait for user input. The input
will be assigned to MACRO variable 3. You can then use these variables in different parts
of the macro. For example,
DEFINE-SYSTEM ##3
A textual copy of the content of MACRO variable 3 will be inserted at “##3”. You can use
this in more complicated commands also.
SET AXIS VAR 1 x(##3) 0 1,,,
will set the mole fraction of macro variable 3 as axis 1.
Note again that the MACRO commands must be terminated by a command
SET_INTERACTIVE when you are in POLY, POST, SYS, GES or PARROT module.
A MACRO file can have a pause at “@&”, but one may prevent stopping at any pause by
typing any character (except Y) after the MACRO file name.
A MACRO file can also have as many as possible comment lines began with the “@@” signs.
Such lines will provide a great assistant in easily documenting the MACRO file, while they
will not be considered as command lines and thus will not affect the proceeding of all the
normal Thermo-Calc commands when the file is called by TCC.
A MACRO file can be automatically generated by the TCC software, if in the SYS module
the SET_LOG_FILE command is used and an *.LOG file name is given before any other
SYS/TDB/TAB/GES/POLY/POST/PARROT/ED-EXP command or special module
command. Such an *.LOG file is a simple textual file, and by using any simple textual
editor (such as Notepad, Wordpad, PFE, Emacs, vi, etc.) it can be further edited: e.g., taking
away unnecessary command lines, modifying some commands, settings and definitions,
adding some pausing points, adding some helpful commenting lines began with “@@” signs,
etc. Then it can be saved as a MACRO file with the standard extension “TCM”.
An experienced user can also simply write/edit an appropriate MACRO file for desired
calculations/simulations, using any simple textual editor outside the TCC (and DICTRA)
program.
Since the TCC version N, a MACRO file can have 5 nested levels, i.e., a MACRO file can
call another MACRO file, and if one sub-level MACRO is terminated by the
SET_INTERACTIVE command it will be resumed at next command in the previous
MACRO. If it is terminated by end-of-file, the TCC program will be aborted. This
nice feature can be utilized for many different purposes, especially when a user is
performing alloy design which may require many (say hundreds) of
calculations/simulations on similar material system/processes (specified in many different
but appropriately-documented MACRO files which are organized in up-to-5 levels) during
a certain period of time (e.g., in an evening), the user can simply run the main MACRO (on
the top level) at a certain time (e.g., before leaving office) and afterwards (e.g., next
morning) the user can systematically and efficiently check/compare/analysis the results
(which have been saved as various graphical files, and/or EXP/TXT/XLS/… files).
It is worth to mention that: by simply adding the SYS_Module command SET_ECHO at the
every beginning of a MACRO file [or of the primary MACRO file on the top level if any
sub-level(s) of MACRO files are used], it is very convenient and extremely useful to
automatically show up on screen the complete details of various commands in all the
sequential operations in the TCC (and DICTRA) software, that are enforced according to
the MACRO file(s).
Synopsis 1: MACRO_FILE_OPEN <name of a Macro file>
Synopsis 2: MACRO_FILE_OPEN
Ensuing Prompt: Macro filename: <name of a Macro file>
Specify the filename with the MACRO command. The default extension is “TCM”.
Notes: Under Windows XP/2000/NT4 environments, if an appropriate MACRO file is not given
after the command, an Open file window will pop up on the screen, so that the path (in the
Look in box) and file name (in the File name box) can be appropriately specified, as
shown in Figure 14-2.
The file type (i.e., TCM, as in the Files of type box) can not be changed. By pressing the Open
button, the program proceeds with executing various Thermo-Calc commands. The user
may also cancel such an Open file window session, and thus the current MACRO file will
not be opened.
Figure 14-2. The “Open file” window: Opening an existing TCM file.
14.2.9 SET_PLOT_ENVIRONMENT
Description: This command allows a user, preferably in his initiation file tc.ini, to set the plot devices
he normally has access to as this may vary at different installations of Thermo-Calc.
NOTE: This command must be terminated with an empty line or two commas.
Synopsis: SET_PLOT_ENVIRONMENT
Ensuing Prompt: DEFAULT PLOTDEVICE NUMBER /default number/: <device number>
The number given here is unique for each type of graphical device. For plotting Thermo-
Calc graphs on SCREEN, the default device number should normally be selected, e.g.,
1 for MS-Windows or IBM-VGA on PC Windows XP/2000/NT4, and 9 for X-
Windows on PC-Linux and all types of UNIX platforms. Other available device
numbers (e.g., PostScript portrait mode, PostScript landscape mode, HP7550 plotter,
etc.) are for hard copies.
A question mark “?” will always give you a list of all available graphical devices used in
Thermo-Calc.
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 the user is asked for graphical output file.
PLOTDEVICE NUMBER /1/: <device number>
The number that specifies the type of graphical device.
PLOT FILE NAME: <file name or printer name>
The name of the graphical device on system level (name of file or printer).
14.3.1 SET_INTERACTIVE_MODE
Description: This command resets the input and output units to their initial values, i.e., keyboard and
screen. Remember to add this command as the last command into your MACRO files, so
that you will be able interact with the software after executing the MACRO commands.
Synopsis: SET_INTERACTIVE_MODE
14.3.2 SET_COMMAND_UNITS
Description: 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 by
the OPEN_FILE command (see Section 14.3.8).
NOTE: The first two lines of an input file will be skipped before any input is read from an
input file.
Synopsis: SET_COMMAND_UNIT
Ensuing Prompt: INPUT UNIT NUMBER /5/: <input unit number>
Specify the input unit number returned from an OPEN_FILE command. The next
command will be taken 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>
Specify the output unit number returned from an OPEN_FILE command.
14.3.3 STOP_ON_ERROR
Description: This command is useful in batch jobs in order to prevent that an erroneous sequence of
commands to the program will cause waste of computer activity. If the argument ON is
given, the program will terminate after an illegal or ambiguous command. It is possible to
reset the effect of this command by giving the argument OFF. Default value is ON.
Synopsis: STOP_ON_ERROR <argument>
Give the preferred argument (ON or OFF) after the STOP command.
14.3.4 OPEN_FILE
Description: A text file can be opened by this command for uses in other commands where a unit number
is necessary. The program will automatically assign a unit number.
Synopsis: OPEN_FILE
Ensuing Prompt: FILE NAME: <file name>
A legal file name must be specified.
14.3.5 CLOSE_FILE
Description: A previously opened text file is closed by this command.
Synopsis: CLOSE_FILE
Ensuing Prompt: UNIT NUMBER: <unit number>
14.3.6 SET_TERMINAL
Description: This command is now obsolete. It was previously used to define the characteristics of the
terminal. Nowadays, users who are connected through a packet-switching network will
normally have the echo provided from their PAD, and are thus not interested by a second
echo from the host also.
Synopsis: SET_TERMINAL
Ensuing Prompt: Number of lines shown before stop on full screen /0/: <number>
Specify a number of the lines you wish to show before stop on full screen.
XON/XOFF enabled? /Y/: <YES or NO>
Give your answer (Y or N).
Use EMACS like line editor? /N/: <YES or NO>
Please note that such an editor is ONLY implemented on VMS machine. So you should
simply press <RETURN> to accept the default answer NO.
Are you using packet-switched networks "X.25"? /N/: <Y or N>
Give your answer (Y or N).
14.3.7 HP_CALCULATOR
Description: This is the QBA simple interactive calculator using reverse polish notations:
One must use the BACK command to quit the HP_CALCULATOR, in order to go back to
the SYS module.
This chapter additionally gives two index lists for all Thermo-Calc commands (used via various TCC modules
and in various types of textual files, respectively), as well as lists of figures and tables located in varied parts of
this TCCR User’s Guide (and those in chapters that have been extracted from this edition of the TCC User’s
Guide and have been moved to four separate documents).
The indices on some terms used in this manual (that used to be within the TCCP/TCCQ User’s Guides) have been
taken away from this edition.
Some other forms (e.g., TCC/TCW/DICTRA Course Application Form, TCS Order Option Form, and License
Delete Guarantee) may be published on our web site (www.thermocalc.com). If interested and desired, you can
download and fill the forms, and then return to us.
For other forms that you might require, please contact us at:
info@thermocalc.se for information on various software/databases/interfaces and their applications;
support@thermocalc.se for technical issues, and for bug-problem reporting and suggestions/comments;
consult@thermocalc.se for consultancy specifications.
Thermo-Calc
TDB *.TDB (setup, parameters, references, etc.)
Classic
GES
*.GES5 *.TDB *.DAT
*.TAB *.EXP
TAB
*.TCM
*.PL3 *.EXP
POLY
SYS *.LOG
*.PL3 *.EXP
BIN
*.PL3 *.EXP
POT
*.PL3 *.EXP
POURABIX
*.PL3 *.EXP
SCHEIL
*.RCT *.EXP
REACTOR
switch KP … switch to the Kaufman binary alloy database; commands Go data (TDB)
define_system al si … define the Al-Si binary system;
get … get data from the database for the system; Thermo-Calc consists of several modules and the
go poly … go to the POLY (equilibrium calculation) module; most important are the database module, the POLY
module for equilibrium calculations, the post Getting data
Appendix B.
set_lable_curve d … set the curve-labeling option D on; two (for temperature and pressure). With two set_plot_format to the graphical
set_axis_type x log … set the x-axis scaling in common logarithmic; components you must thus set 4 conditions. The device you use
plot screen … plot the diagram on screen; simplest conditions are the temperature, pressure set_label_curve to the option you
set_interactive … set on the interactive mode. and the amounts of each component. In some cases wish to identify the curves
one prefers to use fractions of the minor plot the diagram. You may plot several
For more information, please consult the TCC User’s Guide, Examples Book, and technical service via components rather than total amounts and then one diagrams with different types of axes
Tel: +46-8-790 9718; Fax: +46-8-673 3718; E-mail: support@thermocalc.se; http: www.thermocalc.se may specify that the system is closed by giving the
total size of the system in moles or mass.
But you may use any kind of combination of The amount of a component can be given by Hints and Frequently Asked How can I get the partial pressure of a gas
conditions on the activities, chemical potentials, N(<component>) for the number of moles species? Answer: You may enter a function
or B(<component>) for the mass of
Questions (FAQ)
enthalpies, etc. Note that the components are the P*Y(GAS,<species>) and this will be the
elements unless you define other yourself. You <component>. Just N or B represents the total Why can't I plot the diagram after I saved it? partial pressure of <species> if the gas is
can set amounts of other species than the size of the system. Answer: You must never use the SAVE command stable. If gas unstable, you must enter a function
Chapter 17
components by the set_input_amount AFTER the step or map command. You are given P*Y(GAS,<species>)*EXP(DGF(GAS)).
command! You can delete a condition by setting The amount of a phase can be set or obtained as a warning if you try that. SAVE actually deletes The activity of any species, for example H2O,
the condition value to NONE. the amount of moles of components in the everything from a file before it saves the current can be obtained by entering a function as
phase by the state variable NP(<phase>) or status on the file. ACR(H)**2*ACR(O). Remember to
State variables in mass of components in the phase by set_reference_state for the components
BP(<phase>). The value of NP is Why do I get only half of the lines in the diagram? H and O! Note that ACR can only be used for the
In Thermo-Calc you use thermodynamic state independent of the formula unit of the phase Answer: When you plot a phase diagram you components.
variables to set conditions, for example but may depend on what components you have should not use the state variables
set_condition t=1273. They are also used defined. BP and NP can be normalized, X(<component>) or W(<component>) as What is wrong when I get crossing tie-lines in
in the post processor to plot results and their BPV(<phase>) is the density of <phase>. variables in the set_diagram_axis command my phase diagram but no miscibility gap?
values can be obtained with the show command. in the post processor. The proper variable is mole Answer: The crossing tie-lines are signs of a
The state variables are named according to The driving force of a phase can be obtained by fraction or weight fraction (or the same with miscibility gap. However, you have to inform
generally accepted standards. The most important the state variables DGM(<phase>) or percent) of the component. Thermo-Calc in advance that you know, or
state variables are: T for temperature (K), P for DGF(<phase>). The value is divided by RT suspect, that there is a miscibility gap in a phase.
pressure (Pa), N for total number of moles, and thus dimensionless. Note that DGM and What do I do with the extra degree of freedom I This can be done with the POLY command
ACR(<component>) for activity, DGF cannot be used as conditions. get when I want to calculate the CaO-SiO2 special_option (with the
MUR(<component>) for chemical potential system? Answer: This is a quasi-binary system set_miscibility_gap option) or GES
(J/mol), X(<component>) for overall mole The fraction of the different constituents of a and you must inform the POLY module that there command amend_phase_description
fraction of a component, W(<component>) for phase is a model dependent quantity but can be is no degree of freedom with respect to oxygen. (with the composition_sets option) where
overall mass (weight) fraction of a component. set or obtained with the state variable You should use the define_component you can give a phase two or more composition
Y(<phase>,<species>). When you must command to define CAO, SIO2 and O2 as sets. Then you must start the calculation where
Note that there is no way to specify percent of specify the sublattice use a hash sign, “#”, components and then set the activity of oxygen to the miscibility gap is stable and use the
mole or mass as a condition but it can be obtained
followed by the sublattice number. an arbitrary value. Note that this is possible only if set_all_start_values command to make
on output with the set_diagram_axis
the models for the phases are limited to the section both composition sets stable but with different
command, or by a function.
Appendices and Indices
A unique feature of Thermo-Calc is the facility CaO-SiO2. Otherwise this is not a quasi-binary initial compositions.
The value for any thermodynamic quantity can be to set conditions by giving of quantities for system and the oxygen potential is an interesting
set or obtained by using a symbolic name, for individual phases. In addition to the quantity. How can I obtain the value of the excess Gibbs
example (all values in SI units): G for the Gibbs thermodynamic quantities above you may use, energy? Answer: There is no way to obtain the
energy, S for the entropy, H for the enthalpy, V for for example: How do I calculate the melting temperature of an excess Gibbs energy from POLY as this is a
the volume, A for the Helmholz energy. W(<phase>,<component>) for the mass alloy? Answer: Calculate first an equilibrium model dependent quantity. You may obtain the
fraction of <component> in <phase> with the given composition at a temperature well Gibbs energy of mixing, and for a substitutional
The state variables G, H, etc. are the values for X(<phase>,<component>) for the mole regular solution model that is the same thing. In
below the melting temperature. Then give the
the whole system. You may normalize these fraction of <component> in <phase> commands change_status phase order to have, for example, the enthalpy of
quantities per mole, mass or volume using for liquid=fix 0, set_condition t=none mixing in the liquid for a ternary system A-B-
example GM for the Gibbs energy of the system You may calculate partial derivatives of state and compute_equil. The temperature is C, give the following commands:
per mole of components, GW for the Gibbs energy variables by using the dot notation “.”. For obtained with a show T or SET_REF_STATE A LIQUID * 1E5
for the system per mass and GV for the Gibbs example H.T is the heat capacity. You may list_equilibrium command. SET_REF_STATE B LIQUID * 1E5
energy for the system per volume. You may set or calculate more elaborate derivatives for SET_REF_STATE C LIQUID * 1E5
obtain the values for individual phases by using example BP(LIQUID).W(C) which will give How do I get partial quantities for a component? SHOW HMR(LIQUID)
G(<phase>) which is the Gibbs energy for the how much the mass of liquid will change with a Answer: Taking a Fe-bearing alloy as an The suffix R requires that the user defines which
current amount of <phase>. (Note that unit change of the mass fraction of carbon. The example, the partial quantities of the component reference states should be used. But if you have
G(<phase>) is zero if the amount of the phase state variables can be used as conditions or as Fe can be obtained by the SHOW <value> sublattices with mixing on two or more
is zero!). A normalized quantity is independent of axes in the post processor. In that case it is command, with the value MUR(FE) for its partial sublattices the Gibbs energy of mixing is
the amount thus GM(<phase>) will be the often interesting to use an asterisk, “*” to Gibbs energy, MUR(FE).T for partial entropy, different from the excess Gibbs energy.
Gibbs energy per mole component, denote all phases or components. You may and HFE for partial enthalpy (note you have to
GW(<phase>) the Gibbs energy per mass and define functions of state variables and use these first define HFE by ENTER VARIABLE HFE =
GF(<phase>) the Gibbs energy for <phase> as axes in the post processor. MUR(FE)-T*MUR(FE).T).
per formula unit, etc.
General Introduction
Units for various thermodynamic, physical, chemical and transport quantities are important concepts for
appropriately setting standard state variables (intensive and extensive) and derived variables, utilizing pre-defined
symbols, and entering user-defined symbols (constants, functions, variables and tables).
A comprehensive understanding on units of various quantities for a system, for a system component, for a phase,
and/or for a phase constituent (on a sublattice) can really help in setting calculation/simulation conditions,
defining stepping/mapping variables, in tabulating substance/reaction properties, and in generating graphical and
textual outputs with calculated/simulated results.
A user may also get detailed information on unit definitions for various quantities by looking through the Part 2
in the document Thermo-Calc Software System and Chapter 8 (Section 8.3) of the TCCR User’s Guide, or by
entering the following subject keywords, which are relevant to the UNITS subject:
STATE VARIABLES For Standard State Variables
INTENSIVE VARIABLES For Various Intensive State Variables
EXTENSIVE VARIABLES For Various Extensive State Variables
DERIVED VARIABLES For Derived Variables (Partial Derivatives)
CONDITIONS For Condition Settings
AXIS-VARIABLES For Stepping/Mapping Variable Settings
Unlike in the TCW software (where different units can be chosen for various quantities), the TCC (and DICTRA)
software always uses the default units for standard state variables and derived variables in various modules.
However, it allows users to call some pre-defined symbols (but only legal in the POST_PROCESSOR module)
and/or to additionally define desired user-specified symbols (constants, functions, variables or tables) using the
valid standard state variables and derived variables.
For details on default units of standard state variables, derived variables and pre-defined symbols, as well as on
alternative units of user-specified symbols, for a system, for system components, for phases, for components in a
given phase and for species in a given phase, please refer to the subject keywords below:
BASIC UNITS For Variables that are globally used
SYSTEM UNITS For Variables of a Defined System
COMPONENT UNITS For Variables of a Specific Component in a System
PHASE UNITS For Variables of a Phase in a System
PHASE-COMPONENT UNITS For Variables of a Specific Component in a Phase
SPECIES UNITS For Variables of a Specific Species in a Phase
USER UNITS For Symbols that are defined by a user
Within the POLY module (and its sub-module POST_PROCESSOR), the following basic units are mostly in SI
units and can be used (through various standard state variables, derived variables, and pre-defined symbols):
Quantity Mnemonic Basic Unit
Temperature T Kelvin (K)
Pressure P Pascal (Pa)
Amount N moles (mol)
M_F mole fraction (dimensionless)
M_P mole percent (mol%)
B mass (grams, g)
W_F mass fraction (dimensionless)
W_P mass percent (mass% = wt%)
Volume V cubic meters (m3)
The default units associated with standard state variables, derived variables, and pre-defined symbols of a
system are defined as listed below:
Quantity SV & Unit § DV & Unit ¶ PS & Unit θ
Temperature T K T_C C (Celsius)
T_F F (Fahrenheit)
Pressure P Pa
Amount N mol NW mol/g
NV mol/m3
B g BM g/mol
BV g/m3
Volume V m3 VM m3/mol
VW m3/g
Gibbs Energy G J GM J/mol
GW J/g
GV J/m3
Helmholtz Energy A J AM J/mol
AW J/g
AV J/m3
Internal Energy U J UM J/mol
UW J/g
UV J/m3
Enthalpy H J HM J/mol
HW J/g
HV J/m3
Entropy S J/K SM J/mol/K
SW J/g/K
SV J/m3/K
Heat Capacity HM.T J/mol/K
HW.T J/g/K
HV.T J/m3/K
Thermal Expansivity VM.T m3/mol/K
VW.T m3/g/K
Isothermal VM.P m3/mol/Pa
Compressibility VW.P m3/g/Pa
Notes:
§
SV stands for standard state variables of the whole system, and they are used in the POLY and POST modules;
¶
DV stands for derived variables of the whole system, and they are used in the POLY and POST modules;
θ
PS stands for pre-defined variables of the whole system, and they can only be in the POST module;
Normalizing suffixes like M (per mole of components), W (per mass in grams) or V (per volume in m3) can be
applied to extensive quantities V, G, A, U, H and S of the whole system (except for VV).
The extensive quantity N can have normalizing suffixes W or V (but not M), while B can have M or V (but not W),
and under such circumstances they present certain special quantities of the whole system, e.g.,
NW = moles per mass of the system (mol/g)
NV = moles per volume of the system (mol/m3)
BM = mass per mole of the system (g/mol)
The default units associated with standard state variables, derived variables, and pre-defined symbols of a
specific system component are defined as listed below:
Quantity SV & Unit § DV & Unit ¶ PS & Unit θ
Amount N(c) mol X(c) dimensionless M-F(c) dimensionless
M-P(c) dimensionless
NM(c) dimensionless
NW(c) mol/g
NV(c) mol/m3
B(c) g W(c) dimensionless W-F(c) dimensionless
W-P(c) dimensionless
BM(c) g/mol
BW(c) dimensionless
BV(c) g/m3
Chemical MU(c) J/mol
Potential MUR(c) J/mol
Activity AC(c) dimensionless
ACR(c) dimensionless
ln(Activity) LNAC(c) dimensionless
LNACR(c) dimensionless
Notes:
§
SV stands for standard state variables of the specific system component, and they are used in the POLY and
POST modules;
¶
DV stands for derived variables of the specific system component, and they are used in the POLY and POST
modules;
θ
PS stands for pre-defined variables of the specific system component, and they can only be in the POST module;
Normalizing suffixes like M (per mole of components), W (per mass in grams) or V (per volume in m3) can be
applied to extensive quantities N(c) and B(c) of the specific system component; and under such
circumstances they present certain special quantities of the specific system component, e.g.,
NM(c) = mole fraction of the component (dimensionless)
= X(c)
NW(c) = moles of the component per mass of the system (mol/g)
NV(c) = moles of the component per volume of the system (mol/m3)
BM(c) = mass of the component per mole of the system (g/mol)
BW(c) = mass fraction of the component (dimensionless)
= W(c)
BV(c) = mass of the component per volume of the system (g/m3)
NW(c) and BM(c) should not be set as conditions.
The suffix R presents that intensive quantities MU(c), AC(c) and LNAC(c) to be calculated with respect with a
certain reference state chosen for the system component, such as MUR(c), ACR(c) and LNACR(c).
The default units associated with standard state variables and derived variables of a specific phase are defined as
listed below:
Notes:
§
SV stands for standard state variables of the specific phase, and they are used in the POLY and POST modules;
¶
DV stands for derived varaibles of the specific phase, and they are used in the POLY and POST modules;
Normalizing suffixes like M (per mole of components), W (per mass in grams), V (per volume in m3) or F (per
mole formula unit) can be applied to extensive quantities V(ph), G(ph), A(ph), U(ph), H(ph) and
S(ph) of the specific phase [except for VV(ph)].
The extensive quantity NP(ph), BP(ph) and VP(ph) can have normalizing suffixes M, W or V, and under such
circumstances they present certain special quantities of the specific phase, e.g.,
NPM(ph) = moles of the phase per mole of the system (dimensionless)
NPW(ph) = moles of the phase per mass of the system (mol/g)
NPV(ph) = moles of the phase per volume of the system (mol/m3)
BPM(ph) = mass of the phase per mole of the system (g/mol)
BPW(ph) = mass of the phase per mass of the system (dimensionless)
BPV(ph) = mass of the phase per volume of the system (g/m3)
VPM(ph) = volume of the phase per mole of the system (m3/mol)
VPW(ph) = volume of the phase per mass of the system (m3/g)
VPV(ph) = volume of the phase per volume of the system (dimensionless)
NP(ph), BP(ph) and VP(ph), as well as all their M/W/V/F-suffixed quantities of the phase should not be set
as equilibrium conditions. Instead, one can use the CHANGE_STATUS command to set a relevant condition,
e.g., CHANGE_STATUS phase <phase name> = fix <amount> where the fixed amount is
NPF(ph).
The heat capacity of the phase stands for Cp (when pressure is a condition) or for Cv (when volume is a
condition).
DGM(ph), DGW(ph), DGV(ph) and DGF(ph) can not be set as conditions, as they can only be calculated
under a certain type of equilibrium state.
The default units associated with standard state variables, derived variables, and pre-defined symbols of a
specific component in a given phase are defined as listed below:
Quantity SV & Unit § DV & Unit ¶
Amount N(ph,c) mol X(ph,c) dimensionless
NM(ph,c) dimensionless
NW(ph,c) mol/g
NV(ph,c) mol/m3
NF(ph,c) mol/mole_formula_unit
B W(ph,c) dimensionless
BM(ph,c) g/mol
BW(ph,c) dimensionless
BV(ph,c) g/m3
BF(ph,c) g/mole_formula_unit
Notes:
§
SV stands for standard state variables of the specific phase, and they are used in the POLY and POST modules;
¶
DV stands for derived varaibles of the specific phase, and they are used in the POLY and POST modules;
Normalizing suffixes like M (per mole of components), W (per mass in grams), V (per volume in m3) or F (per mole
formula unit) can be applied to extensive quantities N(ph,c) and B(ph,c) of the specific system
component in the given phase; and under such circumstances they present certain special quantities of the
system component in the phase, e.g.,
NM(ph,c) = mole fraction of the component in the phase (dimensionless)
= X(ph,c)
NW(ph,c) = moles of the component per mass of the phase (mol/g)
NV(ph,c) = moles of the component per volume of the phase (mol/m3)
NF(ph,c) = moles of the component per mole formula unit of the phase (mol/mole_formula_unit)
BM(ph,c) = mass of the component per mole of the phase (g/mol)
BW(ph,c) = mass fraction of the component in the phase (dimensionless)
= W(ph,c)
BV(ph,c) = mass of the component per volume of the phase (g/m3)
BF(ph,c) = mass of the component per mole formula unit of the phase (g/mole_formula_unit)
NW(ph,c) and BM(ph,c) should not be set as conditions.
The default units associated with standard state variables of a specific species in a given phase [i.e., a specific
phase constituent (on a certain sublattice) in a given phase] are defined as listed below:
Quantity SV & Unit § DV & Unit ¶
Amount y(ph,sp) dimensionless
Chemical Potential MU(sp,ph) J/mol
MUR(sp,ph) J/mol
Activity AC(sp,ph) dimensionless
ACR(sp,ph) dimensionless
ln(Activity) LNAC(sp,ph) dimensionless
LNACR(sp,ph) dimensionless
Notes:
§
SV stands for standard state variables of the specific phase, and they are used in the POLY and POST modules;
¶
DV stands for derived variables of the specific phase, and they are used in the POLY and POST modules;
The suffix R presents that intensive quantities MU(sp,ph), AC(sp,ph) and LNAC(sp,ph) to be calculated
with respect with certain reference states chosen for the system components that built up the specific species,
such as MUR(sp,ph), ACR(sp,ph) and LNACR(sp,ph); normally, MU(sp,ph)=MUR(sp,ph),
AC(sp,ph)=ACR(sp,ph), LNAC(sp,ph)=LNACR(sp,ph).
In case there are two or more sublattices in the given phase, the syntax “sp” should be specified as
“constituent#sublattice” indicating that the specific constituent is on the given sublattice or site
(denoted by the # sign and a digit) in the phase. For instance,
y(BCC,C#2) stands for the site fraction of the C species on the second sublattice site of the BCC_A2
solution phase;
MUR(AQUEOUS,FE+3) stands for the chemical potential of the Fe+3 cation in the (single-sublattice
modelled) AQUEOUS solution phase, for which the reference states for components (Fe and electron)
have been set to certain phases (with defined reference temperature and pressure).
Currently, MU(sp,ph), AC(sp,ph) and LNAC(sp,ph) can be obtained only for single-sublattice solution
phases (such as AQUEOUS solution and GASeous mixture) and for those interacting species on the first
sublattice of multiple-sublattice solution phases (such as BCC_A2 and M6C phases). For instance, one can
obtain the values of AC(sp,AQ) for Fe+3 and Fe species in the AQUEOUS solution phase. One can also
obtain the values of MU(sp,BCC) for Fe and W species in the BCC_A2 phase defined in the Fe-W-C ternary
system, but not for C (which is on the second sublattice; however, one can not get any value for
MU(sp,M6C) of the Fe-W-C ternary system, due to that the M6C phase has a phase definition of
(Fe)2(Fe)2(Fe,W)2(C)1.
Special Notes:
Unlike in POLY3 (and POST) module, there are other quantities in the GES, TDB, PARROT and
ED_EXP modules, that describe various thermodynamic, physical, chemical and transport properties
for a compound phase, and for a certain species or a given species combination (binary, ternary or
higher-order) in a specific solution phase. Such quantities can not be directly called in the POLY (and
POST) module. They are:
WR(ph,sp), or WR(ph,sp;0)
for standard Born function (J/mol) of a specific aqueous species in the AQUEOUS solution phase
(always with a single sublattice) under the reference-state temperature and pressure.
Additionally, you can also use your desired units (other than the basic and default units) for some
calculated/plotted/tabulated properties, by properly entering user-defined symbols (usually as functions) through
the command
ENTER_SYMBOL FUNCTION <Name> = < Expression of state variables, derived variables
and/or already-entered symbols > ;
Using your own entered symbols, you may find it very convenient and useful to present various
calculated/simulated results in different desired units. Note that a symbol name must be unique in the current
workspace, that starts 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 “\”, period “.”, are illegal for symbol names. For details on how to define
symbols, please refer to Section 8.10.12, or type the HELP ENTER_SYMBOL command or type the ? mark
under the ENTER_SYMBOL command.
Examples:
ENT_SYM FUN PB = P/1E5 ; for pressure (in bar)
ENT_SYM FUN LnFBO2 = LNAC(O2,GAS)+LOG(P)+11.52608845 ;
for ln[Fugacity(O2,GAS)] (in bar)
ENT_SYM FUN Cp = Hm.T ; for heat capacity of system (in J/mol/K)
ENT_SYM FUN CpFCC = Hm(FCC).T ; for heat capacity of FCC phase (in J/mol/K)
However, when a converted property is a function of one or more derivatives, one must enter a symbol as a
variable instead of a function. For instance, a symbol presenting heat capacity of a system or of a phase in a unit
of cal/mol/K must be entered through e.g.,
ENT_SYM VAR Cp2 = Hm.T/4.1858 ; for heat capacity of system (in cal/mol/K)
ENT_SYM VAR Cp2FCC = Hm(FCC).T/4.1858 ; for heat capacity of FCC phase (in cal/mol/K)
Please notice that any of user-defined symbols cannot be used for setting equilibrium conditions or
stepping/mapping variables, because of that only standard state variables (and some derived variables) can be
used for such purposes. However, you can utilize any of the pre-defined variables and user-defined symbols for
plotting various phase diagrams and property diagrams as you want. Moreover, some advanced modules (such as
POURBAIX and SCHEIL modules) also generated some already-defined symbols (constants, functions, variables
and tables) for various interesting properties, and such symbols can be used only for graphical/tabular outputs as
well.
The following are just a few of suggested examples for entering such conventional functions and their associated
units in various possible ways:
Notes: One can also define similar symbols for certain quantities of a system using normalizing suffixes [M (per
mole of components), W (per mass in grams), V (per volume in m3) or F (per mole formula unit)], e.g.,
in the above-mentioned symbols,
replacing B by BM or BV
replacing V by VM or VW
replacing G by GM, GW or GV
replacing A by AM, AW or AV
replacing U by UM, UW or UV
replacing H by HM, HW or HV
replacing S by SM, SW or SV
Notes:“i” stands for an auxiliary index or letter that corresponds to the component c.
Notes: “i” stands for an auxiliary index or letter that corresponds to the component c.
One can also define similar symbols for certain quantities of a system component using normalizing
suffixes [M (per mole of components), W (per mass in grams) or V (per volume in m3), e.g., in the
above-mentioned symbols,
replacing N(c) by NM(c), NW(c) or NV(c)
replacing B(c) by BM(c), BW(c) or BV(c)
Notes: “i” stands for an auxiliary index or letter that corresponds to the phase ph.
One can also define similar symbols for certain quantities of a phase using normalizing suffixes [M (per
mole of components), W (per mass in grams), V (per volume in m3) or F (per mole formula unit)], e.g.,
in the above-mentioned symbols,
replacing NP(ph) by NPM(ph), NPW(ph) or NPV(ph)
replacing BP(ph) by BPM(ph), BPW(ph) or BPV(ph)
replacing VP(ph) by VPM(ph), VPW(ph) or VPV(ph)
replacing V(ph) by VM(ph), VW(ph) or VF(ph)
replacing G(ph) by GM(ph), GW(ph), GV(ph) or GV(ph)
replacing A(ph) by AM(ph), AW(ph), AV(ph) or AV(ph)
replacing U(ph) by UM(ph), UW(ph), UV(ph) or UV(ph)
replacing H(ph) by HM(ph), HW(ph), HV(ph) or HV(ph)
replacing S(ph) by SM(ph), SW(ph), SV(ph) or SV(ph)
Notes: “ij” stands for an auxiliary index or letter that corresponds to the component c in the phase ph.
One can also define similar symbols for certain quantities of a system component using normalizing
suffixes [M (per mole of components), W (per mass in grams), V (per volume in m3) or F (per mole
formula unit)], e.g., in the above-mentioned symbols,
replacing N(ph,c) by NM(ph,c), NW(ph,c), NV(ph,c) or NF(ph,c)
and NP(ph) by NPM(ph), NPW(ph), NPV(ph) or NP(ph)/NA
replacing B(ph,c) by BM(ph,c), BW(ph,c), BV(ph,c) or BF(ph,c)
and BP(ph) by BPM(ph), BPW(ph), BPV(ph) or BP(ph)/NA
(where NA stands for total atomic number in the phase formula)
Notes: “ij” stands for an auxiliary index or letter that corresponds to the component c in the phase ph.
Born Function WR(AQ,sp) is only valid for aqueous species in system where the AQUEOUS solution
phase is considered.
Notes: “ij” stands for an auxiliary index or letter that corresponds to the component c in the phase ph.
Brief Introduction
As in general, the concepts of “reference state” and “standard state” for various components, species and phases
in various systems described by certain models are really difficult to fully understand and rather easy to get
confused, and thus there are possible difficulties and confusions in setting/changing reference states and in
interpreting calculation results. As the first suggestion, we would usually encourage our users to go through the
Section 2.13 of the document Thermo-Calc Software System and Section 10.3 of the TCCR User’s Guide, and
read some sophistic textbooks of Thermodynamics, prior to using the SET_REFERENCE_STATE command.
From a practical point of view, Gibbs free energies are always given related to some references in one or other
way. By default, a Thermo-Calc database always uses elements (at their standard states, i.e., in stable structured
phases normally under 298.15 K and 1 bar) as the default components, and thus sets the reference states for all
components as the so-called SER (Stable Element Reference), which builds up a certain “Gibbs free energy
reference plane” in a defined system. When the temperature-pressure conditions have been defined (in
GES/POLY module), a corresponding “Gibbs free energy surface” over the entire composition space will be
formed. It is very important to note that:
(1) The Gibbs free energy expressions (for both standard and excess properties) are results of assessments
that are based on available experimental info (which are usually measured at temperatures above
273.15 K and pressures equal/above 1 bar) and sometimes theoretical data;
(2) As certain types of polynomials, such expressions normally should not be extrapolated to temperatures
below 298.15 K (especially too far below 298.15 K, it is not appropriate to do so; this is because at
such low temperature range it may results in very strange values of Cp, H and S, and thus of G);
(3) Of course, some assessment work are done by considering existing experimental and theoretical data
below 298.15 K, and thus one may have accordingly set the lowest applicable temperature of assessed
G/L expressions; in such cases, it would be safer and appropriate to extrapolate to a reasonable lower
temperature;
(4) For some special pure substances and/or solution phases (normally their major phase constituents), the
Thermo-Calc software can employ advanced thermodynamic models in the GES system that allows
appropriate calculations in a certain temperature range below 298.15 K; for instance, the complete
Revised HKF Model (Helgeson-Kirkham-Flowers) can calculate thermodynamic and transport
properties of H2O (in ice, aqueous and gas/fluid states) over a wide temperature-pressure range.
(5) Nowadays, first-principle calculations may play a unique and efficient role in calculating various
thermodynamic and chemical/physical properties down to 0 K; by incorporating such results together
with CALPHAD assessments into a database, it will be possible to make calculations from 0 K to high
temperatures.
Another very important matter: as a default setting in a Thermo-Calc database, the DEFINE_SYSTEM_DEFAULT
command has always an associated “G-reference type index” when <element> is used as the
keyword, that globally defines the reference state type of all elements in the database. Three types (as in integer
index) of element reference states can be chosen from:
1 ==> G G refers to G(298.15,1) = H(298.15,1)-T*S(298.15,1)
2 ==> H298 G refers to H(298.15,1) [assuming S(0,1)=0]
3 ==> H0 G refers to H(0,1) [assuming S(0,1)=0]
A substance or alloy solution database (in the Thermo-Calc database spectrum, or in the SGTE
recommended database format) normally uses the second type, i.e., H298 [referring to
H(298.15K,1bar) and assuming S(0K,1bar)=0]. This means that the standard Gibbs free energy expression
(stored in the database) for a substance or for a species in a phase corresponding to the SER state will always be
interpreted as referring to H(298.15,1) which is the enthalpy of formation from all relevant elements in their SER
states at 298.15 K and 1 bar, i.e.,
G(FCC_A1,FE:C;0)-H298(GRAPHITE,C;0)-H298(BCC_A2,FE;0)
= +GFEFCC+GHSERCC+GPCFCC+77207-15.877*T
G(M7C3,FE:C;0)- 3 H298(GRAPHITE,C;0)- 7 H298(BCC_A2,FE;0)
= +7*GHSERFE+3*GHSERCC+75000-48.2168*T
This is why that, for convenience in publications, such a reference state is usually abbreviated as HSER, and
accordingly the Gibbs free energy expression may be simply written as
G0(FCC_A1,FE:C)-HSER = +GFEFCC+GHSERCC+GPCFCC+77207-15.877*T
G0(M7C3,FE:C)-HSER = +7*GHSERFE+3*GHSERCC+75000-48.2168*T
Therefore, with the HSER state as the default-set in a database that is implied by the TDB command
DEFINE_SYSTEM_DEFAULT ELEMENT 2 !
the stored G/L expressions (as f(T,P,X), for standard and excess properties) will build a certain Gibbs free energy
reference plane for a defined system, that is always refer to the HSER state.
However, Thermo-Calc software (in many of its basic modules such as GES, POLY, PARROT/ED_EXP and
POST) also allows the user to re-define system components other than elements that are default-defined in TDB
(while inside some of its special/advanced modules such as POURBAIX, it may also enforce some necessary
changes in definitions of system components in accordance with the chosen model and for the purposes of
calculating some specific properties e.g. pH and Eh), and to choose other appropriate reference states for the
defined system components, in terms of their reference phases, reference temperature (which should always be
higher than 298.14 K) and reference pressure (which should be equal to or higher than 1 bar). By doing so,
Thermo-Calc will build up a new “Gibbs free energy reference plane”, and then will properly calculate various
thermodynamic properties, such as:
G-H-S and Gm-Hm-Sm of the defined system;
G-H-S(phase) and Gm-Hm-Sm(phase) of various phases;
MU(comp) and AC(comp): potentials and activities of system components with respect to the default
reference states of components (SER)
MU(comp) = RTlnAC(comp)
MUR(comp) and ACR(comp): potentials and activities of system components with respect to the re-
defined reference states of components
MUR(comp) = RTlnACR(comp)
DGM(comp): driving forces (/RT) of system components
and so on.
(1) These two concepts are always related to certain definitions of reference states and standard states, and
they will be meaningless when references states and standard states have not been defined
appropriately. They can be applied to not only system components [i.e., MUR(comp) or MU(comp),
ACR(comp) or AC(comp)] but also phase constituents (species) [i.e., MUR(sp,ph) or
MU(sp,ph), ACR(sp,ph) or AC(sp,ph)].
(2) In case of species, Thermo-Calc can calculate chemical potentials and activities of species in solution
phases where there is only one sublattice (and of course there is a corresponding solution model to
handle such property calculations), for instance:
GAS mixture: MUR(species,GAS) and ACR(species,GAS)
treated by ideal EOS and ideal mixing model
or an implemented non-ideal model.
AQUEOUS solution: MUR(species,AQUEOUS) and ACR(species,AQUEOUS)
treated by DHLL, SIT, PITZ or HKF model
LIQUID solution: MUR(species,LIQUID) and
ACR(species,LIQUID)
(metallic) treated by RKM or another model
However, it is impossible to calculate such properties if a solution phase has two or more sublattice
sites:
Non-substitutional phase:
e.g., FCC: (Fe,Cr)1(C,N,Va)1
Ionic Two-sublattice phase:
e.g., ION_LIQ: (Cr+3,Fe+2)1(O-2,FeO3/2,VA)1
SPINEL: (Fe+3,Fe+2)1(Fe+3,Fe+2,Va)2(Fe+2,Va)2(O-2)4
(3) In case of system components, MU(comp)_HSER and AC(comp)_HSER [i.e., MU(comp) and
AC(comp) with respect to the HSER reference state] always remain the same (when T-P-X
conditions are fixed), regardless how the reference states of system components are defined; this is
because the MU(comp)_HSER and AC(comp)_HSER quantities are calculated using the store
Gibbs free energy expressions in the database which are already based on the HSER reference state
(see above). Therefore, the AC(comp)_HSER value does not have any physical meaning.
Furthermore, when the default SER (and implicitly HSER) reference state is used and PT conditions are
defined, the retrieved (from the TDB module) and calculated (in the GES/POLY modules) values for
G0(phase,species) and G0(phase) are:
δG0(ph,sp)PT = G0(ph,sp)PT - H298(SER)
= <as in TDB/GES>
δG0(ph)PT = G0(ph)PT - H298(SER)
= <as in TDB/GES>
and it is always true that
MUR(comp)_HSER = MU(comp@HSER) = MU0(comp)@HSER
ACR(comp)_HSER = AC(comp)_HSER
After having appropriately set a reference state (other than the SER/HSER state), a new “Gibbs free
energy reference plane” is built up for the defined system, and the MUR(comp)_RefSt property is
a quantity measuring the difference between the “Gibbs free energy surface” (corresponding to a
defined temperature-pressure-composition condition) and “Gibbs free energy reference plane”, and
thus its ACR(comp)_RefSt value becomes physically meaningful. For instance, by setting the
reference state of a component as in a given phase (normally the stable phase SP of the component at
298.15 and 1 bar, but not always necessary SP) at the current temperature * (or 298.15 K or 970 oC)
and at 1 bar:
---------------------------------------------------------------
RefSt = SP * 101325 (donated as _1T)
(i.e., by "s-r-s comp SP * 101325")
δG0(ph,sp)-PT = [G0(ph,sp)-PT - H298(SER)]
-[G0(ph,sp)-1T - H298(SER)]
= G0(ph,sp)-PT - G0(ph,sp)-1T
δG0(ph)-PT = [G0(ph)-PT - H298(SER)] - [G0(ph)-1T -H298(SER)]
= G0(ph)-PT - G0(ph)-1T
MUR(comp)-1T = delta{δG(sys)-PT} / delta{δN(comp)}
= MU(comp)-PT -MU0(comp)-1T
ACR(comp)-1T = exp[MUR(comp)-1T / RT]
---------------------------------------------------------------
RefSt = SP 298.15 101325 (donated as _RPT, i.e., as room-PT)
(i.e., by "s-r-s comp SP 298.15 101325")
δG0(ph,sp)-PT = [G0(ph,sp)-PT - H298(SER)]
-[G0(ph,sp)-RPT - H298(SER)]
= G0(ph,sp)-PT - G0(ph,sp)-RPT
δG0(ph)-PT = [G0(ph)-PT - H298(SER)] - [G0(ph)-RPT -H298(SER)]
= G0(ph)-PT - G(ph)-RPT
MUR(comp)-RPT = delta{δG(sys)-PT} / delta{δN(comp)}
= MU(comp)-PT - MU0(comp)-RPT
ACR(comp)-RPT = exp[MUR(comp)-RPT / RT]
---------------------------------------------------------------
(4) During a critically-assessment, one should always extremely careful in using activity information: a
measured activity is always based on an experimentally-chosen reference state for that particular
component/species.
Now, let’s come to some examples, to see how to properly set the reference states for system components and to
correctly obtain and interpret the activity properties. Below is a detailed list of such example calculation results
using the SSOL2 database (showing both the correct and wrong settings):
=========================================================================
A) Pure C System:
Condition P=101325 Pa, T=1000 K, N=1
-------------------------------------------------------------------------
ref_ph ref_T/P AC(C) ACR(C) MU(C) MUR(C) Gm(gra) NP(gra)
Gm
-----------------------------------------------------------------------
SER .21818 .21818 -12658.3 -12658.3 -12658.3 1
-12658.3
---------------------------------------------------
Why? Graphite (stable element) is stable at 1000 K
MU0(C)@HSER = -12658.3
MU0(C@1000K) = -12658.3
MU(C@1000K) = MU0(C@1000K) = MU0(C)@HSER
= -12658.3
--> MU(C) = MU(C@1000K) = -12658.3
AC(C) = exp[MU(C)/RT] = 0.21818
MUR(C) = MU(C@1000K) = -12658.3
ACR(C) = exp[MUR(C)/RT] = 0.21818
------------------------------------------------------------------------
gra * 101325 .21818 1 -12658.3 0 -12658.3 1
-12658.3
---------------------------------------------------
Why? Graphite (stable element) is stable at 1000 K
MU0(C)@1000K = -12658.3
MU0(C@1000K) = -12658.3
MU(C@1000K) = MU0(C@1000K)
= -12658.3
--> MU(C) = MU(C@1000K) = -12658.3
AC(C) = exp[MU(C)/RT] = 0.21818
MUR(C) = MU(C@1000K)-MU0(C)@1000K
= (-12658.3) - (-12658.3) = 0
ACR(C) = exp[MUR(C)/RT] = 1
------------------------------------------------------------------------
gra 298.15 101325 .21818 .26805 -12658.3 -10946.8 -12658.3 1
-12658.3
---------------------------------------------------
Why? Graphite (stable element) is stable
MU0(C)@298.15 = -1711.5
MU0(C@1000K) = -12658.3
MU(C@1000K) = MU0(C@1000K)
= -12658.3
--> MU(C) = MU(C@1000K) = -12658.3
AC(C) = exp[MU(C)/RT] = 0.21818
MUR(C) = MU(C@1000K)-MU0(C)@298.15
= (-12658.3) - (-1711.5) = -10946.8
ACR(C) = exp[MUR(C)/RT] = 0.26805
------------------------------------------------------------------------
---- But the following extrapolations are not appropriate at all !!!
gra 200 101325 .21818 .25465 -12658.3 -11373.2 -12658.3 -12658.3
gra 100 101325 .21818 .22604 -12658.3 -12364.1 -12658.3 -12658.3
gra 95 101325 .21818 .21765 -12658.3 -12678.5 -12658.3 -12658.3
gra 10 101325 .21818 0 -12658.3 -9609698 -12658.3 -12658.3
=========================================================================
=========================================================================
B) Pure Fe System:
Condition P=101325 Pa, T=1000 K, N=1
------------------------------------------------------------------------
ref_ph ref_T/P AC(Fe) ACR(Fe) MU(Fe) MUR(Fe) Gm(bcc) NP(bcc)
Gm
------------------------------------------------------------------------
SER .00619 .00619 -42271.7 -42271.7 -42271.7 1
-42271.7
---------------------------------------------------
Why? BCC_Fe (stable element) is stable at 1000 K
MU0(Fe)@HSER = -42271.7
MU0(Fe@1000K) = -42271.7
MU(Fe@1000K) = MU0(Fe@1000K) = MU0(Fe)@HSER
= -42271.7
--> MU(Fe) = MU(Fe@1000K) = -42271.7
AC(Fe) = exp[MU(Fe)/RT] = 0.00619
MUR(Fe) = MU(Fe@1000K) = -42271.7
ACR(Fe) = exp[MUR(Fe)/RT] = 0.00619
------------------------------------------------------------------------
bcc * 101325 .00619 1 -42271.7 0 -42271.7 1
-42271.7
---------------------------------------------------
Why? BCC_Fe (stable element) is stable at 1000 K
MU0(Fe)@1000K = -42271.7
MU0(Fe@1000K) = -42271.7
MU(Fe@1000K) = MU0(Fe@1000K)
= -42271.7
--> MU(Fe) = MU(Fe@1000K) = -42271.7
AC(Fe) = exp[MU(Fe)/RT] = 0.00619
MUR(Fe) = MU(Fe@1000K)-MU0(Fe)@1000K
= (-42271.7) - (-42271.7) = 0
ACR(Fe) = exp[MUR(Fe)/RT] = 1
------------------------------------------------------------------------
bcc 298.15 101325 .00619 .01674 -42271.7 -34139.0 -42271.7 1
-42271.7
---------------------------------------------------
Why? BCC_Fe (stable element) is stable at 1000 K
MU0(Fe)@298.15 = -8132.1
MU0(Fe@1000K) = -42271.7
MU(Fe@1000K) = MU0(Fe@1000K)
= -42271.7
--> MU(Fe) = MU(Fe@1000K) = -42271.7
AC(Fe) = exp[MU(Fe)/RT] = 0.00619
MUR(Fe) = MU(Fe@1000K)-MU0(Fe)@298.15
= (-42271.7) - (-8132.1) = -34139.0
ACR(Fe) = exp[MUR(Fe)/RT] = 0.01674
------------------------------------------------------------------------
---- But the following extrapolations are not appropriate at all !!!
bcc 200 101325 .00619 .01258 -42271.7 -36380.0 -42271.7 -42271.7
bcc 100 101325 .00619 .01086 -42271.7 -37604.0 -42271.7 -42271.7
bcc 50 101325 .00619 .01042 -42271.7 -37947.2 -42271.7 -42271.7
bcc 25 101325 .00619 .00933 -42271.7 -38863.4 -42271.7 -42271.7
bcc 11 101325 .00619 .00625 -42271.7 -42201.9 -42271.7 -42271.7
=========================================================================
=========================================================================
C) Binary Fe-C System:
Condition P=101325 Pa, T=1000 K, N=1, X(C)=0.5
------------------------------------------------------------------------
ref_ph ref_T/P AC(C) ACR(C) MU(C) MUR(C) Gm(gra) NP(gra)
AC(Fe) ACR(Fe) MU(Fe) MUR(Fe) Gm(bcc) NP(bcc)
Gm
------------------------------------------------------------------------
C-SER .21818 .21818 -12658.3 -12658.3 -12658.3 .49963875
Fe-SER .00619 .00619 -42277.8 -42277.8 -42256.4 .50036125
-27468.1
---------------------------------------------------
Why? Graphite & BCC_Fe are stable at 1000 K
MU0(C)@HSER = -12658.3
MU0(C@1000K) = -12658.3
MU(C@1000K) = MU0(C@1000K)+'ex-contribution(C)'
= -12658.3
MU0(Fe)@HSER = -42271.7
MU0(Fe@1000K) = -42271.7
MU(Fe@1000K) = MU0(Fe@1000K)+'ex-contribution(Fe)'
= -42277.8
--> MU(C) = MU(C@1000K) = -12658.3
AC(C) = exp[MU(C)/RT] = 0.21818
MUR(C) = MU(C@1000K) = -12658.3
ACR(C) = exp[MUR(C)/RT] = 0.21818
--> MU(Fe) = MU(Fe@1000K) = -42277.8
AC(Fe) = exp[MU(Fe)/RT] = 0.00619
MUR(Fe) = MU(Fe@1000K) = -42277.8
ACR(Fe) = exp[MUR(Fe)/RT] = 0.00619
------------------------------------------------------------------------
C-gra * 101325 .21818 1 -12658.3 0 -12658.3 .49963875
Fe-bcc * 101325 .00619 .99928 -42277.8 -6.1 -42256.4 .50036125
-27468.1
---------------------------------------------------
Why? Graphite & BCC_Fe are stable at 1000 K
MU0(C)@1000K = -12658.3
MU0(C@1000K) = -12658.3
MU(C@1000K) = MU0(C@1000K)+'ex-contribution(C)'
= -12658.3
MU0(Fe)@1000K = -42271.7
MU0(Fe@1000K) = -42271.7
MU(Fe@1000K) = MU0(Fe@1000K)+'ex-contribution(Fe)'
= -42277.8
--> MU(C) = MU(C@1000K) = -12658.3
AC(C) = exp[MU(C)/RT] = 0.21818
MUR(C) = MU(C@1000K)-MU0(C)@1000K
= (-12658.3) - (-12658.3) = 0
ACR(C) = exp[MUR(C)/RT] = 1
--> MU(Fe) = MU(Fe@1000K) = -42277.8
AC(Fe) = exp[MU(Fe)/RT] = 0.00619
MUR(Fe) = MU(Fe@1000K)-MU0(Fe)@1000K
= (-42277.8) - (-42271.7) = -6.1
ACR(Fe) = exp[MUR(Fe)/RT] = 0.99928
------------------------------------------------------------------------
C-gra 298.15 101325 .21818 .26805 -12658.3 -10946.8 -12658.3 .49963875
Fe-bcc 298.15 101325 .00619 .01646 -42277.8 -34145.0 -42256.4 .50036125
-27468.1
---------------------------------------------------
Why? Graphite & BCC_Fe are stable at 1000 K
MU0(C)@298.15 = -1711.5
MU0(C@1000K) = -12658.3
MU(C@1000K) = MU0(C@1000K)+'ex-contribution(C)'
= -12658.3
MU0(Fe)_298.15 = -8132.1
MU0(Fe@1000K) = -42271.7
MU(Fe@1000K) = MU0(Fe@1000K)+'ex-contribution(Fe)'
= -42277.8
--> MU(C) = MU(C@1000K) = -12658.3
AC(C) = exp[MU(C)/RT] = 0.21818
MUR(C) = MU(C@1000K)-MU0(C)@298.15
= (-12658.3) - (-1711.5) = -10946.8
ACR(C) = exp[MUR(C)/RT] = 0.26805
--> MU(Fe) = MU(Fe@1000K) = -42277.8
AC(Fe) = exp[MU(Fe)/RT] = 0.00619
MUR(Fe) = MU(Fe@1000K)-MU0(Fe)@298.15
= (-42277.8) - (-8132.1) = -34139.0
ACR(Fe) = exp[MUR(Fe)/RT] = 0.01674
------------------------------------------------------------------------
---- But the following extrapolations are not appropriate at all !!!
gra 200 101325 .21818 .25465 -12658.3 -11373.2 -12658.3
bcc 200 101325 .00619 .01258 -42277.8 -36380.0 -42256.4
-27468.1
=========================================================================
=========================================================================
D) Binary Fe-Cr-C System:
Condition P=101325 Pa, T=1000 K, N=1, X(C)=0.1, X(Cr)=0.2
------------------------------------------------------------------------
ref_ph ref_T/P AC(C) ACR(C) MU(C) MUR(C) Gm(gra) NP(gra)
AC(Cr) ACR(Cr) MU(Cr) MUR(Cr) Gm(bcc) NP(bcc)
AC(Fe) ACR(Fe) MU(Fe) MUR(Fe) Gm(m7c3) NP(m7c3)
Gm
------------------------------------------------------------------------
C-SER .01840 .01840 -33218.3 -33218.3 -12658.3 0
Cr-SER .00132 .00132 -55129.9 -55129.9 -42863.3 .66692425
Fe-SER .00602 .00602 -42503.4 -42503.4 -46577.0 .33307575
-44100.2
---------------------------------------------------
Why? BCC & M7C3 are stable at 1000 K
MU0(C)@HSER = -12658.3
MU0(C@1000K) = -12658.3
MU(C@1000K) = MU0(C@1000K)+'ex-contribution(C)'
= -33218.3
MU0(Cr)@HSER = -36693.7
MU0(Cr@1000K) = -36693.7
MU(Cr@1000K) = MU0(Cr@1000K)+'ex-contribution(Cr)'
= -55129.9
MU0(Fe)@HSER = -42271.7
MU0(Fe@1000K) = -42271.7
MU(Fe@1000K) = MU0(Fe@1000K)+'ex-contribution(Fe)'
= -42503.4
--> MU(C) = MU(C@1000K) = -33218.3
AC(C) = exp[MU(C)/RT] = 0.0184
MUR(C) = MU(C@1000K) = -33218.3
ACR(C) = exp[MUR(C)/RT] = 0.0184
--> MU(Cr) = MU(Cr@1000K) = -55129.9
AC(Cr) = exp[MU(Cr)/RT] = 0.00132
MUR(Cr) = MU(Cr@1000K) = -55129.9
ACR(Cr) = exp[MUR(Cr)/RT] = 0.00132
--> MU(Fe) = MU(Fe@1000K) = -42503.4
AC(Fe) = exp[MU(Fe)/RT] = 0.00602
MUR(Fe) = MU(Fe@1000K) = -42503.4
ACR(Fe) = exp[MUR(Fe)/RT] = 0.00602
------------------------------------------------------------------------
C-gra * 101325 .01840 .08435 -33218.3 -20560.0 -12658.3 0
Cr-bcc * 101325 .00132 .10889 -55129.9 -18436.2 -42863.3 .66692425
Fe-bcc * 101325 .00602 .97252 -42503.4 -231.694 -46577.0 .33307575
-44100.2
---------------------------------------------------
Why? BCC & M7C3 are stable at 1000 K
MU0(C)@1000K = -12658.3
MU0(C@1000K) = -12658.3
MU(C@1000K) = MU0(C@1000K)+'ex-contribution(C)'
= -33218.3
MU0(Cr)@1000K = -36693.7
MU0(Cr@1000K) = -36693.7
MU(Cr@1000K) = MU0(Cr@1000K)+'ex-contribution(Cr)'
= -55129.9
MU0(Fe)@1000K = -42271.7
MU0(Fe@1000K) = -42271.7
MU(Fe@1000K) = MU0(Fe@1000K)+'ex-contribution(Fe)'
= -42503.4
--> MU(C) = MU(C@1000K) = -33218.3
AC(C) = exp[MU(C)/RT] = 0.0184
MUR(C) = MU(C@1000K) - MU0(C)@1000K
= (-33218.3) - (-12658.3) = -20560.0
ACR(C) = exp[MUR(C)/RT] = 0.08435
--> MU(Cr) = MU(Cr@1000K) = -55129.9
AC(Cr) = exp[MU(Cr)/RT] = 0.00132
MUR(Cr) = MU(Cr@1000K) - MU0(Cr)@1000K
= (-55129.9) - (-36693.7) = -18436.2
ACR(Cr) = exp[MUR(Cr)/RT] = 0.10889
--> MU(Fe) = MU(Fe@1000K) = -42503.4
AC(Fe) = exp[MU(Fe)/RT] = 0.00602
MUR(Fe) = MU(Fe@1000K) - MU0(Fe)@1000K
= (-42503.4) - (-42271.7) = -231.694
ACR(Fe) = exp[MUR(Fe)/RT] = 0.97252
------------------------------------------------------------------------
C-gra 298.15 101325 .01840 .02261 -33218.3 -31506.7 -12658.3 0
Cr-bcc 298.15 101325 .00132 .00307 -55129.9 -48110.8 -42863.3 .66692425
Fe-bcc 298.15 101325 .00602 .01602 -42503.4 -34370.7 -46577.0 .33307575
-44100.2
---------------------------------------------------
Why? BCC & M7C3 are stable at 1000 K
MU0(C)@298.15 = -1711.5
MU0(C@1000K) = -1265.8
MU(C@1000K) = MU0(C@1000K)+'ex-contribution(C)'
= -33218.3
MU0(Cr)@298.15 = -7019.1
MU0(Cr@1000K) = -36693.7
MU(Cr@1000K) = MU0(Cr@1000K)+'ex-contribution(Cr)'
= -55129.9
MU0(Fe)@298.15 = -8132.1
MU0(Fe@1000K) = -42271.7
MU(Fe@1000K) = MU0(Fe@1000K)+'ex-contribution(Fe)'
= -42277.8
--> MU(C) = MU(C@1000K) = -33218.3
AC(C) = exp[MU(C)/RT] = 0.0184
MUR(C) = MU(C@1000K) - MU0(C)@298.15
= (-33218.3) - (-1711.5) = -31506.7
ACR(C) = exp[MUR(C)/RT] = 0.02261
--> MU(Cr) = MU(Cr@1000K) = -55129.9
AC(Cr) = exp[MU(Cr)/RT] = 0.00132
MUR(Cr) = MU(Cr@1000K) - MU0(Cr)@298.15
= (-55129.9) - (-7019.1) = -48110.8
ACR(Cr) = exp[MUR(Cr)/RT] = 0.00307
--> MU(Fe) = MU(Fe@1000K) = -42503.4
AC(Fe) = exp[MU(Fe)/RT] = 0.00602
MUR(Fe) = MU(Fe@1000K) - MU0(Fe)@298.15
= (-42503.4) - (-8132.1) = -34370.7
ACR(Fe) = exp[MUR(Fe)/RT] = 0.01602
------------------------------------------------------------------------
Questions:
Why do I get a different activity when I set reference state as gas at temperature versus when I use the
command "show acr(o,gas)"?
What reference states should I use when comparing activity in a gas versus activity in a solid so that I am
comparing the same types of number?
If I have a gas system (H,N,O,C) and set the reference state for O as "gas" I get one activity, but if I type the
command "show acr(o,gas)" I get another value of activity which is equal to the partial pressure of O
(not O2). The same is true for H and N. So what is the difference in reference state when I "set ref state"
versus specify the reference state in the "show" command?
Explanations:
As described above, there are two different concepts of activity (AC/ACR - with/without referring to defined
reference states):
For system components: AC(comp) and ACR(comp)
e.g., AC(O) and ACR(O)
AC(O2) and ACR(O2) (if O2 is set as a system component)
For species (phase constituents): AC(sp,ph)=ACR(sp,ph)
e.g., AC(O,GAS)=ACR(O,GAS),
AC(O2,GAS)=ACR(O2,GAS)
AC(O2,AQ)=ACR(O2,AQ)
Normally, ACR(O) is not the same as ACR(O,GAS), because they have totally different meanings; their
difference could end up to many orders of magnitude. Since the ideal EOS and ideal mixing model is used for the
GAS phase in SSUB3, the ACR(O,GAS) is always equal to the y(O,GAS) quantity.
The proper way for setting reference states for system components O, H and N, e.g., in a defined He-O-H-C-
N+Me system, is normally as follows:
S-R-S O GAS * 101325
S-R-S H GAS * 101325
S-R-S N GAS * 101325
And if graphite (or C_S) is included in a defined system, for the component C the reference state is usually
defined as:
S-R-S C GRA * 101325
Note that it is often to set the constant pressure as 1E5 Pascal (i.e., 1 bar), instead of 101325 Pascal (1 atm), for
convenience and simplicity.
Furthermore, AC(O) is unique for a defined system, while ACR(sp,ph) for O in GAS is different from that for
O in alloy phases. Please note that, for alloy solution phases with more than one sublattice sites, e.g., FCC_A1
defined as (Fe,Cr,O)1(C,N,Va)1, it is impossible to calculate ACR(O,FCC).
If you want to investigate the tendency of gas absorption/extraction in metallic alloy or other solid phases, you
can first calculate e.g. ACR(O) quantity in gaseous mixture (only) and metallic alloy/solid phases (without gas
phase included), in separate calculations but using the same settings of reference states (for O, H and N). Then, by
comparing the ACR(O) quantity in two separate cases, you can judge the tendency. Under such a circumstance,
the gas phase is unnecessary in equilibrium with the alloy/solid phases if including all of them in another
equilibrium calculation (see below).
The other way is like that demonstrated by the TCC Examples 11 and 32, i.e., including gaseous mixture and
alloy/solid phases in a system. Under such a situation, the calculation is made in a sense of full equilibrium in the
combined system (the gaseous mixture is either stable or unstable along with the considered alloy/solid phases in
the defined system).
The TCC Example 11 (oxidation of Cu2S in an H-O gas mixture) is an equilibrium calculation of appropriate
input amounts of H and O (and their ratio) to avoid Cu2O formation (from Cu2S). The calculation is intended to
only show the input amounts of H and O (and their ratio); but if having set their reference state (as mentioned
above), one can list out the ACR(O) and ACR(H), as well as ACR(O,GAS) and ACR(H,GAS), under two
different equilibria (one as Cu2O already formed, and the other Cu2O starts to form), so that one can understand
the redox condition in the system.
The TCC Example 32 is similar to Example 11, but the former one is to calculate the ACR(O,GAS) and
ACR(O2,GAS) conditions (i.e., partial pressures of O and O2 in the gaseous mixture) for forming Cr2O3 and
other oxides on the surface layer of a steel. The calculation is made after setting the reference state of system
component O as the GAS phase under current temperature of a constant pressure of 1 bar. As indicated above,
such a calculation does not necessarily require the GAS mixture phase being stable in the system, since we are
only interested in knowing the partial pressures of O (and O2) in the atmosphere (which is sustained by the
considered gas species and often plus some inactive species such as He), which is related to the ACR(O) quantity
in the whole system (controlling the O behaviour in both GAS mixture and alloy/solid phases).
LIST_CONDITIONS List all conditions that are set by the command POLY
SET_CONDITION and the command sequence ED-EXP
CHANGE_STATUS PHASE ... =FIX 0 or 1.
List the present values of the output and optimizing PARROT
conditions on screen or a simple text file which can be
opened and edited by a text editor later on.
LIST_CONSTITUTION List all the constitution (as site-fractions) for all the phases GES
in the defined system on screen.
LIST_DATA List all data for the entered system in a readable manner on GES
the output file or on screen.
LIST_DATA_TABLE List various properties (i.e., the Y-axis variable on a POST
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 after a STEP calculation. The listing
output can be either on screen or into a spreadsheet
file in the MS Excel format (under a user-specified
file name with the default file extension of XLS).
LIST_DATABASE List all elements, species, phases or phase constituents in TDB
the current database.
LIST_DESIGN List the design details of the creator, but has not been REACTOR
implemented yet.
LIST_EQUILIBRIUM List the result from the last calculated equilibrium. POLY
ED-EXP
LIST_INITIAL_EQUILIBRIA List all the initial equilibria that are added with the ADD- POLY
INITIAL-EQUILIBRIUM command.
LIST_PARAMETER List the TP-function(s) of a specific parameter for a GES
specified phase on screen. PARROT
LIST_PHASE_DATA List all data for a specific phase in a readable manner on GES
screen. PARROT
LIST_PLOT_SETTINGS List the present values of most parameters specifying the POST
type of diagram to be plotted.
LIST_RECORDS List all the already-created records for the reactor REACTOR
(including stage boxes, dividers, pipes, etc.).
LIST_RESULT List result of the current optimization run on screen or a PARROT
specified file.
LIST_STATUS List status of components, species and/or phases. GES
POLY
ED-EXP
LIST_STORE_FILE Write on screen the name of the store file and its full path. PARROT
LIST_SUBSTANCE List all species in the current database with a certain set of TAB
elements.
LIST_SYMBOL List the definitions of a specified or all defined constants, GES
LIST_SYMBOLS functions, variables and tables.
POLY
POST
ED-EXP
LIST_SYMBOL_IN_GES List TP-function(s) for the entered model parameters PARROT
for phases in the system on screen.
LIST_SYSTEM List all elements, species, phases or phase constituents in TDB
the defined system.
LOAD_INITIAL_EQUILIBRIUM Copy all the conditions and calculated results from a POLY
previously added initial equilibrium to the current
equilibrium. The current conditions and results are lost.
MACRO_FILE_OPEN Open a MACRO file that predefines sequences of SYS
commands, and then execute them. The MACRO must
TAB
be terminated with the EXIT command, or in the SYS,
GES, POLY, PARROT or POST module with the SET- POLY
INTERACTIVE command. PARROT
MAKE_EXPERIMENTAL_DATAFILE Write the graphical information on screen or an EXP file POST
using the DATAPLOT format.
MAKE_POP_FILE Write the interactively-made changes and additions of ED-EXP
experimental information to a new POP/DOP file or
overwrite them on an old POP/DOP file.
MAP Map a phase diagram from one or more initial equilibria. POLY
MERGE_WITH_DATABASE Get data from a file or additional database and merge them TDB
with the current set of data already read from another
database. (Disabled since TCCP).
MODIFY_LABEL_TEXT Move a label created with the ADD_LABEL command to POST
another position, or replace its text with another one.
NEW_DIRECTORY_FILE Open a new database initiation file (or called database TDB
directory file) generated by a local database manager or
user, for accessing additional databases that are not
predefined in the original database initiation file.
OPEN_FILE Specify a text file to be opened for uses in other SYS
commands where a unit number is necessary.
OPTIMIZE_VARIABLES Perform an optimization of variables. All system- PARROT
definition data needed for the optimization will be read
from the current work file (PAR). The result of the
optimization is automatically stored onto the current
work file.
PATCH It is only for those who think they know what they are TAB
PATCH_WORKSPACE doing! It has been taken away from the SYS module
GES
since TCCR.
PLOY
POST
REACTOR
PLOT_DIAGRAM Plot graphic information on a specific graphic device using POST
the plot format set by the SET_PLOT_FORMAT
command.
POST Switch to the post-processor, the POST module. POLY
PRINT_DIAGRAM Print the current diagram directly on a connected printer POST
with high quality.
QUICK_EXPERIMENTAL_PLOT Similar to the APPEND EXPERIMENTAL DATA POST
command, but it can be used when there is no graphical
information to be plotted in the POLY workspace. It
defines a pair of axis, 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)
file.
READ_WORKSPACE(S) Read the workspaces and calculated results from a POLY
module-related and specifically formatted file that was ED-EXP
saved previously with a SAVE_WORKSPACES
command.
REACTOR
READ_GES_WORKSPACE Read the GES workspaces from a GES file that was saved GES
SET_AXIS_TEXT_STATUS Change the text for a specific axis to the automatic text POST
given by axis specification or a text given by user.
SET_AXIS_TYPE Change the axis type of a specific axis between linear, POST
logarithmic and inverse axis.
SET_AXIS_VARIABLE Set an axis for calculating (STEP or MAP) a diagram. POLY
SET_COLOR Select different colors or line types on some types of POST
information on a diagram.
SET_COMMAND_UNITS Set input unit number (for reading inputs already prepared SYS
by a textual editor on a file) and output unit number (for
returning outputs).
SET_CONDITION Specify the one or several equilibrium conditions for the POLY
current equilibrium calculation, or reset them with new
values.
ED-EXP
SET_CORNER_TEXT Write texts in the corners (normally as subtitles) on a POST
plotted diagram.
SET_DIAGRAM_AXIS Specify an axis variable for a plot or a listing. POST
SET_DIAGRAM_TYPE Choose the diagram type as perpendicular plot or POST
triangular plot (Gibbs triangle, especially for ternary
systems).
SET_ENERGY_UNIT Set the energy unit as calories or joule, in all the TAB
subsequent outputs (tables, graphs, and files) in the
current calculation operation.
SET_FIX_VARIABLE Prescribe a fixed value to a variable that will be considered PARROT
as a constant at the optimization.
SET_FONT Select the font to be used for labels and numbers when POST
plotting the diagram under the currently selected graphic
device (by the SET_PLOT_FORMAT command).
SET_INPUT_AMOUNTS Specify how a system is made up from mixing of various POLY
substances.
SET_INTERACTIVE Reset the input and output units to their initial values, i.e., SYS
SET_INTERACTIVE_MODE keyboard and screen. Remember to add this as the last
GES
command to MACRO files.
TAB
POLY
POST
PARROT
SET_LABEL_CURVE_OPTION Identify the curves with digits and then list the meaning of POST
these digits beside the plot.
SET_LOG_FILE Save everything the user types in the TCC software, on a SYS
simple textual file that can be edited as a MACRO file.
SET_MINIMIZATION_OPTIONS Decide the options for adjusting Global Minimization POLY
settings, and other for adjusting the normal POLY
optimization routine (general calculations).
SET_NUMERICAL_LIMITS Change the criteria for convergence. POLY
ED-EXP
SET_OPTIMIZING_CONDITION Specify the conditions for the optimization. PARROT
SET_OPTIMIZING_VARIABLE Specify a variable to be estimated at the optimization (and PARROT
a start value for it).
SET_OUTPUT_LEVELS Choose what type of information the PARROT module PARROT
should give during the optimization procedure and when
the result is listed.
SET_PLOT_ENVIRONMENT Set the plot devices. SYS
SET_PLOT_FORMAT Set the format of the graphical output to different graphical POST
devices. TAB
SET_PLOT_OPTION Toggle on (Y) or off (N) the plotting of some options on a POST
plotted diagram.
SET_PLOT_SIZE Change the size of the diagram by specifying a global plot POST
size (as a relative scaling factor). Note the real size of
the plotted diagram depends on what output device the
user has chosen by the SET_PLOT_FORMAT command.
SET_PREFIX_SCALLING Set the prefix scaling of remote exponents with certain POST
powers for a specific axis.
SET_R_AND_P_NORM Change the default values of the gas constant (R) and/or GES
the pressure 1 bar (P) for interpreting the energy and
pressure units.
SET_RASTER_STATUS Select to have a raster (i.e., with gridlines on both axis POST
directions) plotted in the current diagram.
SET_REFERENCE_STATE Set the reference state for a component (referred to a POLY
selected phase, temperature and pressure) if the default
POST
reference state in the used database(s) does not suit.
ED-EXP
SET_SCALING_STATUS Set the scaling status of a specified axis variable as POST
automatic or manual scaling. For manual scaling, a
minimum and a maximum value must be given.
SET_SCALED_VARIABLE Specify the start value for a specific optimizing variable PARROT
(similar to the SET_OPTIMIZING_VARIABLE
command, but it is functional for only one optimizing
variable at one time), as well as its minimum and
maximum values.
SET_START_CONSTITUTION Set the start values of constitutions for an individual phase. POLY
ED-EXP
SET_START_VALUE Set a start value of an individual variable. POLY
ED-EXP
SET_STORE_FILE Specify a store file (a work PAR file, that was previously PARROT
generated by the command
CREATE_NEW_STORE_FILE) to be used for
compilation and optimization.
SET_TERMINAL Define the characteristics of the terminal. SYS
SET_TIC_TYPE Change the drawing of the axis tics (the placement of tic POST
marks on the axis, e.g., inside or outside or no tic
marks).
SET_TIELINE_STATUS Select to plot the tie-lines in two-phase fields, if the tie- POST
lines are in the plane of the calculation.
SET_TITLE Specify a title that will appear on all listed table and POST
plotted diagrams from the POST module in the current
run of Thermo-Calc.
SET_TRUE_MANUAL_SCALLING Toggle the manual scaling on or off for a specific axis. POST
SET_WEIGHT Change the contribution scale of the absolute difference ED-EXP
between the experimental and calculated values to the
sum of error (the uncertainty) for a single experimental
point or for a set of equilibria.
SHOW_PROBE Show the details of the created probe, but has not been REACTOR
implemented yet.
SHOW_VALUE Show on the screen the current value of any state variable, POLY
function or variable. ED-EXP
SPECIAL_OPTIONS Set special options for the current system and calculations. POLY
ED-EXP
START_SIMULATION Start the reactor simulation, and list the results for all REACTOR
iterations.
STEP_WITH_OPTIONS Initiate the stepping procedure with a specific option. POLY
STOP_ON_ERROR Define the way to prevent that an erroneous sequence of SYS
commands to the program will cause waste of computer
activity: either to terminate after an illegal or ambiguous
command (ON), or to reset the effect of such a command
(OFF).
STORE_ALL_WEIGHTS Store a new weight-set that is the current situation of ED-EXP
specified weights for all the different experimental
points read from the currently-selected
experimental data block in an assessment.
SWITCH_DATABASE Switch from the current database to a new one, and TDB
reinitializes the entire TDB module for defining a TAB
system (or the entire TAB module for defining a
substance or reaction) and the GES5 workspace for
storing retrieved data.
SUSPEND_PHASE_IN_PLOT Specify the lines originating from the presence of a certain POST
phase shall not be plotted on a diagram.
TABLE_HEAD Enter many experimental measurements of the same type ED-EXP
TABLE_VALUES in a table format. These commands should always be
used together and in a sequence (but only used in POP
TABLE_END
or DOP files).
TABULATE Give a table of values from equilibria calculated with a POLY
STEP command. POST
TABULATE_DERIVATIVES Automatically calculate all partial derivatives for a phase TAB
at a given composition. It is mainly for system
debugging purposes !
TABULATE_REACTION Tabulate thermodynamic property changes for a chemical TAB
reaction as a table, or one of the property’s variation can
be plotted against temperature as a graph, or saved as an
experimental file (with an extension of EXP).
TABULATE_SUBSTANCE Tabulate the thermodynamic data of a substance (and of a TAB
solution phase at a fixed composition) as a table, or one
of the property’s variation can be plotted against
temperature as a graph, or saved as an experimental file
(with an extension of EXP).
TRANSFER_START_VALUES Transfer the site fractions from a previous successfully- ED-EXP
calculated equilibria to the present experimental point.
Notes:
• All module commands can be used in a MACRO file (*.TCM).
• Some of the above module commands can be used in a relevant module-dependent file (such as
*.TDB/*.DAT, *.SETUP, *.POP/*.DOP).
SET_INTERACTIVE TCM file syntax for resetting the input and output units to their TCM/LOG
SET_INTERACTIVE_MODE initial values, i.e., keyboard and screen, and letting the
prompt be in the TAB, POLY, POST, GES, PARROT or
SYS module. Remember to add this as the last command to
MACRO files.
BLOCK / BLOCKEND DATASET command for defining how the current numeric EXP
data block (starts with BLOCK and ends with BLOCKEND)
shall be interpreted.
DATAPOINT Not actually a DATASET command, but as the basic EXP
DATAPLOT command, it performs an action at the current
point determined by the specified X/Y-coordinates.
CLIP DATASET command for turning the clipping on or off. EXP
ATTRIBUTE DATASET command for specifying where the current XY EXP
position is in the character or symbol plotbox.
LINETYPE DATASET command for redefining the current linetype in the EXP
plot.
DRAWLINE DATASET command for drawing a line starting at (x1,y1) to EXP
(xn,yn) through (x2,y2) (x(n-1), y(n-1)).
CHARSIZE DATASET command for redefining the default size of the EXP
characters in the plot.
SYMBOLSIZE DATASET command for redefining the current symbol size EXP
setting.
GLOBALSIZE DATASET command for redefining the default global size of EXP
the plot.
COLOR DATASET command for redefining the current color setting. EXP
FONT DATASET command for redefining the default font setting in EXP
the POST-processor.
STRING DATASET command for defining a string containing a text and EXP
operation codes (e.g., to change the default font settings).
TEXT DATASET command for writing the text or string EXP
“string_name” following the keyword TEXT, at the
current position,
FUNCTION DATASET command for defining and plotting a user-defined EXP
function.
PCFUNCTION DATASET command for appending a user-defined function to EXP
the current path.
PAINT DATASET command for painting the area enclosed by the EXP
current path in the current pattern.
INCLUDE DATASET command for including a file into the current input EXP
stream.
Notes:
• All file commands (file syntaxes) can be used only in certain types of textual files (such as TDB/DAT,
POP/DOP, TCM/LOG, EXP) as stated in the table.
• For non-textual file types (such as GES5, POLY3, PAR), the files are restrictively structured in binary
codes, and therefore are absolutely impossible be opened/edited outside the Thermo-Calc software
(TCC/TCW), DICTRA software and/or various Thermo-Calc programming interfaces.
• Since some chapters that are relevant to the aforementioned textual file commands have been extracted from
the TCCR User’s Guide and have been moved to other four separate documents, for details of the
following file commands, please refer to their corresponding individual documents:
TDB/DAT Thermo-Calc Database Guide;
EXP DATAPLOT Language User’s Guide and Examples.
List of Figures
Number Figure Caption Page
1-1 Examples of calculations with Thermo-Calc
1-2 Thermo-Calc related software, databases and interfaces
1-3 General structure of the Thermo-Calc package
1-4 Build your own application programs using the Thermo-Calc Engine
2-1 Modifying Your TCCP Shortcuts (with recommended values)
2-2 Working with a Linux/UNIX version of TCCP in TeraTerm windows (accessed from
Windows NT/2000/XP computers)
3-1 Definition of driving force
3-2 Extended CALPHAD method in the Thermo-Calc and DICTRA packages
3-3 Interaction between the user and modules in the Thermo-Calc package
3-4 TCW -- The easiest way to interact with Thermo-Calc (an example)
3-5 Thermo-Calc graphs in 3D viewed by a VRML web browser
3-6 Thermo-Calc coupled with DICTRA for diffusion simulations
3-7 Programming and graphical interfaces of the Thermo-Calc package
3-8 An advanced example of using the TQ interface: MICRESS
3-9 A simple example of using the TCAPI interface
3-10 An advanced example of using the TCAPI interface: PrecipiCalc
3-11 The TC MATLAB Toolbox in the MATLAB software package
3-12 The liquidus surface of the A-B-C system calculated and plotted, using the TC-Toolbox
in the MATLAB software
3-13a A Particle Dissolution During a Heating Sequence, using the TC MATLAB Toolbox.
3-13b The code and output of a sample program calculating the molar Gibbs energy curves,
using the TC MATLAB Toolbox.
8-1 The principle for calculating To temperature in a multicomponent system
8-2 Ternary Fe-M-C diagram where M is a substitutional alloying element and C is the fast
diffusing carbon
8-3 Phase diagram for an Fe-1C-0.5Mn-0.5Si-0.2C (wt%) steel. The calculated
paraequilibrium state and To temperature line are also imposed on the diagram
8-4 The “Save As” window: Saving the POLY3/GES5 workspaces as an *.POLY3 file
8-5 The warming message: If saving the POLY3/GES5 workspaces on an existing *.POLY3
file
8-6 The “Open file” window: Reading the POLY3/GES5 workspaces from an *.POLY3 file
8-7 Paraequilibrium calculation of isopleths: Formation of para-pearlite in two Fe-based
alloys, with equilibrium results appended.
9-1 The “ThermoCalc - graph” window: Options for graphical outputs
9-2 The “Save Metafile As” window: Save plotted diagram as an EMF file
9-3 The “Font” window: Globally change font for plotted diagram
9-4 The “Color” window: Adjust color for background and other purposes
9-5 The “Add Text to Diagram” window and its sub-window “Font”: Easily and flexibly edit
desired labelling/identifying texts
9-6 The The “Edit Arrow” window: Edit an arrow appearance
9-7 The “Set Symbol Number and Size” window: Choose a desired symbol
9-8 The “Print” window: Choices on connected printers and properties
9-9 The “Ghostscript” window: Proceeding printing
9-10 The “Save As” window: Saving the dumped graphical file
9-11 The “Open file” window: Opening an existing *.EXP file
9-12 An axample of triangular TC diagram viewed in 3D by Cortona VRML Client
9-13 An axample of tetrahedron TC diagram viewed in 3D by Cortona VRML Client
9-14 An axample of triangular TC diagram viewed in 3D by SIM VRMLView
9-15 An axample of tetrahedron TC diagram viewed in 3D by SIM VRMLView
10-1 Phase diagram, Gibbs energy curves and phase-fraction plot of the Fe-Cr binary system,
automatically calculated by the BIN module (outputs corresponding to the three main
options, P, G and F, respectively)
10-2 Other types of phase diagrams and property diagrams of the Fe-Cr binary system,
generated by the POST module, based on calculation results from the main options
(P, G and F)
10-3 Isothermal section (at 1000 K) and projected monovariant lines of the liquidus surface for
the Al-Mg-Si ternary system, automatically calculated by the TERN module (outputs
corresponding to the two main options, P and M, respectively)
10-4 Other types of phase diagrams and property diagrams of the Al-Mg-Si ternary system, generated
by the POST module, based on calculation results from the main options (P & M)
10-5 Potential diagram of the interaction between Fe and SO2/O2-bearing gas at 1000 K and 1
bar, automatically calculated and plotted by the POT module
10-6 Other types of potential diagrams and property plots of the Fe-S-O system, generated by
the POST module (directly after the POT-module calculation), or recalculated by the
POLY module at different pressures and/or temperatures
10-7 Pourbaix diagram of Fe (with 0.001 mole Fe in 1 kg of pure water at 25oC and 1 bar; gas
excluded in the calculation)
10-8 The pH-Eh diagrams for pure water at 25oC and 1 bar (in 8a), and for a 3mNaCl-
0.001mCO2-0.001mSO2 aqueous solution at 150oC and 100 bar (in 8b). Note that gas
is included in the calculation
10-9 Pourbaix diagram of Fe (with 0.001 mole Fe in 1 kg of pure water at 25oC and 1 bar; gas
included in the calculation)
10-10 Pourbaix diagrams of Fe (for varied Fe actively interacted with pure water or aqueous
solution at different temperature and pressure conditions; gas included in the
calculations)
10-11 Pourbaix diagrams and property plots of two Fe-based alloys, actively interacted with an
aqueous solution (1 kg of water with 3 m NaCl or 1E-5 m S2) at constant temperature
and pressure conditions
10-12 Property diagrams for the stable phase assemblages (aqueous solution involving)
magnetite+linnaeite+FCC(Ni-Co-Fe) and magnetite+hematite+pyrite+linnaeite+millerite in the
heterogeneous interaction between an Fe-based alloy (1E-3 m Fe, 5E-5 m Co and 5E-5 m Ni)
and an aqueous solution (1 kg of water, with 1E-6 m S2 or open to S2) at a pressure of 1 kbar
10-13 Scheil-Gulliver Model for simulations of alloy solidification process
10-14 Some SCHEIL-module simulation results for the solidification process of the Al-4Mg-2Si
alloy
10-15 Some comparisons among calculated results on solidification path of an Fe-10Cr-C alloy,
using various approaches
10-16 Solidification path simulation by both TCC (the SCHEIL module) and DICTRA, for an
Fe-18%Cr-8%Ni alloy
10-17 Schematic Illustration of Multi-Staged Steady-State Reactor Concepts
10-18 The “Open file” window: Reading the REACTOR workspace from an *.RCT file
10-19 The “Save As” window: Saving the REACTOR workspace as an *.RCT file
10-20 The warming message: If saving the REACTOR workspace on an existing *.RCT file
11-1 The “Save As” window: Saving the GES workspace file
11-2 The “Save As” warning window: Proceeding or canceling the saving
11-3 The “Open file” window: Opening the GES workspace file
12-1 The “Save As” window: Creating a stored work file
12-2 The “Save As” warning window: Proceeding or canceling the creating
12-3 The “Open file” window: Setting a stored PARROT workspace file
12-4 The “Open file” window: Opening an experimental data *.POP file
14-1 The “Save As” window: Saving all the subsequent commands in an *.LOG file
14-2 The “Open file” window: Opening an existing *.TCM file
15-1a Examples of all DIGLIB symbols (printed from TC Graph Window)
15-1b Examples of all DIGLIB symbols (in EMF format)
15-1c Examples of all DIGLIB symbols (in PostScript format)
15-2 Examples of all DIGLIB fonts and line types
15-3 PostScript outputs of the available PostScript fonts
15-4a Current ENCODING PostScript paint patterns (NORMAL video status)
15-4b Current ENCODING PostScript paint patterns (INVERSE video status)
A_A-1 File types and their relations in the Thermo-Calc Classic software 412
Notes:
• Since some chapters have been extracted from the TCCR User’s Guide and have been moved to other four
separate documents, for details of some above-listed diagrams, please refer to their corresponding
individual documents:
Chapter index as 3 (e.g. 3.2) Thermo-Calc Software System;
Chapter index as 4 or 6 Thermo-Calc Database Guide;
Chapter index as 15 (e.g. 15.4) DATAPLOT Language User’s Guide and Examples.
List of Tables
Number Table Title Page
1-1 Revision history of the Thermo-Calc software/database/interface package
1-2 Available hardware suitable for the Thermo-Calc Classic software (version R)
1-3 A benchmark calculation of the Thermo-Calc Classic software (version R)
3-1 State variables that can be used in the Thermo-Calc package
3-2 Derived variables predefined for aqueous solution and gaseous mixture phases
3-3 Various phases handled by the Thermo-Calc package
3-4 Different levels of the improvement of the Thermo-Calc user interface
3-5 Modules and application programming interfaces of the Thermo-Calc package
3-6 Major functionality of the Thermo-Calc software and interfaces
3-7 Some existing applications of the Thermo-Calc software and databases
4-1 List of the currently available Thermo-Calc databases
8-1 Handling of various phase and property diagrams for ternary systems in the TCC software
8-2 Examples of derived variables for aqueous solution and gaseous mixture phases
9-1 List of major graphic formats used for dumping a Thermo-Calc graph
10-1 Four main options in the POURBAIX module
11-1 List of a wide spectrum of thermodynamic models implemented in the GES module
13-1 Summary of the performance of POLY commands in the ED-EXP module
15-1 List of the available PostScript fonts
15-2a Current ENCODING vectors used by PostScript fonts 1-28 & 30-42
15-2b Current ENCODING vectors used by PostScript font 29
15-2c Current ENCODING vectors used by PostScript font 43
Notes:
• Since some chapters have been extracted from the TCCR User’s Guide and have been moved to other four
separate documents, for details of some above-listed tables, please refer to their corresponding individual
documents:
Chapter index as 3 (e.g. 3.2) Thermo-Calc Software System;
Chapter index as 4 or 6 Thermo-Calc Database Guide;
Chapter index as 15 (e.g. 15.4) DATAPLOT Language User’s Guide and Examples.