-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paththeriak.ini
executable file
·305 lines (246 loc) · 14.4 KB
/
theriak.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
C-----Version: 2023.06.11
FORMAT OF THERIAK.INI (don't change the name of this file!)
Version 2023.06.11
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=0
$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)
Different sets of params can be activated/deactivated by unindenting/indenting:
Older default set
$CALC-PARAMS
TEST=1E-9 LO1MAX=300 GCMAX=500 DELXSTAR=1E-4 STEPSTAR=400
EQUALX=1E-2 DELXSCAN=1.0 STEPMAX=400 DELXMIN=1E-9
$END
Set that usually works for HP ds62/ds633 mb50/ig50 set of ax models. DELXMIN
can be decreased down to E-12 to E-14 when in P-T space where X elements on
sites becomes nearly zero (sometimes common for CPX/AUG).
$CALC-PARAMS
TEST=1E-09 LO1MAX=300 GCMAX=300 DELXSTAR=1E-3 STEPSTAR=780
EQUALX=1E-2 DELXSCAN=1.0 STEPMAX=300 DELXMIN=3E-9
$END
$CALC-FLAGS
OUTFLAGS=FALSE !TRUE outputs some CALC-PARMS and FLAGS used on rhs of dominograms
$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 #User's chemical input to program
dbs=Run-time-defined #Thermodynamic data base to be used
log=theriak.last #User's responses during last run of program
out=OUT #Calculation information to be printed or viewed on screen
bin=binout #Graphics data for "pseudo-binary system" calculations
drv=Run-time-defined #"Special calculation" directives for running the program
tab=loop_table #Table of variable values; input to a spreadsheet program
tcp=loop_tecplt #Table of variable values; input to "TechPlot"
inf=loop_info #info for Table of variable values
$END
$THERION-FILES
dat=THERIN #User's chemical input to program
dbs=Run-time-defined #Thermodynamic data base to be used
log=therion.last #User's responses during last run of program
out=OUT #Calculation information to be printed or viewed on screen
drv=Run-time-defined #"Special calculation" directives for running the program
$END
$DOMINO-FILES
dat=THERIN #User's chemical input to program
dbs=Run time-defined #Thermodynamic data base to be used
log=domino.last #User's responses during last run of program
out=OUT #Calculation information to be printed or viewed on screen
plt=coplot #Graphics data (e.g. input to GUZZLER)
cln=clean #Graphics data after label arranging and cleaning (e.g. input to EXPLOT)
pst=plot.ps #Graphics file in PostScript format
fig=pixelmaps #Directory name for pixelmaps (no filename extension!)
$END
$GUZZLER-FILES
log=guzzler.last #User's responses during last run of program
cln=clean #Graphics data after label arranging and cleaning (e.g. input to EXPLOT)
plt=Run time-defined #Graphics data input (e.g. from DOMINO)
rxn=table #Reaction/assemblage list
grd=gitter #Grid information for graphics file
$END
$EXPLOT-FILES
log=explot.last #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 #User's chemical input to program
log=therbin.last #User's responses during last run of program
dbs=Run time-defined #Thermodynamic data base to be used
plt=plot #Graphics data input (e.g. from DOMINO)
out=OUT #Calculation information to be printed or viewed on screen
$END
$THERTER-FILES
dat=THERIN #User's chemical input to program
log=therter.last #User's responses during last run of program
dbs=Run time-defined #Thermodynamic data base to be used
out=OUT #Calculation information to be printed or viewed on screen
plt=plot #Graphics data input (e.g. from DOMINO)
$END
$THALIA-FILES
dat=THERIN #User's chemical input to program
log=thalia.last #User's responses during last run of program
dbs=Run time-defined #Thermodynamic data base to be used
out=OUT #Calculation information to be printed or viewed on screen
plt=thplot #Graphics data input
lpl=thaliaplot #Graphics data input
$END
$THERMO-FILES
dat=THERIN #User's chemical input to program
log=thermo.last #User's responses during last run of program
dbs=Run time-defined #Thermodynamic data base to be used
out=OUT #Calculation information to be printed or viewed on screen
tab=stattab.txt #Table of variable values; input to a spreadsheet program
$END
$THERIAQ-FILES
dat=THERIN #User's chemical input to program
dbs=Run-time-defined #Thermodynamic data base to be used
log=theriaq.last #User's responses during last run of program
out=OUT #Calculation information to be printed or viewed on screen
tab=loop.table #Table of variable values; input to a spreadsheet program
tcp=loop.tecplt #Table of variable values; input to "TechPlot"
lbk=lastbulk #Last bulk calculated by THERIAQ
ibk=iniaq #initial aqueous composition for THERIAQ
$END
$MAKEMAP-FILES
log=makemap.last #User's responses during last run of program
out=OUT #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
$PLOTXY-FILES
log=plotxy.last #User's responses during last run of program
out=OUT #Calculation information to be printed or viewed on screen
dbs=Run time-defined #table to be used
inf=loop_info #info for table to be used
plt=xyplot #Graphics data (e.g. input to GUZZLER)
$END