Read the User's Guide as PDF. (150KB)
General structure of the program
The program is a 32 bit Windows application. All files used in addition to the program file are text files. As filter in file save and file load processes we use: Data.txt for data files, H.txt for help files and Plot.txt for [T,F(T)] point data files. Thus, the user is not troubled if Microsoft changes again the formats and he has direct access to these files to change or manipulate them, of course on his personal responsibility. You have not to use the filter names for personal files, but the program runs smoother if you do this.
The table of functions is printed also as text file with the old-fashioned courier type fond in order to remain independent of changes of fond standards. If the table has to be inserted correctly into a manuscript it may be no big problem to do this by the text program used.
The curve plots are printed as bitmap files. They can serve as a sketch for a figure in a manuscript and further optimized by the text or graphic program.
The data files are text files too. Each data set is written in a line with this structure:
System[Tab]Reaction[Tab]Ref[Tab]Tmin[Tab]Tmax[Tab]H[Tab]S[Tab]a[Tab]b[Tab]c[Tab]d[Tab]l.
The numeric values are defined as double and written as string variable too.
The data set for reactions of H, C, N, and O with metals, offered in the program file DataBasis.txt, is used as standard set of the program and has been chosen according to conventions used also in many data compilations. H means ∆H, i.e Ho at 298.16 K of reaction products minus reactants. S means ∆S, i.e So at 298.16 K of reaction products minus reactants. cp means ∆cp, i.e cp at 298.16 K of reaction products minus reactants. cp(T) is given as:
cp = a + b*1E‑3*T + c*1E5/T2 + d*1E‑6*T2.
By this definition we get (for details read a textbook on thermochemistry):
H(T) = Ho(To) + a(T‑To) + 1/2*b*1E‑3*(T2 ‑To2 )
‑ c*1E5*(1/T‑1/To) + 1/3*d*1E‑6*(T3 ‑To3 )
S(T) = So + a(lnT‑lnTo) + b*1E‑3*(T‑To)
‑ 1/2*c*1E5(1/T2 ‑1/To2) +1/2*d*1E‑6*(T2 ‑To2 ),
Tmin is used as To in the program.
Tmin, Tmax define the temperature range, given by the authors. Thus, the complete data set consists of:
System name, reaction equation, references, Tmin, Tmax, H, S, a, b, c, d, and l as a zero string available for the user.
The selection of data is made by the system name which consists of the symbols of the chemical elements occurring in the reaction equation. The elements are written as capitals and in alphabetic order. A system name has the following structure:
SystemName =‘E1’[+’ ‘+’E2’[+’ ‘+’E3’[ +’ ‘+’E4’[+’ ‘+’E5’[ +’ ‘+’E6’]]]]]+’ ‘
The reaction equation specifies the individual reaction and references or comments are given in variable Ref.
In most cases the factors a to d are zero, since only the two most important quantities H and S are known and suffice for realistic estimations within the error of the experimental data they rely on. The factors a to d are included in the program to assist more detailed thermochemical analyses sometimes made by experts.
In the data sets temperatures are given in K and energies in Joule.
The menus control the data input and output.
Data input is made by the menu Get data by selection of the data sets beginning with the system name chosen, and their transfer from the data file to the work store opened for the present session.
The input of data found in the literature to the work store requires two steps. They must first be filled into a private data file (TempData.txt, PrivData.txt or another one, ...Data.txt) by the menu Data input. Then you can use the menu Get data and have them available in the work store for output procedures.
Data output is performed by the menus Show data and Plot. The conversion of units are only active in the output procedures and in the menu Data input where correct data sets must be produced before they can be saved in the data files.
The menu Calculate produces data sets of new reactions by addition of data sets available in the work store which are multiplied by factors chosen by the user. This data set must then be written into one of the private data files and then filled into the work store by Get data. Only then you can use the new data in output procedures.
By the menu File care you can look into the files and delete one data set or all sets in a data file. The data file ‘DataBasis.text’ with the evaluated data on (H-C-N-O-Me) systems is write protected and should not be changed unless a backup is made. If a user has made a file with his own basic reactions he can save it as DataBasis.txt after he has renamed the original file DataBasis.txt for further use.
In practical use there are two big chances for making mistakes.
This program avoids to large extend errors of type 1.) by the routines available. The data stored in the data files and transferred from there to the work store for a specific session are given in units Joule and K. Also the input of new data to personal data files by the user is converted to these units.
The output procedures providing data sheets, tables, or curve plots begin with the input of these standard data from files to the work store. The data selected can then be presented for temperature in K, C, F, and for energy in cal/mol, Joule/mol, eV/molecule.
The problem of avoiding type 2.) errors with respect to the standard state unfortunately has to remain in the responsibility of the user. It is the problem of definition of the units for the activity a in the entropy terms ( for details consult textbooks of thermochemistry ). However, the definitions for a in the data sets of the file DataBasis are given below.
The pressure standard state of hydrides, nitrides and oxides in the DataBasis file uses as pressure unit 1 atm. The solution reactions for H, N, O use as standard state the ideal diluted solution model with p in atm and the concentration x of the dissolved atoms x in mole fraction, (not in wt% or at% !). The problem of choosing compatible standard states for calculation is described in more detail below in the menu Calculation.
Help files of the menus
This menu provides the procedures for unit conversion of data input and output. One can change units by this menu any time. The user is reminded to check units also when entering some of the other menus.
In the lower part there is an input for three constants to adapt the presentation of the equilibrium constant lg Kp. This enables the user to plot a pressure or concentration term as a function of temperature.
The following examples shall demonstrate this:
The reaction 2Al + 3/2O2 → Al2O3 gives an equilibrium constant
lg Kp0 = lg (a(Al2O3) / {a(Al)² * p(O2)3/2}) = ‑G / (RT ln 10).
a(Al2O3) and a(AL) are 1 by definition and p(O2) is given in atm. If you wish to plot the dissociation pressure of Al2O3 as a function of T you have to change the lg Kp0 function to
lg Kp = (-3/2) * lg Kp0 + 0 , ( A : = -3, B : = 2, C : = 0).
With C you can change the pressure units. E.g. C : = 3 gives millibar.
The reaction 1/2H2 → H(in Ti) has the equilibrium constant
lg Kp0 = lg (a(H in Ti) / p(H2)1/2 ) = ‑G / (RT ln 10).
a(H in Ti) is given in mol fraction. If you wish to plot the concentration of
H (dissolved in Ti at 1 atm) in at % you have to set C : = 2.
If you need the equilibrium H2 pressure for 1 at% H you set
A : = -2, B : = 1, C : = -4.
The input of A and B requires integers, decimals are removed. lg is common logarithm, ln is natural logarithm, a are activities. For elements and stoichiometric compounds a = 1 holds and the activity a of the solution reaction is defined in the DataBasis file as an ideal diluted solution with a(H in Ti) = n(H atoms) / [n(H atoms) + n(Ti atoms] in mol fraction x. lg Kp is the standard equilibrium constant of the reaction as defined by the data set.
This routine is responsible for finding relevant data in the files by the input of a system name. The system name is the alphabetic sequence of the elements occurring in the reaction equation. Correct writing is very important and checked carefully by the program.
Existence and correct writing of each element symbol is checked when leaving its edit box. Confirm the end of input by pushing the buttons Make system name and Insert data to store.
The data available in a file belonging to the same system name are given to the work store and characterized in the list of content by the reaction equation. The input of data from various files finally provides the set of data required for presentation or calculation.
Data not needed can be deleted.
With this menu you can look at the data of a reaction selected from the work store.
The data sheet shows the data set read from the file in the units chosen. You can get a screen copy of the sheet.
The table shows the values of thermochemical functions calculated from these data for various temperatures. The values for Tmin and Tmax and the temperature steps are proposed by the program, but you can choose also other numbers. If you need function values at specific temperatures you can insert these T values as Tmin or Tmax. The table shown can be printed as screen copy or saved as a text file for further use in personal documents.
With this menu the thermochemical functions cp, H, S, G, lg Kp of one or several reactions can be plotted vs. temperature or 1/T, respectively. The units of the plot can be chosen optionally. The length and scales of the axes are at first proposed by the program according to the temperature range given in the data set, but they can be changed to fit the taste of the user.
In the plot lg Kp vs. 1/T dashes at the top can be printed at T values n*500K, n*200K, n*100K, n*50K, n*20K, or n*10K by pushing a button and plotting it again.
The plotted data points (T, function(T)) of the curves can also be stored in a text file of data points for further use in other plot programs. The lines have this structure:
T+' '+function(T)+' '+'fat/thin'.
fat means data within the limits of definition, thin means extrapolation.
A bitmap of the curves can be stored, too, for further use.
Finally, a screen copy can be printed. The comments written can remind details of the reactions or curves and, in addition, the names of the file or bitmap can be read from the printed copy.
In compilations of thermochemical data the values for the formation of compounds from the elements are found. The ∆cp, ∆H and ∆S values of these reactions can be combined by multiplying with a factor and addition or subtraction in exactly the same way as the chemical symbols in order to form a new reaction equation. The result of this procedure gives the reaction data of the new reaction.
1*(2Al + 3/2O2 → Al2O3) | ∆G(Al2O3): = G(Al2O3)‑2G(Al)‑3/2G(O2) |
‑3*(H2 + 1/2 O2 → H2O ) _________________________ | ‑3*[ ∆G(H2O): = G(H2O)‑G(H2)‑1/2G(O2)] _______________________________________ |
2Al + 3H2O → Al2O3 + 3H2 | ∆G(new): = G(Al2O3)+3G(H2)‑2G(Al)‑3/2G(H2O) |
This example for G demonstrates how the data set of the new reaction is obtained by multiplication of the second data set by a factor of ‑3 and addition. The pointers in the equations on the left hand defines: The reactants on the left side of the equation form the reaction products on the right side. Using ‑1 and 3 as factors yields the backward reaction with opposite signs of the energy terms in the new data set.
One problem is left to the care of to the user, the problem of compatible standard states.
The activity for stoichiometric compounds is defined to be 1 and for gases the pressure is normally defined to be 1 atm. That is no real problem.
For diluted solutions (mole fraction x < 0.03) one can write a reaction equation
C → C(in Fe)
and define the activity as a = x. This has the consequence that we define a new artificial standard state, carbon in iron with the concentration x = 1. The reaction energy and entropy values represent the difference between these two standard states. This sounds somehow crazy. However, also for the solution of gases, H2 → 2H(in Fe) we obtain a clear definition for the Sievert's constant x2/p = Kp(T). The "heat of solution", the enthalpy change of this reaction, is a very informative term for such type of reactions. The data file DataBasis.txt contains a collection of solution data for H, C, N, and O in metals using these standard states.
Whenever data of solutions, mixtures or alloys are used in calculations one has to check carefully the standard states with respect to p and a (i.e. pressure and concentration units). The definition of the activity of an element as an element in a mixture defines also the standard state of ∆S of a reaction. Big mistakes can arise in this corner. A look at relevant chapters in a text book may be helpful to avoid drastic errors caused by mixing incompatible standard states in calculations.
Another point one has to consider when using literature data is to check whether the term G(Al2O3) means ∆G, i.e. the reaction Gibbs free energy of formation from the elements, like in this program, or the absolute value of G. An example how to handle this problem is discussed in the menu Data input [2,3].
With this menu you make new data sets in in the style of this program and save them in data files, e. g. in the files PrivData.txt or TempData.txt already existing, or in any other file with a new name ...Data.txt.
At first you are asked to define the units of input data and the system name of the reaction. Then you have to enter the type of data presentation you found in the literature and have to write the reaction equation and the reference or other comments.
Then a data sheet is shown which contains already the system name, the reaction equation and reference and the units of the data, you are inserting now. The sheet asks for Tmax and Tmin of the data. Tmin is frequently 298 or 300 K and Tmax the melting point of a compound or the highest temperature of experiments.
The types of data presentation accepted by the program are:
References:
This menu is a separate part of the program. It enables a check of the files used or produced by the program such as data files, files of data tables, or plot data files. Most of the files are saved as text files and the user can check and manipulate them by any text program, e.g. Wordpad. Thus, the data can easily be transferred to own documents by a user who is accustomed to do this. Such actions are, of course, within your own responsibility and saving backups before manipulating is recommended.
The program uses the following file types:
The consequent use of file names and extensions is not controlled by the program, but some routines use these name styles as flag. Therefore, correct names may avoid confusion.
Submenu Files: In the list box on the left side you see an incomplete copy of the data file selected from the load menu and can check whether or not it is present. With the buttons on the right side some manipulations can be made.
Submenu Data set: This submenu reads the system names from a data file ...Data.txt and shows them in a separate list box. When you click a system name data is shown in a data sheet. If data for more than one reaction exists the Next button will display the next data set. The Delete button on the right corner removes the data set shown in the sheet from the file. If you don't want to loose information you can get a print copy by pushing the Print button.
If you wish to replace a data set in a file the following procedure is recommended, because then the control routines of the program remain active: First add the new data set using the Data input menu of the main program and then Delete the old data set by this menu.
To move a data set from one file to another file you can use the menu Calculate. You have to set the factor 1/1 and to write the reaction equation and references into the edit windows shown. With the Store button you can add the new data set to another file.
Data on the solubility of H, C, N, and O in metals
At first a few basic remarks on reaction G values, molal compound g values and chemical potentials µ. For details one should consult a textbook on thermochemistry.
The molal g value of Al2O3 ( not the ∆G value for formation !)
g(Al2O3) = 2/5 µ(Al in Al2O3) + 3/5 µ(O in Al2O3)
is constant, and for phases with more extended concentration range it can be set constant for estimations within the error limits. Thus, the G value of Al2O3 = 5g(Al2O3) is constant, too, and can be defined as Go and a(Al2O3) as 1. However, the two µ terms in the sum of g can change drastically with concentration.
Phase equilibrium is defined by the condition that the chemical potentials of all elements in all phases have the same value. This has the consequence that µ(Al) and µ(O) depend on the type of equilibrium considered. If Al2O3 is in equilibrium with the gas phase, then a(O in Al2O3) = a(O in O2 gas) holds and a(Al in Al2O3) is very small. However, if Al2O3 is in equilibrium with Al metal, e.g. in a closed receiver, then a(Al in Al2O3) = 1 holds and a(O in Al2O3 ) is extremely small as well as the O2 pressure. These changes of the µ values depend on the defect structure of compounds. This is normally not well known and of little interest for usual thermochemical calculations.
In order to calculate correct equilibrium constants one has not to care about these details if the following points are obeyed:
The equilibrium constant of our example
2Al + 3/2O2 → Al2O3 is
lg Kp(T) = lg [a(Al2O3) / (a(Al)2*p(O2)3/2 ] = - ∆Go / (R*T*ln 10),
where in the numerator we have the terms for the activities of components formed and in the denominator for components consumed.
∆Go = Go(Al2O3) - 2Go(Al) - 3/2Go(O2).
As mentioned above, a(compound) and a(element) are 1 by definition and a(H2), a(N2), and a(O2) are p[atm]1/2.
Fortunately, during correct addition or subtraction of ∆Go values of reaction equations the equilibrium conditions are automatically described correctly by the equilibrium constant obtained if
Before new data are calculated one has to check these points. Then one has to combine the initial reactions in such a way that only the phases being in equilibrium show up in the new equilibrium constant and in the reaction equation and all others are eliminated.
The file DataBasis.txt is a compilation of: