Frequently Asked Questions

FactSage™ 5.2 - FAQ

1. Introduction

FactSageTM is a thermochemical software and database package developed jointly between Thermfact/CRCT (Montreal) and GTT-Technologies (Aachen) and is the result of over 20 years of collaborative efforts. FactSage 5.1 is available on CD-ROM for use on a PC running under Windows 95, 98, 2000, Millennium, XP or NT (SP4, SP5 or SP6). (It will not run under Windows 3.1). The PC must have at least 64 MB RAM and 100 MB free disk space. It is recommended that the PC be at least 200 MHz.
  • FactSage 5.1 includes the following modules in a Windows environment:
    • Slide Show - slide show presentations of the modules including sample inputs - good for teaching and getting started
    • View Data - examine stored compound data (Cp(T), H, S, G, etc.) and list the solutions
    • Compound - enter pure substances data (Cp(T), H298, S298, etc.) in your private compound database
    • Solution - enter non-ideal mixing properties in your private solution database
    • Reaction - calculate the thermochemical properties of a species or chemical reaction
    • Predom - calculate and plot isothermal 1-, 2- and 3-metal predominance area diagrams using compound databases
    • Eph - calculate and plot 1-, 2- and 3-metal Eph (Pourbaix) diagrams using compound databases
    • Equilib - Gibbs energy minimization module featuring ChemSage for treating complex heterogeneous equilibrium using compound and solution databases - our most popular program
    • Phase Diagram - calculate and plot phase diagrams using compound and solution databases - also very popluar
    • Optimize - optimization of thermodynamic and phase diagram data
    • Results - graphics program for treating Equilib Results files
    • Mixture - edit mixtures and streams for input to Equilib
    • Figure -manipulate, edit and plot figure and phase diagrams already calculated by FactSage
  • Normally the FactSage 5.1 package includes either the FACT or SGTE compound and solution databases (you can get both if you want) with maintenance, support and updates to programs and databases.
  • FactSage 5.1 may be installed on a server for use at the site, or on a limited number of PCs for individuals.
  • Site licenses enable FactSage 5.1 to be used by all personnel at a geographical site.
  • Special academic rates are available.
  • For information on leasing or purchasing please contact us: (Montreal) or (Aachen).
FactSage is a thermochemical software and database package that runs under Microsoft Windows 95, 98, NT4 (SP4, SP5, SP6), Millennium, 2000 or XP (it will not run under Windows 3.1). It requires a fast computer (recommended minimum Pentium 200) with at least 64 MB RAM and 100 MB free disk space.

FactSage can be installed as a 1. Standalone, 2. Network File Server or 3. Network Client version on a local hard disk on the PC.

  • Standalone means one version of FactSage on the PC. The program can not be accessed by other PCs. The Standalone PC requires a security key (dongle) attached to the printer port. You will still be able to run the printer.
  • Network File Server means one public version of FactSage on the PC. The files can be read and copied by other PCs (Network Clients) but there will be no write operations to the server. The server directory is 'share read-only'. The Network File Server PC requires a computer password.


  • Network Client means that the PC is accessing FactSage files already installed on another PC (Network File Server). The Network Client does not require a password or a dongle - only the Network File Server requires a password.
North America
  • The annual FACT Workshop and Conference is held in Montreal at the Centre for Research in Computational Thermochemistry (CRCT) for 2-1/2 days, generally late May or early June from Monday to Wednesday. For the latest details check out FACT News
  • The Spencer Group (Ithaca, New York) organizes an annual thermochemical workshop at Cornell University generally during the week of Columbus Day (USA) / Thanksgiving Day (Canada). Members of the CRCT Group (Montreal) assist in the presentations.
  • GTT-Technologies regularly organizes training sessions in Germany. For the latest details check out GTT-Technologies.
FactSageTM is a thermochemical software and database package developed jointly between Thermfact/CRCT (Montreal) and GTT-Technologies (Aachen) and is the result of over 20 years of collaborative efforts. It is the fusion of two well-known software packages in the field of computational thermochemistry: FACT-Win (formerly FACT) and ChemSage (formerly SOLGASMIX). It consists of a series of modules that access and manipulate thermodynamic databases and perform various calculations. Some of the FactSage modules (Equilib, Phase Diagram) employ the Gibbs energy minimizer of ChemSage.

Thermfact Ltd. holds copyright and exclusive ownership of the following products:

  • FactSage programs except for the ChemSage components in Factsage.dll.
  • FACT compound and solution databases.

GTT-Technologies holds copyright and exclusive ownership of the following products:

  • ChemSage components in Factsage.dll.
  • ChemApp - the programmable object code used for the development of user-defined applications
  • SimuSage - the process simulation package under development, to be released at a future date.

Unless the bug is very serious we do not send out updates. In most cases we suggest a way to handle or avoid the bug. We plan to release the next version (FactSage 5.2) later this year. It will mainly contain improvements to the FACT and SGTE databases.

The FactSage 5.2 update was released during May 2003. The update permits you to upgrade both FactSage 5.0 (April 2001) and FactSage 5.1 (June 2002) to FactSage 5.2.

Although there are no changes to the databases, there are some major modifications and many minor changes to the FactSage modules. The following is a list of the major programming changes:


You can list the FactSage directories (help, data, my files, ChemSage, etc.) at any time by clicking on 'Tools > List of FactSage Directories ...'.

the debugging program ('Tools > Debug Program > ..') has been improved again. As with FactSage 5.1 it offers two levels of diagnostics that enable us to help you more efficiently when trying to resolve problems:

  • level 1 is for installation problems (ex: network, client, server, password and dongle issues)
  • level 2 is for run time problems (ex: bugs and crashes)
Throughout the FactSage modules you may now store figures and results in long file names that can include spaces, for example figure files in 
c:\My Results\My Figures\CaO-MgO-SiO2-Al2O3.fig
(although it is still recommended to install FactSage in the c:\FactSage directory)

Slide Show

Presentations for some of the modules (Phase Diagram, Predom) have been updated and new presentations (EpH, Advanced Equilib) have been added.


  • The Tools > scale up - scale down bug is fixed. (The heat of transformation, if any, of any species created by this option was incorrect.)
  • the mixer option has been modified


The bug with respect to magnetism in the Reaction module has been fixed. You can now include magnetic phases (FACT - NiO(s), SGTE Fe(s1), Fe(s2), Ni, etc.).

Predom and EpH

  • You can now specify various Units for temperature (K, C, F) and pressure (atm, bar, psi)
  • A bug that appeared in EpH diagrams above 500 K ('Run-time error 9: Subscript out of range') has been fixed


There are more sample calculations on the use of Equilib. In the Equilib Reactants Window click on 'File > Directories ..' and then select

  • 'Slide Show - Advanced Examples' for new sample calculations on formation and precipitate phase targets, phase transitions, merging dilute components into solutions, Scheil cooling, etc.
  • 'OLI Systems Examples' for new sample calculations of the FactSage - OLI Databank link (the OLI SteamAnalyzer must be installed on the PC - see next).
The program is more robust and a little faster. 
OLI Systems, Inc has developed commercial computer software and databases that simulate aqueous-based chemical systems and employ a predictive thermodynamic framework for calculating the physical and chemical properties of multi-phase, aqueous-based systems. In addition to 79 inorganic elements and their associated aqueous species, the OLI Databank includes over 3000 organics (including electrolytes, chelates and organo-metallic species) applicable in the following ranges: temperature, -50 to 300 C; pressure, 0 to 1500 bar; ionic strength, 0 to 30 molal. Equilib can now import OLI aqueous data (possibly together with FACT, SGTE and other data) and employ them in the equilibrium calculations. Extensive details and examples are given in FactSage and the OLI Databank
In the Units Window Pa is now offered as a unit of pressure.
In the Menu Window a new merge option enables you to import ideal dilute solutes into existing solution phases. For example in the CaO-Al2O3-SiO2-Tl2O-HfO2 system, the FACT-SLAG (Slag-liquid) solution does not contain the components Tl2O and HfO2. With the dilute solution option you create an ideal Henrian solution of Tl2O and HfO2 in the usual manner and then merge this dilute solution into FACT-SLAG by going to the FACT-SLAG extended menu and then clicking on 'm - merge dilute components from > Ideal Solution #1'. The imported species will be treated as Henrian solutes in FACT-SLAG. For more details check out 'Slide Show - Advanced Examples'.
In the Menu Window Scheil phase targeting now offers an option that permits you to keep phases that would normally be dropped from the calculation after they are formed.
In the Selection Window an ideal solution may now be specified as a separate phase in addition to its compound components. This means that a compound species can be both a pure substance as well as part of a solution - it will appear in both phases in the Output Window. In such a case the output will list the activity of a species in solution with respect to its pure standard state.
In the Reactants Window you can now edit and add reactants, change databases, change units etc. without the program objecting as much as it has done so in the past.
In the Reactants Window macro processing (click on 'File > Macro processing > Macro processing - more' for info) has been expanded to permit one to read and write files in the process and get return values from completed shell processes. Details are given in the new macro files Equilib*.mac (* = 4, 5 and 6) - click on 'File > Edit macro .. > .. Equilib*.mac'
It is now possible to specify an equilibrated solution phase (including its thermodynamic property data) as a reactant. First the equilibrated solution phase is created via a regular Equilib calculation. Then in the Results Window the equilibrated solution phase is exported as a [Stream] (click on 'Output > Stream File > Save stream file > Save solution > ...'). This is the same as before but now its extensive properties (H, S, Cp etc.) are also automatically stored with the [Stream]. This means that when the [Stream] is then imported as a reactant via the Reactants Window (click on 'Edit > Mixtures & Streams > Import a stream > ...') it is now possible to check the 'Initial Conditions' box and perform extensive properties changes (Delta H, etc.) that include the reactant solution data. For example, enthalpic calculations could be performed on hot metal (93%Fe-4%C-1%Mn-1%Si-S from FACT-FeLq) that had first been equilibrated at 1600 C and saved as a [Stream], and then imported as a reactant together with other reactants at varying temperatures (hot air at 200 C and CaO(s) at 25 C).

Phase Diagram

The program is more robust and a little faster.
You can now calculate some phase diagrams that were not possible in the previous version.
Predominance area type diagrams (for example Cu-SO2-O2 - log(P(SO2)) vs log(P(O2) at 1000 K) have been modified so that the gas phase is not automatically made dormant (i.e. metastable 'M'). You can still keep the gas dormant but this will produce condensed phases that appear stable even although P(gas) >> P(total). Now you are permitted to include the gas as a stable phase in the calculation and produce a more realistic phase diagram.

After you have calculated and displayed a phase diagram in the Figure Window, if you return to the Phase Diagram Menu Window and then save it (click on 'File > Save As > ...'), the next time you recall this stored system you will be prompted 'Show the figure calculated last time?' If you replay 'Yes' then the previously calculated phase diagram will be displayed in the Figure Window and you can continue interacting with it as before (create labels, etc.), and again return to the Phase Diagram Menu Window and save it with the modifications, and so on.

Optimize - remains unchanged. We are working on a new optimizer that is currently part of the ChemSage module.


View Figure - remains unchanged. This module gives a very efficient but crude display of a figure. It employs little computer memory and is useful for displaying several figures at the same time. However for high quality displays, editing and manipulating use the Figure module instead.


Figure - now has a template for the 'Frame & Scale'. A User defined template can be saved and imported to create standard Frame & Scale properties (Font size, color, name, grids, etc...). This is done with the help of 2 new buttons on the "Edit Frame" form.

ChemSage Files

The importation of ChemSage files into the FactSage compound and solution databases is maintained and supported. The number of components remains at 32.
The SGTE Unary database (SGUNbase.cdb) - the reference data for the thermodynamic properties of the elements - is now included in the databases found in the FactSage data directory (to list the FactSage directories - help, data, my files, ChemSage, etc. - in the FactSage main menu click on 'Tools > List of FactSage Directories ...').
When ChemSage *.DAT files have been converted into FactSage compatible databases it may so happen that not all elementary components of the chemical system contained in the *.DAT file are treated as Pure Substances, i.e. pure stoichiometric solids, liquids or gases. For example in the Cr-Ni system there are only components of the three solutions Liquid, FCC_A1 and BCC_A2.
Thus the required entries for pure solid Cr and Ni which FactSage searches for when chemical inputs are defined, e.g. in the Reactants Screen of Equilib, will not be found and an error message will occur. This problem, and thus the error message, is avoided if one selects not only the converted ChemSage database files but also the SGUNBase for search of the elements and phases.
To add SGUN to your list of compound databases databases, in the [Reactants Window] of Equilib click on ‘Data Search > Databases > File > Add ...’). Select the 'compound' option, click on ‘Browse’ to open the [Open Window] and locate the \FactData folder on your PC. Select SGUNbase.cdb and click on ‘Open’ - this returns you to the [Compound - list of databases Window]. Now click on ‘OK’ and this will add SGUN to the list of databases accessible to FactSage.

We plan to release the next version (FactSage 5.3) at the end of this year. It will mainly contain improvements to the databases.

Yes we do. If offers many of the features of the full FactSage package but with reduced databases.

If you cannot find an answer to your question in this FAQ, please contact GTT's Technical Support

ChemApp light users Please note that in order to receive e-mail support for ChemApp light, you need to register. Registration is free and explained in the ChemApp light documentation (-> ChemApp documentation light/regular).

2. Data - Databases

In FactSage you can access two types of thermochemical databases - compound (i.e. pure substances) and real solutions. Compound databases are mainly for stoichiometric solid, liquid and gaseous species such as SiO2(s), FeS(liq), SO2(g). Allotropes (for example graphite C(s1) and diamond C(s2)) and isomers (for example ethylene C2H4O(liq1) and acetylene C2H4O (liq2)) may be included. Data on a few non-stoichiometric compounds such as FeOx (x = 0.947) are also stored. Depending on the type of phase (solid, liquid, gas) and data availability, the stored properties include Delta H(formation, 298.15K, 1bar), S(298.15K, 1bar), Cp(T), magnetic coefficients (Curie or Neel Temperature and magnetic moment), molar volumes (298.15K, 1bar) coupled with expansivities and compressibilities as functions of T. Dilute aqueous solution data (Henrian activity coefficients) and non-ideal gas properties (using Tcrit., Pcrit., Vcrit., the acentric factor (omega) and the dipole moment) are also stored in the compound databases.

Solution data are for solid and liquid alloys, concentrated aqueous solutions, ceramics, salts, mattes, slags etc. The data are stored in the form of Gibbs energy functions for the phase constituents and parameters for the excess Gibbs energy of mixing between the phase constituents. FactSage supports 14 different solution models including simple polynomial models such as the Redlich-Kister or the Legendre polynomial combined with different higher order extrapolations (Muggianu, Kohler, Toop), the quasichemical model, Pitzer parameters and sublattice models. Additional solution models are planned.

The following databases are currently available in FactSage:

  •  Compound Databases - note, a compound may contain several phases
    • FACT - FACT 5.0 compound database (over 4,400 compounds)+
    • ELEM - elements database (90 elements)+
    • SGPS - SGTE pure substances database (over 3,400 compounds)++
    • SGSL - SGTE intermetallic compounds (for use with SGSL solutions)++

  •  Solution Databases
    • FACT - FACT 5.0 solution database (120 multicomponent phases)+
    • SGSL - SGTE alloy solutions database (63 multicomponent alloy phases)++

With the FactSage package you would normally get either the FACT+ or SGTE++ databases - as you wish. You can also obtain both databases (for an additional cost).

Other databases are planned for the future including OLI aqueous solution database from Oli Systems, Inc. (see aqueous databases below), a light alloys database based on the European COST507 project, ThermoTech Ni, Al, Fe and Ti alloy databases, AEA and Thermodata databases for nuclear applications, etc. In most cases, an additional fee will be charged.

You can also create your own private databases using the Compound and Solution programs. With the Optimize program you can utilize experimental phase diagram and thermodynamic data in order to obtain the coefficients of G-functions of compounds or of the constituents of solid and liquid solution phases as well as the coefficients of excess Gibbs energy models for the solutions.

Furthermore, if you are a ChemSage user, you can convert ChemSage data files into FactSage compatible databases - see the section on ChemSage Files.

For dilute solutions there are several hundred aqueous species stored in the FACT compound database. For concentrated solutions there are Pitzer parameters for over 200 species stored in the FACT solution database (FACT-PITZ).

Various aqueous database projects are planned for the next release:

  • Access (for a supplementary fee) to the databases of OLI Systems Inc. for aqueous solutions and solid precipitates for 80 elements from -50o to 300oC, from 0 to 1,500 bar, and for concentrations up to saturation.
  • A new solution phase (FACT-HELG) of parameters for the modified Helgeson-Kirkham-Flowers (HKF) equation of state for the standard state properties of aqueous solutes for about 1340 species will be added to the FACT solution database.. This equation of state extends property calculations to high temperatures and pressures.
  • A concentrated aqueous solution model based on the Pitzer formalism and capable of use over an extended temperature range will be included in the FactSage software.
  • The zero parameter Debye-Huckel and Davies models for dilute aqueous solutions will be included in the FactSage software. You will be able to choose between the existing ideal solution model, these models or concentrated aqueous solution models.
  • Pure water properties - it is intended to enable users to be able to choose to calculate the properties of pure water liquid and vapour from any of the equations of state by Haar Gallagher and Kell (1984), by Hill (1991), by IAPWS95 (1995) and by IAPWS-IF97 (1997), as well as by the current simple heat capacity model.
Yes you can. You can include other databases as well - for example private data imported from a ChemSage file.

In most cases you would be using the Equilib and Phase Diagram programs where there is provision to ignore duplicate compounds. For example you could request the program to always use say FACT compound data and only use SGTE compound data if FACT data are not available, or visa versa.

On the other hand the solution databases are very different. FACT data are mainly for non-alloy systems (slags, mattes, ceramics) whereas SGTE data are for alloys. You could do calculations using say the FACT slag, ceramic and matte data with say the SGTE solid and liquid alloy solutions. Note that you must always use the SGSL compound database (for intermetallic compounds) together with the SGSL solution database since alloy systems contain both stoichiometric compounds and solutions.

The FACT and SGTE compound databases are quite similar and have identical data for the standard state elements.

On the other hand the solution databases are very different and tend to complement each other. The FACT solution database is directed more towards chemical metallurgy and chemical processing in general. The database includes over 120 solutions such as slags, ceramics, glasses, salts, mattes, dilute alloys, aqueous solutions etc. The SGTE solution database is more directed towards metal systems for materials applications and alloy development. The database contains Gibbs energies for more than 220 binary, ternary and quaternary alloy systems incorporating more than 60 solution phases and more than 200 stoichiometric intermetallic compounds.

A summary of data stored in the solution databases is given in the directory CD-ROM\FactSage\Manual. The Database Documentation is also helpful.

Yes if you are interested in a combination of phases that are mutually exclusively stored in the FACT and the SGTE databases. This holds for example for calculations of corrosion of alloys. The alloy phase data are stored in the SGSLbase and SGSLsoln database files whereas the possible corrosion products (oxides or salts, both as solutions or pure substances) are contained in the FS50Base and FS50Soln database files.

Some of the FactSage modules (Reaction, Predom, Eph, Equilib, Phase Diagram) require data for the standard state elements. A user with private data (for example an imported ChemSage file) may not wish to include all the FACT or SGTE compound species in his calculations, but at the same time his limited databases may be missing the standard state elements. The ELEM database provides the necessary standard state information on the elements - the data in ELEM are taken from the FACT and SGTE compound databases.

The parameters stored in these databases cannot be inspected with the program Solution. However, users who wish to have access to the parameters (for example, to extend or modify the databases by optimizaton of new data) should contact us. In may cases we will be pleased to prepare for you limited subsets (for a restricted number of components) that you can install as "private" databases that can be inspected and edited.

The reported data for Nd(g) includes a constant value for Cp at 298.15 K. Since Cp values are temperature dependent, this implies the Cp data will be imprecise at other temperatures. Nevertheless it will remain fairly constant over a few degrees and we have applied a conservative range of 5 K. Outside this temperature range in Equilib, for example, the species will be flagged with a 'T'.

When a Client PC first runs FactSage all databases and support files on the Server (i.e. all files of the type .sda, .sdb, .cdb, .crf, .htm and .txt) are copied or updated in the FactData directory of the Client PC (typically c:\FactSage\FactData). Any changes made to the Server databases will be automatically made to the Client PC databases the next time the Client PC runs FactSage.

These values are hard wired into the modules: 
e[-](g): mol. wt. = 0.00054876, DH(298K) = 0, S(298K)= 4.988 cal/mol, Cp (const) = 4.968 cal/mol-K

3. Windows Versions

FactSage 5.1 will run under Windows 95, 98, NT4, 2000, Millennium and XP (it will not run under Windows 3.1). You need a computer with at least 64 MB RAM, 100 MB free disk space that runs at 200 MHz or higher. We find there is little difference in performance between the various versions of Windows.

The best way to improve the performance is increase the computer speed and RAM. Some of our PCs operate at 800 MHz with 128 MB RAM - the FactSage modules run very smoothly, especially Equilib and Phase Diagram.

FactSage 5.1 is compatible with Visual Studio 6 (SP5) and should run under Windows NT 4 (SP4, SP5 or SP6) without problems. From our clients we have received no reports of installation or execution problems that can not be resolved. You must make sure that you are permitted to add or update files in the PC Windows and Windows/System directories ('Administrator' privileges) - this is especially true if your PC is part of a network.

Note: after installation you must also make sure that FactSage has access to these same Windows/Sytem files. For example, if FactSage cannot access the MemoHASP drivers (files) a typical NT error message would be RTE 75 - no access to path/file.

Someone running FactSage with an old MemoHASP security key (dongle) may experience problems caused by a conflict with Windows NT4 (SP4, SP5 or SP6) when the MemoHASP drivers were originally installed with an old version (older than 3.81). Although you may be using 3.81 (or newer) the problem persists if the original drivers were installed with an older version. For example "Failed to start the Aladdin Device Driver. Failed to stop a service in the Service Control Manager Database 0x2008007 0x20006 0x0".

We have contacted Aladdin Knowledge Systems Ltd. (MemoHASP suppliers) and the problem is fairly easy to solve. First you need a copy of a recent (3.81 or newer) Hinstall.exe HASP device driver program. You will find a copy stored in the CD-ROM\FactSage\MemoHASP directory. The following instructions have been provided by the Aladdin Hasp Support Group:

This problem appears on systems when an older version, older than 3.81, of the HASP Driver was previously installed. You can solve this problem by using the Hinstall.exe of the 3.81 (or more recent) HASP Device Driver.


  • First run the Hinstall.exe with the following switches: -r -kp -alldrv

    Hinstall.exe -r -kp -alldrv

    The -r switch removes the driver.
    The -kp switch kills all the processes that might be using the HASP Device Driver.
    The -alldrv switch removes all entries related to the HASP Device Driver.


  • Then, you can run the Hinstall.exe (either 3.81 or 3.95) with the -i switch.

    Hinstall.exe -i

    This will install the HASP Device Driver without the error messages.

  • All our clients who have followed the above instructions report that this resolves the problem. If this does not work for you please let us know and we will contact the Hasp Support Group.

    Microsoft has reported these problems and they are well documented. FactSage uses the Visual Studio 6 Service Pack 5 where these problems have been resolved.

    4. Installation Problems - Network Issues

    On the FactSage CD-Rom please consult the file Readme.txt. It explains in detail

  • Installing FactSage on the PC
  • Installing FactSage as a Standalone PC
  • Installing FactSage as a Network File Server PC
  • Installing FactSage as a Network Client PC
  • When installation is complete and the FactSage-Setup runs OK you will need to send us a request for the network password. Please consult the file 'Server.txt' you will find in the FactSage directory of the server PC.

    The server acts as a read-only file server. When FactSage is run on the client PC the necessary files are copied from the server and loaded into the memory of the client PC. The client PC does all the calculations and i/o - there are no write operations to the Server disks.

    Generally you would expect a Standalone installation to be slightly faster than a Client version when the FactSage program and it modules are first called. However the following points should also be considered.
    • In a Server/Client installation, all the executable and help files are installed on the Server but the compound and solution databases are installed on each Client PC. Hence when FactSage is initially run, the executable modules are first loaded from the Server to the Client PC (this may be the slow part) but the actual calculation and database access will be on the Client PC.
    • Any FactSage program update will normally only require the Server to be updated.
    • For a Server/Client installation only one password is required (for the Server) and so there is no limit to the number of Client PCs.
    If you have access to a CD drive on the Network then you can try to install FactSage via that drive. Run the Install program in the usual manner. Being part of a Network may give you only limited rights on your PC. For example you may not be allowed to change vital system files in the Windows directories. Check with your Network Manager to see if your PC can add or update files in its Windows and Windows/System directories.

    For certain Networks installing FactSage may not work:

    • Stage #1. - during installation of the Windows components you may get an error message that the program can not read or copy a "*.dll" or "*.OC*" file (FACTTOOL, MSFLXGD, etc). This is a Network problem. Quit the installation and "uninstall" FactSage if necessary.
    • Stage #2. - installation of the FactSage components may not work because the program is not be able to locate or read the CD-ROM.

    Make a copy of the CD-ROM directory FactSage (including its subdirectories - use "copy" and "paste") on to your hard disk. Store it into a temporary directory for example in "c:\Temp". Run the "c:\Temp\FactSage\Install" program in the normal way. When everything is OK then delete the temporary directory (C:\Temp).

    This is a common situation with work stations where paths start with \\. You may want to ask your Network Manger to show you how to specify on your PC a network path with a letter (for example p:\) that is equivalent to your server path. For example open 'Explore' (by clicking on Start with the mouse right button) then 'Explore > Tools > Map Network Drive ...' etc.

    Let us say on the network the public server path is 'p:\FactSage'. That is, the installation program will look for 'FactSage.exe' in the directory 'p:\FactSage' (ie the installation program is hunting for 'p:\FactSage\FactSage.exe'). If your map drive points to '\FactSage' then the PC will not see the full name. Try 'p:\' (ie installation program is hunting for 'p:\FactSage.exe').

    Many companies have a site license where there is file server installation together with one or two dongles for standalone installations. Additional dongles may be purchased.

    You are permitted to take the company dongle home in order for you to do company business at home on your PC or laptop. You are permitted to visit another site or company or go to a conference or meeting and take along your laptop with the company dongle in order to show your company business. However, you are not permitted to install FactSage on a PC at a second site and use the company dongle - in this case a second site license is required.

    Yes but not in the same directory. The problem is that the two installations are very different. The client installation stores few files on the PC since it accesses those stored on the file server, and the server has a password that authorizes the client. The standalone version stores all the files on the PC and uses a dongle for authorization.

    If you wish to connect your laptop to the network during the day (client installation) and then take it home in the evening (standalone installation) you need to install FactSage as both a client and as a standalone version on the same PC. This is one way on how it could be done:

    • Install the client version in the usual way - use the default directory (c:\Factsage). Make sure it runs OK. Edit and rename the FactSage short-cut (the 'F') that appears on the screen (click on the short-cut with the mouse right button - rename 'FactSage' to say 'FactSage LAN'). If you do not rename the short cut it will be overwritten when you install the standalone version.
    • Install the standalone version in the usual way - specify a different directory say 'c:\FactHome' (remember no more than 8 letters per directory name - e.g. 'FactSageHome' is to long). Make sure it runs OK. Edit its FactSage short-cut and rename 'FactSage' to say 'FactSage Home'.

    You will be able to access the same private files and databases stored on the PC.

    No - you need to install FactSage as both a client and as a standalone version on the same PC. Please refer to the previous question.

    There are two safe ways to convert a client version to a standalone (or visa versa):
    • Install the two versions of FactSage in two different directories. Please refer to the previous questions.


    • First completely uninstall FactSage from the PC - in the FactSage Menu Window click on 'Tools > Remove/Uninstall FactSage ...' and follow the instructions. When done you must then delete the FactSage folder (c:\FactSage) - this is important since it removes pointer files that may confuse the new installation. Now install FactSage in the usual manner.

    5. Running - Passwords - Dongles

    If this is a Network Server installation, then to activate the Network Client PCs the Network Server requires a password. FactSage Client installations do not recognize this type of dongle.

    If this a Standalone version and FactSage-Setup (green screen) and its modules appear to run OK, and there are no crashes, then try the following:

    • Make sure that the MemoHASP key is firmly attached to the printer port. If the printer is also connected it should work. If you are attaching the dongle to the printer port on a lap-top, you can attach a printer but you cannot use this port as a CD- or floppy-disk reader.
    • Make sure you have updated the PC to the new FactSage 5.1. In the FactSage-Setup main menu click on "Tools > MemoHASP Security Key (dongle) > Install Drivers". This will install the latest MemoHASP drivers (version 4.5 or higher). The program should now run as the full FactSage (blue screen) package.
    • If this does not work please run the program \FactSage\MemoHASP\HInstall.exe and check the status (HInstall /Info) to see if the drivers are installed.
    • If this does not work then click on "Tools > Debug Program > Run debug program" and send us copy of the file DEBUG.TXT you will find in the FactSage directory.
    You need to install the latest MemoHASP drivers (version 4.5 or higher) - these are provided with the FactSage 5.1 update. Try the following.

  • Make sure you have updated the PC to the new FactSage 5.1. In the FactSage-Setup main menu click on "Tools > MemoHASP Security Key (dongle) > Install Drivers". This will install the latest MemoHASP drivers (version 4.5 or higher). The program should now run as the full FactSage (blue screen) package.
  • We have contacted the MemoHASP company and received the following reply:-

    We have seen that the HASP as well as other parallel port devices have difficulties on Dell 8100 machines.

    This is due to the fact that when the ECP mode is set, the parallel port is not powered efficiently for the parallel port devices, like the HASP to function properly. Setting the parallel port to other modes does allow the HASP to function properly.

    The following is a remedy to fix the problem for Windows Millennium and should work for the other Windows systems. Under Windows ME the default setting is 'ECP' and it should be changed to 'EPP'. Use F2 during boot to bring up the BIOS setup menu, scroll down to integrated devices, accept them and then choose parallel port and use the RH arrow to change the port setting from the default ECP to EPP.

    For a PC (network file-server) using a computer password FactSage may suddenly go to the FactSage-Setup mode for no apparent reason. This is caused by one or more of the following:

    • editing a FACTDATA file
    • editing the hard disk volume name or label
    • reinstalling or updating Windows
    • reinstalling FactSage
    • copying FactSage to another directory
    • copying FactSage to another PC
    • expiration of the lease date

    In order to reactivate FactSage it is necessary to request a new password. Do NOT reinstall FactSage. In the FactSage-Setup Main Window click on "Tools > Upgrading ... > Computer Password ..> etc." and make a new request. Note, password requests can only be made by the official contact person specified in the license agreement with us.

    Yes for the time being. However in FactSage 5.2 we plan to introduce a network dongle for the server PC.


    Although you can use "Ctrl-Alt-Del" to end the task, it may be simpler to click on the "reset" button in the FactSage menu. You will be presented with the option to kill or reset default values for the offending program.

    You can run FactSage by clicking on the FactSage short-cut that appears on the screen. To add this short-cut to the 'Start > Programs > FactSage Thermo ... ' group:
    • first click on the FactSage short-cut with the mouse right button and select 'copy'
    • then click on 'Start > Programs > FactSage Thermo ... ' and then click with the mouse right button and select 'paste'

    The '(empty)' will be replaced by the FactSage short-cut.

    There are several sources of help for the programs:

    1. A presentation of slides (PowerPoint) for most modules can be found in the directory \FactSage\Manual on the CD-ROM. When running FactSage you can view the Slide Show at any time on the PC: click the "Help" menu bar at the top of the window or click the "Slide Show" button in the FactSage menu.

    2. Many examples from the Slide Show are also stored in your PC. Click the "Open" button in the top left corner and change the directory to "Slide Show Examples". You will be presented with the index of stored files.

    3. More information and extended menus are available for many of the windows. When running Reaction, Equilib, Phase Diagram, Results, Mixtures, Predom or Eph, simply point to a frame heading or input box and click the mouse right button - this is a very popular feature of FactSage.

    6. Equilib and Phase Diagram Programs

    The "T" indicates the data for that species were extrapolated out of the reported Cp range T(min) - T(max). Cp ranges are given in the List Window (or if you point to a calculated species in the Equilib Results Window and double-click, Compound will list its data).
    • If T < T(min), the Cp expression is extrapolated.
    • If T > T(max), the Cp value at T(max) is kept constant above T(max).

    If the species is a stable product and has been extrapolated several hundred degrees above its reported Cp range then one may wish to question the validity of the calculation. In this event the Compound program may be used to enter your own data.

    The "X" refers to allotropes and in most cases it is not important. Where data are missing, we do not permit allotropes to extrapolate into each others Cp ranges. This is because many allotropes tend to extrapolate poorly which is quite significant since the Gibbs energy between allotropes (the basis for selecting that which is most stable) may be quite small.

    The "C" appears when the calculated composition of a species in a real-solution is outside its recommended composition range. For example, in a liquid steel (FACT-FELQ) containing oxygen, a calculated oxygen content of 20 wt.% O is clearly too high and would generate a "C" flag since this is above the recommended limit. The recommended composition ranges of the solutions are given in the List Window.

    This is important! Any solution phase with a "?" has not been fully assessed thermodynamically. It may even be possible that certain combinations of constituents are not permitted (see below)! These "?"-type solutions are provided for the convenience of certain expert users who wish to perform special calculations. These solutions should not be selected as possible product phases unless you really know what you are doing (for example selecting "FACT-SLAG?" often causes the program to crash - see below for why this happens). Please use an approved subsystem instead (FACT-SALTA, FACT-SLAGB, etc..).

    It is possible to select only certain components of a solution. For example, were you to remove the "+" in the column beside the component MnO in FACT-SLAG by clicking on it, then the calculation would assume that MnO is insoluble in the slag. However, it is strongly recommended that you always choose all the components in a solution (except in the case of "FACT-SLAG?" - see below). Suppression of some components can result in logical inconsistencies with grave consequences.

    For those who nevertheless insist on doing this, the following special rules should be noted:

    (1) In a salt phase (like Li, Na, K/F, Cl, Br), every possible pair of anions and cations must be chosen. For example, you can choose the subsets (LiCl, KCl, LiF, KF) or (LiCl, KCl), but you can't choose (LiCl, KCl, LiF). This rule applies also more generally to any solution with 2 sublattices. 
    (2) In "FACT-SLAG?", if a non-oxide component such as MgS or MgCO3, is chosen, then its corresponding oxide (MgO) must also be chosen; 
    (3) In "FACT-SLAG?", if a group of non-oxide components is chosen, then all combinations of anions and cations within the group must be chosen. This is like rule (1) above. For example, you cannot select MgS, Na2S, NaCl without also selecting MgCl2
    (4) WARNING: In certain cases the use of "FACT-SLAG?" can cause erroneous results, or a crash, unless you remove certain components from the species selection. For example MgS, CaS and CaCO3 are all components of "FACT-SLAG?", but MgCO3 is not. Suppose that your reactants include Mg, Ca, S, C and O, and you select "FACT-SLAG?" then MgS, CaS and CaCO3 will appear in the list of components of "FACT-SLAG?" but MgCO3 will not be present. Therefore, in order to respect the rule that all combinations of anions and cations within a group must be selected, you must remove either CaCO3 or MgS from your selected components of "FACT-SLAG?".

    Selecting "FACT-SLAG?" often causes the program to hang up or crash - see the previous question on why this happens.

    The solution dataset "FACT-SLAG" uses the QuasiChemical Model (developed at the CRCT) to treat the thermodynamic properties of this complex liquid / glass oxide that may contain Al, As, B, Ca, Cr, Cu, Fe, K, Mg, Mn, Na, Ni, Pb, Si, Ti, Zn, Zr components with dilute amounts of S, SO4, PO4, H2O/OH, CO3, F, Cl and I. The scientific community recognizes that the QuasiChemical Model is the best for treating this type of ionic system, however the complexity of the model slows down the calculation of the equilibrium products especially if FACT-SLAG contains non-oxide constituents (S, SO4, PO4, H2O/OH, CO3, F, Cl, I) - the presence of S may increase the computational time by an order of magnitude or more in large systems!

    This is a common problem with large systems especially if your system has up to 32 components. The challenge is that you do not want to miss anything important yet you are limited in the total number of species you can select as possible products (less than 700). One commonly-used feature of Equilib is found in the List Window where you can "post-calculate" activities of all compound species (gases, solids, liquids) that were not included in the original product species selection. This enables you to identify predominant species (those with large activities) should be included.

    In Equilib there is a "predominant" option that enables the program to identify for you those important species. First select the essential solution phases (FACT-SLAG, etc.) and then select all the gases (or up to 500 if this is too many) - it really does not matter whether you select gases, solids or liquids since these pure species will be replaced by the program. Select Equilibrium option "predominant" and calculate the equilibrium in the usual manner. By an iterative procedure Equilib will identify and use the most predominant compound species. (When the calculation is complete do not forget to save the system - this should save you lots of time in the future!)

    In Equilib if you point to the Species heading in the Reactants Window, click with the mouse right button and then select 'Help', you will see that charged ionic species can not be used as reactants in Equilib. This assures the system maintains electroneutrality. (We may change this option in the future.)

    To include ionic species in the database search please refer to the next question.

    Click on the "Data Search" menu bar in the Reactants Window. Gaseous ions, aqueous species and large organic molecules may be included or excluded in the data search. These options are included in order to reduce the total number of undesired species in system. The maximum number of carbon atoms, x, for organic species CxHy… in the database search can be set from 2 to 10 (the recommended setting is x = 2).

    Please refer to the previous question, 6.7. The default settings on installation of FactSage are such that gaseous ions are NOT included in the search of the databases. So you must actively include them by selecting gaseous ions after clicking the "Data Search" menu bar. Once you have made this choice it becomes the new default.

    Please refer to the earlier question, 6.7. The default settings on installation of FactSage are such that organic molecules CxHy.. where x > 2 are NOT included in the search of the databases. You can change the value of x by clicking the "Data Search > Limit Organic Species, CxHy ..." menu bar.

    Why do the activities of certain species in the List and Selection Windows appear in italics?

    The activities of these species have been post-calculated. The respective species have not been included in the actual equilibrium calculation. If you have not used the ‘Predominant’ feature in your calculation you should check for activities that are greater than one. If you find such cases you should custom select the respective species and repeat the calculations. Otherwise your calculated equilibria are for metastable states.

    What is post-calculation?

    The activities of the compound species in equilibrium with the computed products are calculated. The mass balance is not taken into account. In ChemSage these would be called dormant species. Post-calculated activities always appear in italics.

    Why are the solutions not included in the post-calculations?

    We have a theoretical solution ready and we hope to realize the programming one day.

    Sometimes the activity of some components reaches values above unity (1.0) during post calculations. How is this possible?

    Because they are not included in the mass balance. Hence if you include these species as possible products then one or more of them will be a stable product. If you do NOT include them you must keep in mind that your computed equilibria are for metastable states!

    This option applies to condensed phases (pure solid and liquid compounds, and real solutions) and is only meaningful at very high pressures. For normal calculations it is recommended that you leave this box unchecked. When the "include molar volumes" box is checked, all solid and liquid phase molar volume data (including compressibility and expansivity data when available) will be employed in the VdP term. For such calculations it is recommended that you also select the "real gas" option in the Menu Window.

    Important note: if a species has no volume data, its molar volume is assumed to be zero and the calculation of the VdP term will be in error! This may cause unpredictable results at high pressures as it will tend to stabilize species with small (or zero in this case) molar volumes. Such species will be flagged with a " o " in the Results Window.

    These are allotropes. Copper has only one allotrope, s or s1. Carbon has two allotropes: graphite(s1) and diamond(s2). In Reaction, Predom, Eph and Equilib to list the phases and other data simply point to a compound species and 'double-click' - View Data will display its compound data (this even works in the Equilib Results Window).

    Go to the Equilib Menu Window. In the "compound species" frame click on "liquids" with the mouse right button. Now you can custom select the species. For example to include CaO(liq) in the calculation you click on its "+" column. For the extended menu click the mouse right button and go down the menu to "activity > .... " etc. If the calculation is successful you will see that a certain quantity CaO is added to (or removed from) the system. Thermodynamically this type of calculation is called an "open system" calculation, i.e. the "input amount" of the substance is the result of the calculation.

    If the substance vaporizes to form a single gaseous species of the same composition then you can use the Reaction module. Simply enter the reaction, for example H2O(liq) = H2O(gas), and select isothermal calculations. The calculated equilibrium constant is equal to the vapour pressure.

    Use Equilib for real systems possibly involving dissociation (CaCO3) or polymerization (Na). In the Reactants Window enter your initial substance, e.g. CaCO3 or Na. Then in the Menu Window set the temperature range (e.g 500 1200 100), leave the pressure box undefined (blank), fix a constant volume 'Product V' (small enough that some condensed substance remains - say 1.0), and then click the calculate button. For the gas phase that is formed the total pressure is given. That is the pressure that can also be measured experimentally (for example in a torsion Knudsen effusion apparatus). Furthermore the partial pressures of the possible gas species are given thus simulating a mass spectrometric analysis of the molecular beam that emanates from a Knudsen cell.

    To plot the total pressure as a function of temperature in the Results Window click on 'Output > Plot > Axes > P vs T ...'. To plot the partial pressure of a species as a function of temperature click on 'Output > Plot > Axes > activity vs T ...' and then click on 'Select' and identify the species to be plotted.

    In the Reactant Window you override the input default mass units by entering ' mol' and ' g' following the amounts in the Mass input box. For example

    • Default units:
            1       O2
      +    2       FeS
      +    3       PbS
    • Mixed units:
            1  mol    O2
      +    2 g        FeS
      +    3           PbS

    The mass unit for PbS is the default value.

    To override the output mass units click on the Parameters drop-down menu in the Menu Window.

    In the Equilib Results Window click on "Output > Save as .. .". This enables you to manipulate and export the results in the form of text files, spreadsheets and much more. For example you can create spreadsheets of f(y) where y = T, P, V, H, S, G, U , A or species mole, gram, activity, mass fraction and f = y, log(y), ln(y), exp(y) etc. for Lotus 1-2-3, Microsoft Word, Excel.

    In the Equilib Results Window click on "Output > Equilib Results file > Plot results ... etc". You can create results files (*.RES) that can be manipulated by program Results to produce graphs.

    TiAl and Ti3Al (as well as many other phases in the SGTE Solution database) have been treated with a two sublattice model that takes care of the atomic long range ordering of these phases. The phase constituents of TiAl for example are Ti1Al1, Ti1Ti1, Al1Ti1 and Al1Al1 or written in an overall formula (Ti,Al)1(Ti,Al)1. This means that both kinds of atoms can occupy both sites. However, there is actually a preference in site occupation such that one sublattice is mainly occupied by Ti and the other mainly by Al. Which element occupies which site is decided by the lowest Gibbs free energy of the phase. This lowest Gibbs free energy can only be found properly if TWO copies of the phase are used in the calculations, i.e. if the I-option (Immiscibility) is set for that phase.

    When two copies (i.e. I-Option) of TiAl and of Ti3Al are used in the phase diagram calculation the phase boundaries corresponding to the lowest Gibbs free energies of the respective phases are found and no odd looking extrapolations are observed.

    In general it is advisable to inspect the list of phase constituents for "intermetallic" phases since several of these have been treated along the lines of TiAl above. Whenever phase constituents are shown that contain the same elementary components on two or more sublattices then the I-Option must be used for that phase in order to obtain the proper phase equilibria. This also applies for calculations with the Equilib program.

    For the body centered cubic structure (BCC) there is a disordered state in which atoms randomly occupy the sites, and there is an ordered state with preferential occupation of the sites. For the Fe-Al (and Fe-Si) system the transition of the disordered (Fe-rich) state into the ordered state at high Al- (and Si-) content has been modelled such that the Gibbs free energy of the disordered state (BCC_A2) is taken as the basis of the calculation and the ordering energy for B2_BCC is added as an extra but necessary contribution. Such a case is denoted by the by the full name B2_BCC!BCC_A2.

    This means that whenever B2_BCC is selected for a calculation, BCC_A2 is also selected automatically by the program (but not visa versa). Since B2_BCC is ordered, the minimum Gibbs free energy must be calculated in order to find the correct distribution of elements on the sites, and so the I-option must be used for this phase. See also the previous question on TiAl.

    In FactSage the SGTE Solution database is split into two parts:

    • SGSLbase is the compound database and contains the intermetallic compounds with fixed stoichiometry
    • SGSLsoln is the solution database and contains all the other phases

    In order to include all species in Equilib and Phase Diagram, make sure you always select both SGSL compound and solution databases - in the Reactants Window click on 'Data Search > Databases ...'.

    Some of the compounds in the SGTE database such as Fe3C cementite are actually end members (phase constituents) of higher order solution phases. Thus in Fe-Cr-C (and higher order systems) the cementite phase is found in the list of solution phases. For Fe-Cr-C the constituents of cementite are Fe3C1 and Cr3C1. Both of these are metastable in the respective binary subsystems and the cementite phase is only found as a stable phase when both Cr and Fe are present in the system.

    However, the degree of metastability of Fe3C1 with respect to Fe and C is much less than that of Cr3C1 with respect to Cr and C. Thus it is possible to find under certain conditions cementite in the Fe-C system but not in the Cr-C system. In order to facilitate appropriate equilibrium and phase diagram calculations for the respective binary subsystems, Fe3C (and other compounds) have been included separately as stoichiometric compounds in SGSLbase while Cr3C is only contained in the cementite solution phase that is stored in SGSLsoln.

    In the Phase Diagram Menu Window click on the 'Parameters' drop-down menu and you are presented with the Parameters Window. Make sure the 'show tie-lines' box has been checked. After the diagram has been plotted, in the Figure Window point with the mouse and you will see the calculated 2-phase tie-line at these coordinates. To plot the tie-line first select the 'tie-lines mode' (see the button on the left hand side in the Figure Window), then point and click.

    After the diagram has been plotted, in the Figure Window first select the 'phase equilibrium mode' (see the button on the left hand side in the Figure Window) and then point and click and you will see the calculated equilibrium at these coordinates. The format is identical to that of the Results Window of Equilib. You can calculate as many points as you wish. When you return to the Phase Dagram Main Menu you can then go to the Results Window and manipulate all the results.

    In the Menu Window click on the 'Parameters' drop-down menu and you are presented with the Parameters Window. Make sure the 'stop/kill yes' box has been checked. During the calculation you will see a window that gives you the options to stop or kill the application. If this does not work then press 'Ctrl-Alt-Del' to end the task - this will terminate the program.

    This message may appear in the Results Window when the program is having difficulty finding a solution. It means that all convergence tests have not been satisfied. However the output should be correct.

    7. Figure and View Figure Programs

    Comparing View Figure with Figure is like comparing Microsoft Notepad with Microsoft Word.

    View Figure is a simple and efficient program for drawing figures calculated by FactSage. Several figures may be viewed at the same time with little drain on the Windows resources. It is primarily used to display Reaction, Equilib, Predom and EpH diagrams and is not recommended for complex diagrams produced by Phase Diagram.

    Figure is a complex and powerful algorithm for plotting and editing figures as well as manipulating the results of Equilib and Phase Diagram. It uses extensive Windows resources and may pose a drain on small computers. The high-quality diagram is suitable for reproduction and publication. It is primarily used for figures produced by Phase Diagram.

    8. Other Programs

    Predom generates classical predominance area diagrams, in the case of Fe-C-O a diagram that shows which oxide and carbide compounds of Fe are stable - hence C(graphite) is missing. Predom only makes use of species from a compound database. Solutions, such as wustite, are not incorporated in the calculations.

    It is advisable to use the new module Phase Diagram. This module handles all condensed phases in a system, no matter whether they are compounds such as C(graphite) or solutions such as the wustite phase.

    The Pourbaix diagram is calculated using thermodynamic data from the pure substances (compound) database and assuming all solutes are Henrian with respect to H2O(liq) the activity of which is set to 1. This is why all the lines are straight and the resulting (ideal) diagram is simple but only an approximation to the true system. In principle one could calculate the diagram say from pH = -5 to 20. It would be thermodynamically correct (within the constraints of constant Henrian activity coefficients and unit water activity) but clearly unrealistic.

    We choose -2 to 16 as default values (which you can change to any values) because M. Pourbaix used these values in the "Atlas of Electrochemical Equilibria in Aqueous Solution", Pergammon Press, 1966.

    For realistic calculations of concentrated aqueous solutions one should use program Equilib and the Pitzer parameters in solution FACT-PITZ.

    For some systems, for example the one-metal Fe-SO2(g)-O2(g) system with compound data, the diagrams are the same. In Predom a two- (three-) metal system always generates domains that have 2 (3) species. In Phase Diagram, if you select a composition variable that lies on a stoichiometric compound line then one of the species in a two- or three-metal system may not appear on the figure since it has zero moles. If you calculate the equilibrium within such a domain (figure 'phase equilibrium mode') then you will see the missing species has 0 moles but unit activity.

    There are fundamental differences between the programs. Predom can only access the compound databases.

    Unlike Phase Diagram, Predom offers some options useful in predominance-type diagrams. These include

    • simple input tailor-made for predominance area diagrams
    • list of invariant points
    • total pressure isobar
    • provision to set activities to a common value

    On the other hand Phase Diagram offers some powerful features, including:

    • access to both the compound and solution databases
    • diagrams accessible to the Figure program
    • provision to create readily a temperature predominance diagram
    • more than 4 components
    The Optimize program is experimental. We plan to repace in the future. At the moment, Optimize will only perform optimizations for MODEL 1 (Polynomial/Kohler-Toop) solutions, although optimizations for certain other models can be performed if certain conditions are met (contact us: Further documentation on the program will appear shortly on the website.

    To use the Optimize program you must, in the following order:


    • Create a user solution file (either .dat or .sdb type) with Solution containing each phase of the system you wish to optimize (limited to model 1 for the moment)
    • In Equilib, go to the database -> datasearch window and REMOVE from the list all solution databases except this user solution database (which should be first on the list), and other USER solution databases if required - all FACT and SGTE solution databases must be removed.
    • Set units to K, atm, J, mol, litre
    • In the Reactants Window of Equilib, enter one mole of each component of the system to be optimized.
    • In the Menu Window of Equilib, select all phases to be considered in the optimization. This selection must include at least one solution phase from the first database in the list of solution databases.
    • Set final conditions of 1000 K and 1 atm and perform a calculation with Equilib.
    • Exit Equilib and click on Optimize.
    • Start by pressing the NEW button.

    9. ChemSage Files

    We welcome all those users who have been accessing the ChemSage module through the DOS package. In such a case you have been using specialized databases stored in ChemSage files. In most cases you can import these databases into FactSage. However there are some restrictions and these include:
    • the total number of components must not exceed 32 (it was 24 in FactSage 5.0)
    • the total number of solution phases must not exceed 30
    • the total number of species must not exceed 700
    • the ChemSage file must be in text (ascii) format

    To import a ChemSage file into FactSage go to the Reactants Window of Equilib. Click on 'File > ChemSage files > Information ...' and follow the instructions.

    A ChemSage file may contain both pure substance and solution data. On import into FactSage these data are automatically stored in a compound and a solution database. These databases can then be edited and manipulated by the Compound and Solution programs. The data from these databases can be employed in FactSage calculations combined with data from other sources (for example from the FACT and SGTE databases)

    You can use the Equilib program to create a ChemSage file. The resulting file could be used as a source of data for ChemSheet and ChemApp applications.

    Note: for security reasons the resulting ChemSage file is in binary code (*.cst file) and can only be accessed by users who have a valid security key (dongle) for their ChemSheet and ChemApp applications. It can not then be imported into FactSage (via Equilib for example).

    The standard SGTE databases available for ChemSage have names beginning with SSL, SDM, SPS, SOR, SUV and SUN. These abbreviations relate to solutions (SL), dummies (DM), pure substances (PS), organic species (OR), the university database (UV) and the unary database (UN). All of these except the unversity database (SUV) have found equivalences in the new FactSage environment. SUV however has been dropped for good.


    SSL and SDM
    These two databases are now incorporated in the SGSLsoln and SGSLbase database files. SDM contained the so-called dummy phase constituents that need to be used in the SGTE database in order to have FORMAL consistency among the constituents of a phase but that have not yet been thermodynamically assessed. Such constituents are given the Gibbs free energy value ZERO for all temperatures.

    Example: BCC_A2 in the Fe-Al-C system. From the Fe-Al system we know the data for the substitutional mixing of Fe and Al on the metallic sites of the body centered cubic phase (all interstitial sites are empty). From the Fe-C system we know the data for the interstitial mixing of C in Fe. There are no data for C on the interstitial sites of a hypothetical BCC_A2 aluminium. Nevertheless, these are required in order to describe the BCC_B2 phase in Fe-Al-C according to the formula (Fe,Al)1(Va,C)3. In such cases it is often a reasonable assumption to give the Gibbs energy of the hypothetical phase constituent Al1C3 the value ZERO for all temperatures. The major interaction of C in the BCC-phase will be that between Fe and C which is known.

    In the ChemSage version of the SGTE database it was possible to distinguish such cases explicitely by entering the set of properly assessed data into the SSL part of the database and the unassessed sets into the dummy part (SDM) of the database.

    For formal reasons the two parts have been amalgamated. Users who still wish to keep track of the unassessed phase constituents need to make use of the SDM file in ChemSage or let us know.

    SPS and SOR
    These two database are now combined into the SGPSBase database file. The organic species can now be stepwise included in or excluded from calculations using the 'Data Search' option "Limit organic species CxHy ..." with a specific value for x.

    This database contained all Unary data compiled by SGTE (see CALPHAD 15(4), 1991). These data are the so-called lattice stabilities of the elements in the most commonly used structures. Most of them are contained in phase datasets for metallic substitutional solutions in the SGSLsoln database file.

    Users who still wish to make separate use of the SUN database (for new assessments or for testing ideal solutions between so far unmixed elements) should contact us.

    10. Other Error Messages and Bugs

    This message will appear in Reaction, Equilib, Predom or EpH if FactSage can not locate data on the elements (data on the standard state elements are essential for FactSage to work). You are probably using your own private compound database that does not have data on the elements. Click on the "Data Search > Databases ..." menu bar (Reaction/Equilib Reactants Window or Eph/Predom Menu Window) and make sure that the FACT (main compound database) or the ELEM (elements database) compound database has also been selected.

    Please notify us if you experience "fatal crashes" that you can not resolve.

    For purposes of clarity we will define a bug as when the program works OK but it appears that the answer is illogical or not correct; and a crash as when the program freezes and gets hung up, or quits without warning.

    First check that the problem does not appear here - most problems are documented on this page.

    Then please e-mail us and explain the nature of the problem. FactSage has several programs and many windows and many many options, check boxes, command buttons, drop-down menus, status bars, etc. When sending us details about actions you took please try to specify the program name (Equilib, Compound ...), its window name (Reactants Window, Main Window ...) and precisely what you did (I clicked with the mouse right button on ...., or I clicked on the "X" on the top right-hand-side and then got the message...), etc. This will help us to duplicate your actions and remedy the problem. In the case of Equilib (Reaction, Predom, EpH, Results) if necessary please send us a copy of the file "Equi0.dat" (Reac0.dat, Pred0.dat, Phas0.dat, Equi*.dat) that you will find in your FactSage directory - these files define the details and settings of your last calculation.


    Version 5.0, 14 April 2003

    This is the ChemApp FAQ, which provides answers to frequently asked questions relating to ChemApp, ChemApp light, its documentation, example data-files, and distributions. It also provides answers to frequent questions about calculational and programming issues, platforms, and availability. Copyright © GTT-Technologies, 2003. To find out what has changed since the last version of this FAQ, please see section 10. If you have questions about ChemApp or ChemApp light, check out this FAQ (Frequently Asked Questions) first, it contains answers to many common questions.

    1. Introduction

    The latest version of this document can always be retrieved from GTT's Technical Thermochemistry Web Page. It is listed in the ChemApp section.

    This is version 5.0 of the ChemApp FAQ, dated 14 April 2003. For a list of changes since the last version, see section 10.

    If you have a question relating to ChemApp, please check the latest version of this FAQ before contacting GTT-Technologies' Technical Support.

    Whenever the ChemApp/ChemApp light documentation contains relevant further information on a subject, the following text will be used

    -> ChemApp documentation light/regular

    In the HTML version of this document, this text contains links to the online versions of the ChemApp documentation at GTT's Technical Thermochemistry Web Page. The link to the online documentation for the light version can be used by anyone, to access the latest version of the manual for the regular version of ChemApp you need to be a registered user of the regular version of ChemApp.

    2. General questions

    ChemApp is a programming tool from the area of computational thermochemistry. It is a programmer's library consisting of a rich set of subroutines, based on the thermodynamic phase equilibrium calculation
    module of ChemSage (now FactSage). It permits the calculation of complex, multicomponent, multiphase chemical equilibria and their associated energy balances. ChemApp is available as object code for a wide range of platforms and as a Dynamic Link Library (DLL).

    ChemApp is not an interactive, standalone program, it does not contain a GUI or a user menu, since it is a library of subroutines. Thus programmers who wish to add a user interface to it can add anything they want. If you are interested in a standalone, interactive program, see FactSage .

    ChemApp is not everything you need to perform equilibrium calculations. Apart from ChemApp, which is the calculational engine, you still need a data-file which contains the thermochemical data for all the phases and species in the chemical system you are interested in (see section 7.1).

    ChemApp does not use systems of stoichiometric reactions to calculate chemical equilibria. It uses the concept of Gibbs energy minimisation (see section 6.1)

    ChemApp light is a free version of ChemApp, and although it is restricted in two ways compared to the regular version, it gives you almost the same functionality.

    For details on how the light version differs from the regular version of ChemApp, please consult the documentation (-> ChemApp documentation light/regular).

    ChemApp light is available for download from GTT's Technical Thermochemistry Web Page. If you have trouble downloading ChemApp light because of slow or unreliable Internet connections, let us know (, we'll provide you with ChemApp light in other ways.

    Many programs, whether existing or still in the planning stage, would benefit or even need to rely on the ability the calculate chemical equilibria. Since developing such an equilibrium code, even for modest chemical systems and simple mixture phase models, is a daunting task, the need for a specialised, reliable, third-party supported code became obvious. As no such tool was available, ChemApp was developed within the framework of a European "Science" program. Since the beginning of 1996, ChemApp is available for a wide range of platforms.

    ChemApp is used in programs from such areas as process simulation and optimisation, computational fluid dynamics (CFD), solidification and casting simulation, crystal growth, kinetically controlled production processes, etc. The ChemApp web page contains examples from several application areas.

    In general, ChemApp can be applied in all areas where ChemSage and FactSage have already been successfully applied, a brief list of which is given in the table below.


    Table Example areas of applications


    Sintering Aluminium electrolysis
    Roasting Silver alloys with SiC
    Purification of metals Casting processes
    Waste treatment Incineration
    Heat treatment cycles Electron beam melting
    Alloy research studies Ore reduction
    Precipitation studies Corrosion
    Dispersion strengthening Castings
    Hard metal compounds Extraction
    Combustion Electronic materials
    Nitrates in water High TC superconductors
    Steels Ceramics
    Tungsten halogenides Slags
    Cement manufacture Molten salts
    Dioxine Organics
    Glasses Geochemistry/planetology

    ChemApp is used by many commercial and academic institutions around the world, here are a few of its users

    Åbo Akademi
    ACCESS e.V.
    AEA Technology
    Alcoa Technical Center
    Andritz Oy
    Aspen Technology
    Betriebsforschungsinstitut (VDEh-Institut für angewandte Forschung)
    Brandenburgische Technische Universität Cottbus
    Cerro Matoso S.A.
    Chubu University
    Corus Group
    Delft University of Technology
    DLR (German Aerospace Center)
    DuPont Engineering Technology
    Forschungszentrum Jülich
    Fraunhofer Institut für Produktionstechnologie
    Gesellschaft für Anlagen- und Reaktorsicherheit (GRS)
    Helsinki University of Technology
    Idaho National Engineering and Environmental Laboratory
    Kanazawa University
    Katholieke Universiteit Leuven
    Kobe Steel
    Korea Institute of Science and Technology (KIST)
    McMaster University
    Montanuniversität Leoben
    National Sun Yat-sen University
    Norsk Hydro ASA
    Osaka University
    Osram Sylvania
    Pechiney - CRV
    Philips GmbH
    Philips Lighting b.v.
    Pohang University of Science and Technology (POSTECH)
    Portovesme s.r.l.
    RWTH Aachen
    Ruhr-Universität Bochum
    Saint-Gobain Ceramics and Plastics
    SINTEF Materials Technology
    Samsung Heavy Industries Co.
    Schott Glas
    Siemens AG
    SMS Siemag AG
    St.Petersburg State Technical University
    TU Bergakademie Freiberg
    Technische Universität Chemnitz
    The University of New South Wales
    The University of Queensland
    Thyssen Stahl
    Ube Industries Ltd.
    Umeå University
    University of Missouri-Rolla
    University of Newcastle
    University of North Dakota
    University of Science & Technology Beijing
    Universität GH Essen
    Universität-Gesamthochschule Siegen
    VAW aluminium AG
    VTT Chemical Technology
    VTT Manufacturing Technology

    If you have not done so already, please visit our web page. The ChemApp section contains lots of information on ChemApp, like literature references, application examples, ongoing projects, etc.

    If you need printed information on ChemApp, please contact GTT-Technologies or our agent closest to you.

    Please use the ChemApp Bug Report Form on our web site to report the problem.

    Starting with version 5.0.0, all distributions of ChemApp for Microsoft Windows platforms will require a hardware key (HASP dongle), just like FactSage and ChemSheet. In fact, ChemApp can make use of the same physical hardware key that's used for FactSage and/or ChemSheet, if you have one already.

    Thus, when purchasing ChemApp, you have the following options


    1. If you do not have FactSage or ChemSheet, and thus do not have any hardware key, you are automatically supplied with a new hardware key (or more, if you ordered multi-developer licenses). Choose between parallel port and USB port hardware keys.


    2. If you already have FactSage or ChemSheet, and thus already have one or more hardware keys, you can choose between the following options:


      1. Have your existing hardware key remotely updated by us, so that it can also be used with ChemApp. The advantage is that ChemApp can be used with FactSage and/or ChemSheet on the same computer. The disadvantage is that you have to use them on same computer, since the one hardware key contains both (or more) licenses. This option is primarily used if the same person is working with all the programs (FactSage, ChemSheet, ChemApp, etc.) for which the hardware key contains licenses, on the same computer.


      2. Order a separate, new hardware key for use with ChemApp. Choose between parallel port and USB port hardware keys. The advantage is that ChemApp can be used on a different computer, independently of where FactSage or ChemSheet are used, since licenses are contained in different hardware keys. The disadvantage is that you cannot use both hardware keys on the same computer (the driver software would not be able to distinguish between the two hardware keys. Note that this issue does not apply to other hardware keys from different software suppliers, there should be no problem adding other programs' hardware keys to your computer). This option is primarily used if the different programs (e.g. FactSage and ChemApp) are used by different people on different computers.

      If you're purchasing a multi-developer license of ChemApp, and already have existing FactSage and/or ChemSheet dongles, you can of course also select a mix of the previous two options, i.e. have some of your existing hardwre keys updated and order new hardware keys for the remaining licenses.

    3. Using ChemApp in application programs

    If your program is running on any of the platforms (see section 4.1) ChemApp does, and if you are using any of the programming languages that are supported for that platform, you are able to add ChemApp to your program.

    Possible languages include FORTRAN and C/C++ for Unix®, Microsoft Windows® and DOS platforms, as well as most other development environments running under Windows 95/Windows NT which let you use Dynamic Link Libraries (DLLs), for instance Borland Delphi® and Microsoft Visual Basic® and Visual C++ ®.

    Please contact GTT-Technologies if you are unsure whether your programs will be able use ChemApp. We will be happy to help you finding out.

    As most third-party programs do not come in source code, they need to provide a way to link other object code to it. On Windows platforms, many commercial programs in question can access DLLs from other suppliers, in which case a DLL-version of ChemApp would be used. Other programs provide a FORTRAN or C/C++ programming interface, and ChemApp can be linked to the application program.

    Please contact GTT-Technologies if you are unsure whether a specific third-party program will be able access ChemApp. We will be happy to help you finding out.

    Yes, ChemApp is available for licensing. Please contact GTT-Technologies for details.

    ChemApp light users ChemApp light is only available for restricted redistribution with other programs (please refer to the ChemApp light license for further information (-> ChemApp documentation light/regular). In brief, you need the regular version of ChemApp to distribute your programs for commercial purposes.

    4. ChemApp distributions

    An up-to-date list of platforms where ChemApp has been tested and used can be found on the ChemApp web page.

    The list of platforms for which ChemApp and ChemApp light are available might differ. Please check the ChemApp light section of the ChemApp web page.

    If ChemApp or ChemApp light is not available yet for the platform of your choice, please contact us ( to check whether this version is in the pipeline, or can be specially made for you.

    This happens sometimes with Unix versions of ChemApp/ChemApp light, for instance

    • you need a 64-bit version but the distribution archive contains a 32-bit version,
    • you need a version that does (or does not) have underscores prepended to the subroutine names, and you need a version that has been compiled exactly the other way.


    In most cases, we'll be able to help you by compiling a custom version for you. Just contact us at

    If you already have thermochemical data-files for ChemSage, you can use them with ChemApp as well

    • If you are using ChemSage version 4.x, you can use these data-files with ChemApp right away.
    • If you are using ChemSage version 3.x, you need to first translate them using the program ChemFile, which is included in the ChemApp distribution.


    Note that recent versions of ChemApp do not contain the program ChemFile any longer. If you still happen to have old data-files in ChemSage V3.x format, please contact us.

    5. ChemApp and ChemSage/FactSage

    The following are the main differences between ChemApp and ChemSage, as well as its successor FactSage

    • ChemSage/FactSage are interactive, standalone programs. They do not need any other tools apart from thermochemical data-files or databases. They are the tools of choice for users who do not wish to do any programming work. Compared to ChemApp, ChemSage/FactSage have only limited support to handle complex sets of repetitive calculations.
    • ChemSage/FactSage have a menu interface and graphical output, and are thus better suited to quickly analyze problems and what-if scenarios in which a graph on screen or paper are regularly desired. For that purpose, ChemSage/FactSage are often used alongside ChemApp.
    • ChemSage/FactSage can automatically calculate phase diagrams. If a user needs to calculate phase diagrams frequently, ChemSage/FactSage are the right programs to use. To add this feature to ChemApp would require the user to do extensive programming work.


    The following are the main common features between ChemApp and ChemSage


    • ChemApp and ChemSage/FactSage internally use the same code to calculate the chemical equilibrium (see section 6.1). Results of equilibrium calculations are thus identical between both programs.
    • Related to the above, both programs also support the same wide range of non-ideal mixture phase models (-> ChemApp documentation light / regular).
    • ChemApp and ChemSage use the same thermochemical data-file format. If you have already data-files for ChemSage, they can be used for calculations with ChemApp just as well. FactSage uses its own thermochemical database format, but data-files for ChemApp/ChemSage can be easily created.

    With respect to the text below, note that FactSage is the successor of ChemSage.

    If you need an interactive, standalone program that can output results in the form of tables and graphs, and can automatically calculate phase diagrams, use ChemSage/FactSage. It is an everyday desktop tool that is easy to learn and does not require programming knowledge at all.

    If you need to perform equilibrium calculation from within your own or third-party programs, need to handle complex, repetitive calculations, and want a flexible programmer's library for your projects, use ChemApp.

    Needless to say, many users utilise both tools.

    No, you can't. You need to at least have FactSage V5.0 to be able to create thermochemical data-files for ChemApp

    No, ChemApp need not and cannot directly access any FactSage database. Thermochemical data from FactSage databases is made available to ChemApp (and ChemSheet, for that matter; i.e. any software that internally contains ChemApp) via ChemSage-style data-files, which are user-defined subsets of the databases available for FactSage. See section 7.7 for more information. For general information on data-files, see section 7.1, section 7.2, and section 7.3.

    No, no other software from us is required in order to run ChemApp. Many customers also use FactSage for instance, because they prefer to have an interactive program available too, but there is no technical reason why FactSage is required (see also section 5.2).

    Of course customers who also have FactSage (or ChemSage) benefit from the fact that they can create thermochemical data-files for ChemApp using FactSage and the databases they have available for these programs (see section 7.7).

    While you don't need any other software from us to work with ChemApp, you of course need thermochemical data (see section 7.1) and a suitable compiler (see section 4.1).

    6. Calculational aspects

    The technique employed by ChemApp to calculate complex, multicomponent, multiphase chemical equilibria is called Gibbs energy minimisation (GEM). An outline of this technique can be found in an article on ChemSage, which internally uses the same calculational engine as ChemApp [Eri90].

    More information on the GEM technique can be obtained from the following references -  

    [Smi82] - W. R. Smith and R. W. Missen: Chemical Reaction Equilibrium Analysis, Wiley-Interscience, New York, NY, 1982.  

    [Mat86] - A. E. Mather: Fluid Phase Equilib., 1986, vol. 30, pp. 83-100.

    Two main reasons can be given which are responsible for ChemApp's speed:

    • The GEM code has been under constant development for the last 30 years, since the days of SOLGASMIX. Along with the robustness of the code, its speed has always had a high priority.
    • When ChemApp begins an equilibrium calculation, it tries to guess which phases are stable before it numerically solves the equilibrium. These guesses have been refined during the development of the GEM code, and now account for a significant reduction of computing time when determining the equilibrium state.

    ChemApp itself does not contain any code to deal with kinetic issues, but the fact that ChemApp is available as an independent library makes it ideal to be used in programs that deal with these issues. In these cases, ChemApp is used to calculate a local equilibrium ("local" either meaning "local in time", or "local in space", or both), while the application program provides the necessary code to model the exchange of material and/or energy between these localised equilibria. This exchange of material could be diffusion, fluid flow (e.g. in CFD), or other modes of transport (e.g. in process simulation). Application examples of these concepts are introduced on the ChemApp web page. The possibilities in this respect are tremendous and are one of the prime application areas of ChemApp.

    Recently other methods have been co-developed by GTT-Technologies for the introduction of kinetic controls into complex equilibrium calculations which can be used with ChemApp, and which might be useful to you [Kou01]

    Although ChemApp calculates even complex equilibria remarkably fast (see section 6.2), "speed" is always a relative thing. If one is frequently doing 100000 equilibrium calculations in a row as part of a simulation program, one is interested in every possible technique that saves computation time.

    Here are a few techniques that help speeding up the calculations. Not all of them are suitable for every kind of application.

    1. Since release V4.1.2 of ChemApp, we are providing "optimized" versions of ChemApp for many ChemApp distributions. These optimized versions have been created by using the highest available optimization setting for the compiler that was used to produce the ChemApp library or DLL for that particular distribution. In most cases, these optimized versions of ChemApp can be recognized by their file names, they contain the string _opt_.

      By using these optimized static libraries or DLLs instead of the standard ones, you might achieve some significant speed gain.

      Check the README.TXT file of your ChemApp distribution for important notes on using these optimized versions.

      If your distribution of ChemApp does not contain these optimized versions, but you are interested in using them, please contact us for an update.

    2. Since release V5.0.0, ChemApp contains the two subroutines TQCEN and TQCENL. These two subroutines calculate the chemical equilibrium, taking results from the previous equilibrium calculation as initial estimates.

      Once an equilibrium has been calculated with TQCE or TQCEL, subsequent equilibria can be executed using TQCEN or TQCENL. When the two latter subroutines are called, results from the previous equilibrium calculation are used as initial estimates. This will usually result in a noticable increase of the computational efficiency, especially when the current settings of global conditions or streams are close to those of the previous calculation.

    3. There are certain programming techniques that can be used, depending on the type of application, that result in a faster calculation speed. The key point is that the smaller the chemical system is ChemApp has to consider, the faster the equilibrium can be calculated. It is important to realize that not all kinds of thermochemical data (in particular mixture phases and the models on which they are based) need the same amount of computation time when an equilibrium is calculated. A slag based on the Gaye model requires a multiple of the computation time that a Redlich-Kister phase requires. If the slag based on the Gaye additionally contains sulphur, it requires even more time, and if there's also a miscibility gap to consider in the slag (i.e. two copies of the phase are present), even more time is needed.

      It is thus recommended to check if the complex phases that use most of the calculation time do in fact need to be considered for the calculation. For instance, if previous calculations have shown that for the incoming amounts used the activity for a complex phase indicates that it is very far away from stability, one can consider setting the status of this phase to "eliminated" for the next intermediate calculations. One should of course make sure that this is only done if the incoming amounts of the subsequent intermediate calculations are not too different from the previous ones, and one should always calculate the "final" results with all phases set to "entered" that are of interest.

      Sometimes one uses only one data-file, in one configuration (i.e. one never changes the phase status at run time) for simplicity reasons. If the process one simulates consists of more than one logical part, for instance a metallurgical process that consists of a part that involves a wide range of condensed phases, and another part that only involves a gas phase and a number of stoichiometric compounds, it might by useful to consider disabling the complex condensed phases in the part that only involves the gas phase and the stoichiometric compounds. If one knows that this part of the process will not contain certain complex phases in non-zero amounts at equilibrium, ChemApp can calculate the equilibrium faster if it is told that these phases need not be considered. Again, one should always check this assumption at some point, in particular before "final" results are calculated, by running the process simulation with the original number of phases set to "entered".

    7. Thermochemical data

    To determine a chemical equilibrium, you need two things:

    • A program which performs the necessary calculations (see section 6.1), which is what ChemApp does
    • a data-file (also referred to as a ChemSage data-file) which contains the thermochemical data of all the phases and species in the chemical system you are investigating. ChemApp reads a thermochemical data-file at run-time of your application program by calling the appropriate subroutine.

    Thermochemical data-files for ChemApp (and ChemSage, for that matter) can come from a variety of sources:

    • ChemApp, as well as ChemApp light, comes with several example data-files for various chemical systems, which let you start gathering programming experience right away. These example data-files are also used for the code example which are part of the ChemApp documentation (-> ChemApp documentation light/regular).
    • If you are using FactSage, you can export data-files for use with ChemApp from the databases FactSage uses (e.g. the FACT or SGTE databases), see section 7.7 for details.
    • If you are a user of ChemSage, you probably already have one or more thermochemical data-files for your specific needs. You can use these data-file with ChemApp too, see section 4.3 for details.
    • Again, if you have ChemSage already, and a thermochemical database to go with it (e.g. the SGTE Pure Substance or the SGTE Solution Database), you can use the ChemAccess module of ChemSage to extract data-files for the systems of your choice. The resulting data-files you can use with ChemApp as well.
    • Several other programs from the area of computational thermochemistry which have a database backend are also capable of writing data-files in ChemSage format.
    • If you are looking for a data-file for a specific chemical system or an application, it is worth taking a look at GTT's repository of application-specific data-files. These are data-files which have been compiled already and are now available "off the shelf". Database Documentation serves as a searchable catalog program in this respect.
    • Thermochemical data-files can be custom-made by GTT-Technologies. We specialise in the provision of thermochemical data and have access to all relevant sources and specialists around the world.
    • And last but not least, you can create a thermochemical data by hand, either by starting from scratch, or by modifying an existing one. This might be a good alternative if you have the data already, if the thermochemical system in question is fairly simple, and if you have no access to any of the above alternatives.

    The ChemApp distribution contains several example data-file for you to browse. The ChemApp documentation (-> ChemApp documentation light/regular) also has these data-files included, you can find them in the appendix. One data-file (cosi.dat, for the system C-O-Si), is explained very thoroughly, line-by-line.

    Support for user-defined models has been added to ChemApp, please contact GTT-Technologies for details if you are interested in this feature.

    There are two common reasons for this effect:

    • If the data-file is in ASCII form, check whether the line endings are correct. If the data-file has been copied from a different platform (e.g. from a DOS to a Unix machine), it could be that the line endings have not been converted properly.
    • ChemFile only converts data-files from ChemSage V3.x format to the current ChemApp/ChemSage V4 format. It will not work properly if you try to read a data-file which is in ChemApp/ChemSage V4 format already, nor will it convert data-files which are in the very old ChemSage V2/SOLGASMIX formats (if you still have such old data-files and would like to use them, please contact GTT-Technologies).


    If you suspect none of the above points is the reason for your problem with ChemFile, please contact GTT-Technologies.

    As you might know, ChemSage data-files come in ASCII, binary, and transparent flavors. Whereas ASCII data-files are portable between platforms and compilers, binary files are not. There is no Fortran standard with respect to binary files, the result is that a binary file created on one platform or compiler (e.g. with ChemSage or FACTWin) is in most cases not readable by ChemApp.

    The more recent transparent data-file format achieves some kind of portability between various compilers on DOS/Windows platforms. Thus, a transparent data-file created with FactSage can be read by a ChemApp DLL for Visual Basic®, for instance. To learn more about transparent data-files, please consult the ChemApp documentation (-> ChemApp documentation light/regular). ChemApp light users: Please note that ChemApp light does not support transparent data-files yet.

    FactSage V5.0 and more recent versions can be used to create thermochemical data-files for ChemSage, and also for ChemApp and ChemSheet. The type of thermochemical data-file FactSage writes are called "transparent" data-files, and can be used with virtually all versions of ChemApp running under the Microsoft Windows operating system.

    Transparent data-files are usually not portable to other operating systems like Unix, ChemApp running on Unix will not be able to read such data-files. If you would like to use FactSage data with a Unix version of ChemApp, please contact GTT-Technologies.

    Assuming you would like to use FactSage to create a thermochemical data-file for use with ChemApp, ChemSheet, or ChemSage running under Windows, here is a short description of the recommended procedure:

    • Enter the Equilib module of FactSage and input your choice of reactants.
    • Select the product compound species (i.e. the selected gas, liquid, and solid phases) and solution phases.
    • Perform some equilibrium calculations for the temperature and concentration ranges that you're interested in, to make sure your selection of compound species and solution phases includes everything you want.
    • Use "File|ChemSage|Save ChemSage File" to store your current selection of thermochemical data to the transparent ChemSage data-file ChemSage.cst, which is written to your FactSage directory.

      Note that a thermochemical data-file for ChemSage contains only the thermochemical data for the system you selected in FactSage, but no input conditions for an equilibrium calculation of any sort (like temperature or amounts of reactants).

    • After you have saved the data to a ChemSage file, we recommend saving your settings immediately to a FactSage EQUI*.DAT file, ("File|Save"), so that once you're already calculating equilibria with ChemApp, you can later always recall the same configuration in FactSage, in order to perform interactive calculations, for instance for verification or documentation purposes, or to easily change your selection of phases.
    • See the ChemApp Programmer's Manual (-> ChemApp documentation light/regular) for details on how to load the transparent data-file ChemSage.cst you just created into ChemApp. In short, it involves using the ChemApp subroutines TQOPNT, TQRCST, and TQCLOS.

    8. Programming issues

    Both TQSTSC (Get - Stoichiometry - System - Component) and TQSTPC (Get - Stoichiometry - Phase - Constituent) return a molecular mass via the parameter WMASS. If you did not change the mass unit using TQCSU (Change - System - Unit), it remains set to the default unit, which is 'mol'. The molecular mass is expressed in units of [current amount unit / mol] which can of course only result in the value of 1.0, if the current amount unit is 'mol'. Thus you would normally want to change the amount unit to 'gram', before a call to the functions TQSTSC and TQSTPC.

    If an error occurs (error no. 103 or 102) while reading the thermodynamic data-file using TQRFIL (Read - File), the reason is typically one of the following:

    • The file has not been opened properly.

      This can especially happen when the subroutine TQOPEN (Open - File) is used (i.e. when programming in languages other than FORTRAN) and the file you are trying to open does not exist, at least not where you expect it to exist.

      Note: If you are using ChemApp V3.3.0 or later, use TQOPNA (Open-ASCII-Data-File), TQOPNB (Open-Binary-Data-File), or TQOPNT (Open-Transparent-Data-File) instead or TQOPEN when opening data-files for reading.

      The reason why this can happen with TQOPEN is that this subroutine can be used both for opening files for reading and writing, so if you are trying to open a file that does not exist, TQOPEN will not complain but create a file under this name, which is then existent and of zero length.

      Thus, always check first if the file you are planning to open actually exists using appropriate functions of the language you are using for your application program. Only after you verified that the file really exists you should open it with TQOPEN. Special care should be taken when using Microsoft Visual Basic®, because it might look for the file you are trying to open in different places, depending on whether you run your Visual Basic program from Visual Studio, or as a standalone executable.

      Thus, if you get errors 102 or 103, check if you find a file under the name you used as parameter to TQOPEN on your disk which has zero length. If you do, delete this file and run your program again. If the error is reported again and you find the zero length file again, you know you are not passing the right parameter to TQOPEN.

    • The chemical system contained in the data-file is too big for the version of ChemApp you are using. Check the size of the chemical system in the data-file against the sizes of the ChemApp-internal arrays (see subroutine TQSIZE).
    • If the data-file is in ASCII form, check whether the line endings are correct. If the data-file has been copied from a different platform (e.g. from a DOS to a Unix machine), it could be that the line endings have not been converted properly.
    • If you are using ChemApp V3.3.0 or later, make sure you are using the correct procedure to open your data-file, depending on what format data-file you have: TQOPNA (Open-ASCII-Data-File) for ASCII data-files, TQOPNB (Open-Binary-Data-File) for binary data-files, or TQOPNT (Open-Transparent-Data-File) for transparent data-files.


    If you have ChemSage available, try load the data-file with ChemSage. If ChemSage encounters a problem while reading a data-file, it interprets as much of it as it can and stores the intact part in a file called 'newdat.dat' before it aborts. The contents of this file (especially the very end) provides valuable hints as to where the problem might be located in the data-file.

    If you cannot find the error, and other data-files load without problems, contact GTT's Technical Support, we will help you locate the problem.

    If ChemApp indicates that it cannot calculate an equilibrium, typically returning error numbers 701 or 702 after a call to TQCE (Calculate - Equilibrium) or TQCEL (Calculate - Equilibrium - List - Results), check the conditions which are active for the equilibrium calculation in question using TQSHOW (Show - Present - Settings). Then check the comment section at the end of the data-file and make sure you are not violating any application ranges (e.g. relating to temperature, composition). Typical mistakes of this kind are:

    • Using composition values which are not covered by the data (e.g. trying to use a file for a low-alloyed steel at high compositions of the alloying elements)
    • Using temperatures not covered by the data in the file (e.g. at temperatures where an alloy would be liquid, but no liquid phase data is contained in the data-file).


    If you have verified that the input conditions which led to the error are within the permitted ranges of the data-file, contact GTT's Technical Support for further help.

    Both TQGETR (Get - Results) and TQGDPC (Get - Thermodynamic - Data - Phase - Constituent) allow you to retrieve the values for these thermodynamic functions for phase constituents. The difference is that TQGETR retrieves these values for the previously calculated equilibrium state. The values retrieved with TQGDPC, on the other hand, have nothing to do with an equilibrium state. What TQGDPC does is that it simply calculates the desired thermodynamic property by directly evaluating the polynomial expression for G (or Cp/Delta H298/S298) for the phase constituent in question and the temperature set. TQGDPC can thus for instance be used to produce graphs or tables of thermodynamic properties vs. temperature for any of the phase constituents in the data-file loaded.

    The answer in short: Perform a target calculation with volume as target and pressure as target variable instead.

    When calculations are made under constant product volume by using the option 'VT' of the subroutines TQSETC (Set - Equilibrium - Condition) or TQSTEC (Set - Equilibrium - Condition - When - Stream - Input), ChemApp will make a global minimisation of the Gibbs energy, changing the total pressure in accordance with the given volume. This is, however, a calculation which in rare occasions might fail to converge, for instance when for the given input the volume exhibits a discontinuous change at the appearance or disappearance of phases and the entered product volume lies within the interval of the discontinuity.

    If the same situation would appear during a target calculation with volume as target and pressure as target variable, then ChemApp will weigh all numbers on both sides of the discontinuity and a converged solution will be obtained.

    Because of these problems related to constant volume calculations, the decision has been made to delete 'VT' as a possible option for TQSETC and TQSTEC in future versions of ChemApp. In all application programs where it is currently being used, the option 'VT' should be replaced by option 'V', such defining a target calculation. Note that this does not affect the subroutine TQGETR (Get - Result) and its option 'VT' in any way.

    The Programmer's Manual (Edition 3.2 and later) contains a programming example for this in the Advanced topics section of the appendix (-> ChemApp documentation light/regular).

    For users of ChemApp versions prior to 3.2.0: The values returned by TQSTXP (Get - Thermodynamic - Property - Of - A - Stream) always refer to the last calculated equilibrium state. If TQSTXP is called before the first equilibrium calculation has been performed using TQCE (Calculate - Equilibrium) or TQMAP (Calculate - One - Dimensional - Phase - Map), the value returned will be zero.

    As of ChemApp version 3.2.0, TQSTXP can be called to get the calculated thermodynamic properties of a stream also before an equilibrium calculation has been performed.

    If you are wondering about what exactly ChemApp takes into account when calculating extensive properties of streams, please refer to the section Advanced topics in the appendix of the Programmer's Manual (Edition 3.2 and later) (-> ChemApp documentation light/regular).

    A set of subroutines to do exactly that will be included in the next release of ChemApp/ChemApp light (version 3.3.x).

    9. Questions about particular compilers and development environments

    This problem is very likely not related to ChemApp, but to an incorrect setup of support for precompiled header files in your project.

    One remedy is to open your "Project Settings" dialog, tab "C/C++", category "Precompiled Headers", and choose either "Not using precompiled headers" or "Automatic use of precompiled headers".

    Both settings should work.

    The undefined symbols reported by the linker usually start with one or two underscores, and reported to be first referenced in the ChemApp library. This happens during the linking of any ChemApp application program, even the demo programs (e.g. cademo1) included with the ChemApp distribution.

    Solution: The cause of this error is typically related to the installation and setup of the compiler you are using. The undefined symbols are normally to be found in object files and libraries other than ChemApp or the application program's. The linker looks for them in system libraries installed on your computer. The reason why the linker isn't successful is typically because these libraries are not installed, their location is unknown to the linker, or the libraries are not suitable for the version of the compiler/linker you are using.

    To track down the reason for this problem, you might want to take the following steps:

    • Add the proper option to the linker command line so that it produces verbose output. This option is often -v. This should reveal the real, complete linker command line. Identify the libraries and object files it tries to access during the linking process, and the directories it searches for these files. Check if all of the libaries and object files are actually present in these directories. If not, the compiler installation or update process was likely incomplete.


    • Check the version of your compiler and verify with your system administrator that the matching system libraries are present in the proper directories. One typical clue is that the system libraries, if they are compiler version-dependent, are often located in subdirecties whose names reflect the version of the compiler.


    • If you are using shared libraries, check if the environment variable pointing to the directories to search for these shared libraries (typically called LD_LIBRARY_PATH) is properly set.

    10. List of recent changes to the FAQ


    [Eri90] G. Eriksson, K. Hack ChemSage - A Computer Program for the Calculation of Complex Chemical Equilibria, Metallurgical Transactions B, 21B (1990) p.1013

    [Kou01] P. Koukkari, R. Pajarre, K. Hack Setting kinetic controls for complex equilibrium calculations, Z. Metallkde., 92 (2001) p.1151

    [Mat86] A.E. Mather Fluid Phase Equilib., 30 (1986) p.83

    [Smi82] W.R. Smith and R.W. Missen Chemical Reaction Equilibrium Analysis, Wiley-Interscience, New York, NY, 1982