C-----Version: 11.02.2015 FORMAT OF THERIAK.INI (don't change the name of this file!) Version 21.05.2006 Prepared and commented by Kostas ------------------------------------------------------------- Significant records are only those starting with $ at position 1 or those within a data block, see below. Any other records just as these you are reading now are ignored by the program. Significant records starting with $ at position 1 may be (a) either a program control variable starting with $ and ending with = that is followed immediately by a numerical value (e.g. $Clear=0, see bellow) or (b) a data block. A data block starts with $ at character position 1 followed by a character string identifying the block. Example: $THERIAK-FILES It may contain more than one records and should end with the record $END. Each record within a block starts at position 1 with a 3 character long keyword followed by =. Immediately following =, the value of the keyword may be defined. These keywords are hard-coded and should not be changed. Example: dat=THERIN Within a block, those records that are empty or start at position 1 with ! are ignored. -------------------------------------------------------------- CONTROL VARIABLES ***************** $Clear= defines if the screen will be cleared (value=1) or not (value <>1) before printing help information. $Clear=0 $GHELP= controls if the first help after program start will be printed or not. Valid values of $GHELP= are 1 (print) or 0 (don't print) $GHELP=1 $BATCH= Controls if domino plot files created with the help of script files are immediately proceeded with guzzler and explot. Valid values: $BATCH=0 (do not proceed); $BATCH=1 (proceed). $BATCH=1 $CALC-PARAMS: Calculation parameters: In this block some parameters are defined that control the precision of calculation. It is suggested not to change these parameters. -------------------------------------------------------------------------------------------- LO1MAX Maximum number of iterations for calculation. If LO1MAX < 0 then the number of iterations will be exactly |LO1MAX|. TEST The calculation will stop, if the absolute sum of all non-positive gi after the linear programming step is smaller than |TEST|. If TEST < 0 then the program prints a short summary for each iteration. (For testing the program). EQUALX Two phases of the same solution are considered equal if |Xi| < EQUALX DELXMIN Smallest possible stepsize = precision for calculating Xi's in a non-ideal solution. DELXSCAN Grid width for scanning non-ideal solution phases for initial guess. DELXSTAR initial stepsize. STEPSTAR Maximum number of steps, if initial guess results from a scan. STEPMAX Maximum number of steps if initial guess is a previous minimum. GCMAX Maximum number of G-function calls per step. (= maximum m in stepsize procedure) $CALC-PARAMS TEST=1E-9 LO1MAX=300 GCMAX=500 DELXSTAR=1E-4 STEPSTAR=25 EQUALX=1E-2 DELXSCAN=1.0 STEPMAX=25 DELXMIN=1E-9 $END FILE DATA BLOCKS **************** Each program needs its own files that are defined in File Data Blocks (see examples below). Each file is associated with the following items: 1. A 3 chars long FILETYPE that is hard-coded and cannot be changed. The FILETYPE is a short, hopefully obvious description of what the file contents are (see examples in table just below). 2. A I/O unit number (fortran) that is hard-coded and associated with FILETYPE in the files files.cmn and thblock.cmn. 3. A FILENAME (that might include a DOS-type extention). For all programs, some of the FILENAMES are hard-coded in file thblock.cmn and cannot be changed by the user. These include: I/O Type File name Status Contents -------------------------------------------------------------------------------------------------- 1 Ini theriak.ini old (should always exist!) Program's initialization information 2 Hlp thhelp.txt old (should always exist!) Help information 3 Spt scriptXX unknown Scripting information 4 Job domjob unknown Batch job directives for running program e.g. overnight XX in file scriptXX is an integer between 01 and 99 that is appended to "script" during run time. For the Windows operating system, file domjob will automatically become domjob.bat. The names of all other files for each program may be defined by the user in program-files blocks. File block structure ---------------------- Each record within the files block has the following syntax: 1. It starts at position 1 with a 3 chars long FILETYPE keyword (hard-coded, don't change!) that is followed by a =. These hard-coded FILETYPES include the following keywords: ini,hlp,spt,job,kbd,scr,dat,dbs,log,out,bin,drv,tab,tcp,plt,cln,rxn,grd,pst,fig,lpl,lbk,ibk. You may see the logical relations (description) of the various program files by entering the keyword "files" after each program start at program's prompt. 2. Immediately following the = char (no space!) , you may define the DEFAULT FILENAME the program will use. This filename may be as long as 30 chars and may contain a period and/or file extension. 3. An optional description (max. 70 chars long) may follow a #-char within the same record. This description is not significant for the programs. The descriptions given below, are however hard-coded and will be shown on screen with the input keyword "files" at the first prompt of each program. Filename conventions -------------------- Note: Unix and derivate operating systems need CaSe SeNsItIvE filenames! In case you define filenames containing period(s), the program (subroutine initialize, file help.f) will consider the character string immediately following the left-most period as a file extension, i.e. FILENAME.EXTENSION. The FILENAME should not exceede 20 chars and EXTENTION (including the period) 10 chars. These lengths correspond to the total length for FILENAME of 30 chars. If you don't use any period in the filename, only the first 20 chars will be assigned to FILENAME, whereas the EXTENTION will be empty. Defining program filenames -------------------------- All files of the programs are ordinary text files that can be viewed and modified by any text editor of your choise. There are two ways to define your default file names for each program: 1. Define for each program the default filenames you want according to the rules above. 2. Set the filename of filetype "dat" to a single question mark. For example, in the following $THERIAK-FILES block you may set dat=? If you do this, the program will state on start that Filename for file type dat not defined in theriak.ini Enter file name: Now you enter the name of file type "dat" that contains the chemical input for your calculation, e.g. mydata Then, the files that will be created by the programs will be named automatically to mydata-plt.txt mydata-cln.txt mydata-tab.txt etc. This naming convention can be checked after program start by entering the keyword "files" at program's first prompt. This convention is especially convinient in a Windows operating environment, because all files with extension ".txt" are usually associated with the text editor NOTEPAD.EXE. Double-clicking on the file names in a file manager window opens them. For Unix and derivate operating systems, the file-program associations follow different rules that are not related to any DOS-type file extension of the form "filename.ext". In the example above, the string following the - (e.g. plt) defines the type of the file, i.e. its logical relation to the program. For example a plt-type file contains information for plotting a phase diagram. Note, that some of the filenames in the blocks bellow are defined as "Run-time-defined". Irrespective of what you enter here for them, the program will ask you anyway for a filename. For clarity, leave such file names as "Run-time-defined"! It is a matter of taste how you will name your default file names. Note however that, for example, all programs produce files of type out, i.e. files containing output information. If you define the filename for this file types as, for example, Mydata or Mydata.txt then every successive run of any program will overwrite previously created files named like this. I use for each program a naming convention that descriminates files of type out produced by different programs. For example all Theriak files bellow contain "Thk" for "Theriak", the Filetype key for indicating the file contents and the extention ".txt" for clicking on them in a file manager window and openning them with notepad.exe. Program-files blocks --------------------- $THERIAK-FILES dat=therin.txt #User's chemical input to program dbs=Run-time-defined #Thermodynamic data base to be used log=ThkRun.log #User's responses during last run of program out=ThkOut.txt #Calculation information to be printed or viewed on screen bin=ThkBin.txt #Graphics data for "pseudo-binary system" calculations drv=Run-time-defined #"Special calculation" directives for running the program tab=ThkTab.txt #Table of variable values; input to a spreadsheet program tcp=ThkTcp.txt #Table of variable values; input to "TechPlot" $END $DOMINO-FILES dat=therin.txt #User's chemical input to program dbs=Run time-defined #Thermodynamic data base to be used log=DomRun.log #User's responses during last run of program out=DomOut.txt #Calculation information to be printed or viewed on screen plt=Domplt.txt #Graphics data (e.g. input to GUZZLER) cln=clean.txt #Graphics data after label arranging and cleaning (e.g. input to EXPLOT) pst=graphic.ps #Graphics file in PostScript format fig=DomMap.txt #Value table for variable mapping inf=DomInf.txt #Contents of pixel map directory (alte unit 10) $END $GUZZLER-FILES log=GuzRun.log #User's responses during last run of program cln=Clean.txt #Graphics data after label arranging and cleaning (e.g. input to EXPLOT) plt=Run time-defined #Graphics data input (e.g. from DOMINO) rxn=RxnLst.txt #Reaction/assemblage list grd=Grid.txt #Grid information for graphics file $END $EXPLOT-FILES log=ExpRun.log #User's responses during last run of program cln=Run time-defined #Graphics data (input) pst=plot.ps #Graphics file in PostScript format $END $THERBIN-FILES dat=therin.txt #User's chemical input to program log=thbBin.txt #User's responses during last run of program dbs=Run time-defined #Thermodynamic data base to be used plt=ThbPlt.txt #Graphics data input (e.g. from DOMINO) out=ThbOut.txt #Calculation information to be printed or viewed on screen $END $THERTER-FILES dat=therin.txt #User's chemical input to program log=ThrRun.log #User's responses during last run of program dbs=Run time-defined #Thermodynamic data base to be used out=ThrOut.txt #Calculation information to be printed or viewed on screen plt=ThrPlt.txt #Graphics data input (e.g. from DOMINO) $END $THALIA-FILES dat=therin.txt #User's chemical input to program log=ThaRun.log #User's responses during last run of program dbs=Run time-defined #Thermodynamic data base to be used out=ThaOut.txt #Calculation information to be printed or viewed on screen plt=ThaPlt.txt #Graphics data input lpl=ThaLplt.txt #Graphics data input $END $THERMO-FILES dat=therin.txt #User's chemical input to program log=ThmRun.log #User's responses during last run of program dbs=Run time-defined #Thermodynamic data base to be used out=ThmOut.txt #Calculation information to be printed or viewed on screen tab=ThmTab.txt #Table of variable values; input to a spreadsheet program $END $THERIAQ-FILES dat=therin.txt #User's chemical input to program dbs=Run-time-defined #Thermodynamic data base to be used log=ThqRun.log #User's responses during last run of program out=ThqOut.txt #Calculation information to be printed or viewed on screen tab=ThqTab.txt #Table of variable values; input to a spreadsheet program tcp=ThqTcp.txt #Table of variable values; input to "TechPlot" lbk=ThqBulk.txt #Last bulk calculated by THERIAQ ibk=ThqIniaq.txt #initial aqueous composition for THERIAQ $END $MAKEMAP-FILES dat=therin.txt #User's chemical input to program log=MkmRun.log #User's responses during last run of program out=MkmOut.txt #Calculation information to be printed or viewed on screen pgm=pixels.pgm # ascii-image of pixel map pst=pixel.ps # Pixel map (PostScript file) (alte unit 20) $END End of file theriak.ini, version 15.07.2006.