forked from sundmanbo/opencalphad
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchanges.txt
1282 lines (1068 loc) · 65 KB
/
changes.txt
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
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This file contains information on Open Calphad (OC) version 5 and earlier
For general information please read the readme-general.pdf
The installation and use of OC requires some general knowledge about
compilation and linking of software. If you are not familiar with
such procedures please ask a local guru. We who are providing this
software do not have time to answer such questions.
If you want a thermodynamic software that can install itself and which
does not require any understanding of thermodynamics please contact a
commercial vendor.
In the list below the most recent changes come first.
2019.06.04 OC version 5.042: The gridminimizer will now try to merge
gridpoints in the same phase to speed up the following iterative
calculation and to avoid creating unnecessary composition set. There
is a risk this change will mean that some miscibility gaps are not
detected, please report if you have any problem with this! The
merging can be turned off by the commands:
set advanced lavel Y
set bit global 4
NOTE also: the command "set level" has been removed but there is
instead an identical "set advanced level".
Many other minor changes has also been made, for example if you enter
an addition by the "amend phase" command you will now be asked if the
addition is "calculated per mole atoms" and if you answer Y the
addition will be multiplied with the current number of moles of the
phase. This is important for the "magnetic" and "lowT CP" additions.
Finally a routine used to index a symmetric array, has in some
time-critical places been replaced by a simpler mechanism.
2019.05.16 OC version 5.041: Disscussions with Clement Introini,
Romain Le Tellier and Jean-Christophe Dumas at CEA, Cadarache have
thrown some light on the functions of the the grid minimizer and a
number of changes has been made, maybe even a paper published.
Several updates of the grid minimizer and other things will come in
the following weeks.
The command SET ADVANCED SMALL_GRID has been replace by SET ADVANCED
GRID 0. This command now has 3 levels, 0, 1 and 2. The value 2 is
for a dense grid with about 5 times more gridpoints than level 1.
Level 1 has about 5 times more gridpoints then level 0 (when there are
many gridpoints).
I am very grateful to Matthias Stratman at RUB, Bochum, Germany to
provide updates of the examples of OCASI on the TQ4lib directory.
Including a Makefile to simplify compiling and linking on Linux.
Finally I have changed and modified the LIST ACTIVE-EQUIL command which
should be useful in assessments. It lists the equilibria with
weight>0.0, i.e. those which are currently used for optimization.
2019.05.07 OC version 5.040: The filebrowser in OC works reasonably on
Windows but there are problems on other OS. I hope I have fixed a
small problem with captial letters for the extension, by default all
OC file extentions are assumed to be CAPTIAL LETTERS except Gnuplot
"plt". On Windows that is not important but on Linux it makes a
difference. If anyone can provide a better, simple and free platform
independent filebrowser please let me know.
I have added "save unformatted" of some new additions like liquid
2-state model and Einstein solid. I also added a warning if a
parameter for an addition is entered but no "amend phase" for such an
addition has been made. A phase with an addition but without any
associated parameter is no longer listed with the "list data" command.
2019.04.21 OC version 5.039: I have now modified plotting with several
dependent functions like STEP but also MAP when there are tie-lines in
the plane. Previously I repeated all data for each line plotted which
made the ocgnu.plt file very large and difficult to handle. With help
from "stackoverflow" I learned that I can write the matrix with data
once in the ocgnu.plt file with a name which can later be used several
times in a "plot for" command in GNUPLOT.
THIS CHANGE REQUIRES GNUPLOT 5.0 or later for plotting.
A problem with this change is that appending a plotfile I will not
have the same scaling on the data in the append file. After some
reading of the GNUPLOT manual forwards and backwards I found that I
can save the autoscaled X and Y values from the first plot with a
"writeback" option to "set x/yrange" and then set these as scaling for
the next plot of the appended data. Very smart and quite difficult to
dig up.
There has also been some interest to use OC for teaching and as I
mainly thought of skilled users while OC has been developed I will add
some facilities to simplify calculations of phase diagrams (several
automatic start points). I have also added a DATABSE_INFO in the
multicomponent databases provided with OC which will be written when
reading these database to warn against calculation of unassessed
systems.
2019.04.15 OC version 5.038: I plan to make a major change plotting
and that requires version 5 of GNUPLOT or later. PLease make sure you
use that for plotting, it has been around since 2017.
A number of minor changes for assessments has been made generating
better graphics for the plot_data overlays of experimental data.
I am also going to put some efforts into improving the grids for the
grid minimizer to allow more flexible setting of the grid densities.
For some cases with ionic constituents the grid has been far too
dense. There has also been some tests showing it will be possible to
speed up the iterative calculations. The improvements of step and map
is also high on the list of things to do but this time there are none.
2019.03.28 OC version 5.037: The correlation matrix and the Relative
Standard Deviation (RSD) now seems to work during assessments. I have
also added a new command LIST NONZERO_EQUIL to list only equilibria
with weight>0, the command LIST EQUIL lists all equilibria. Some
problems with uncertainties for experiments fixed.
2019.03.24 OC version 5.036: For assessments the correlation matrix
and the Relative Standard Deviation (RSD) for each parameter are
important and I think they now are calculated correctly.
2019.03.22 OC version 5.035: A bug that made results from STEP
calculations disappear when several STEP commands were made without a
plotting in between has been fixed. Thanks Nath to discover this.
2019.03.17 OC version 5.034: My presentation of OC at the TMS
conference recieved some nice attention. But I also got some
feedback about things missing or that does not work and fixing that
sometimes crashes some of my test macros. Suck. I have changed the
command SET T_AND_P as it was easily misunderstood, now it is SET
INITIAL_T_AND_P because it can only be used to provide start values
when there is no condition on T or P or when using CALC PHASE.
I have also added a possibility to have a scaling factor for the
property on the axis to be plotted, simply add a factor in front of
the state variable to plot like "plot x(mo) 0.001*gm(*)" and the
values plotted will be kJ/mol rather than J/mol.
For future extensions I have also added a command SET SYSTEM_PARAMETER
although there are none as yet ... and such parameters must be saved
on any unformatted file used and the unformatted file is VERY fragile.
And such a file should be backward compatible like the POLY files in
Thermo-Calc. Luckily it is not possible to save step/map results
(yet) but the unformatted files are useful for assessment
(corresponding to a PAR file in PARROT). A bug that one had to SET
RANGE before saving any coefficients to be assessed has been fixed.
I have modified the equi-entropy criterion implementation that is
needed for the new unary database. It requires a new command, SET
ADVANCED EET. We are writing a paper to explain this method of
handling the extrapolation of the Gibbs energy of the solid phases to
high T.
2019.03.07 OC version 5.033: A few more fixes for the plotting.
Please note that the "ocgnu.plt" file generated by OC for a plot can
be edited and a lot of thing can be changed or added manually to
obtain a satifactory plot. After using GNUPLOT 7 years I also noted
that one can generate a PDF file from the screen window!
2019.03.05 OC version 5.032: GNUPLOT is a very nice and flexible
software proving graphics output for OC and I am still learning its
facilities. The fonts used for the graphics has been small, OK on the
screen but too small for publications. Now I have learned how to set
larger fonts and changed the default font to "ariel,16" which I think
is better for publications. You can select font and size yourself
using the "enter gnuplot-terminal". For plotting texts and labels of
lines it is possible to select different size of the text, see the
examples.
2019.02.18 OC version 5.031: A working version of the UNIQUAC model
for fluides and polymers has finally been implemented. There is a new
macro file which explains how to enter this phase and its model
parameters. As usual there are difficulties with step and map
commands. A number of minor bugs have also be removed.
2019.01.15 OC version 5.030: A test version of the corrected
quasichemical model from 2009 has finally been implemented. There are
still problems but they will be addressed shortly (hopefully).
2019.01.07 OC version 5.029: A test version of the uniquac model for
polmeric solutions has been implemented. The list of model parameter
identifiers has been changed again.
2018.12.20 OC version 5.028: A number of minor modifications to
accomodate the UNIQUAC model. However, this required changes of the
"model parameter identifiers" and the "unformatted" saving of data
which make older unformatted files no longer readable.
2018.12.09 OC version 5.027: A whole month without updates! A new
compiler option for compiling on LINUX for the smp.F90, -Dnotwin in
the Makefile. Remove this if you use the Makefile on Windows. The
intention is to allow spawning plots. Some bugfixes and a first step
has been made to implement the uniquac model.
2018.10.24 OC version 5.026: The default when plotting has been
changed to KEEP so you no longer has to click in the diagram to
continue giving commands in OC. This means you can have several plot
windows at the same time. If you click in the plot window it will
close. If you want to change back to the old way you can use the plot
option "miscellaneous" or dig into the source code of the
userif/pmon6.F90 and commenting away the line:
graphopt%status=ibset(graphopt%status,GRKEEP) in two places.
OC gives a warning if you have not set a browser for on-line help.
On Windows the browser is by default explorer, on LINUX firefox. You
can change these in the userif/pmon6.F90 file. Search for "browser="
to find the place to change. On Windows you must provide a full path.
I have corrected a problem pointed out by Jan Herrnring in
enter\_equilibrium and its TQ equivalent, tqcceq, that sometimes two
equilibria were created.
2018.10.03 OC version 5.025: I have modified the opening of the
browser window for help so one can continue running the program
without closing the window. Asking for help again opens a new browser
tag on Linux but a new window on Windows (of course).
I have adopted this feature also for spawning plots, the plot option
"miscellaneous" has a question if the plot should be spawned and if
the answer is Y the plot window will be kept and the user can continue
calculate or generate several plots. The window is kept until
explicitly closed by clicking in the window. The miscellaneous option
also allows adding a text in the lower left corner of a plot.
2018.09.19 OC version 5.024: Another very quick update for the
calculation of isothermal section. Two new macros added, one for an
isothermal section of Cr-Fe-Mo and the other for Mo-Ni-Re at 3
temperatures (using the EBEF model). However, the diagrams are not
always perfect.
As I have found there are strong feelings about the color of
monovariants and tie-lines, the plot option "font_and_color" now
allows the user to select the color of the monovariant triangles and
the tie-lines. See the new map14 and map15 macros.
Some other minor bugs fixed, for example that if you mapped twice
keeping the first map results it was not possible to plot both
together. I also added some information in the ocgnu.plt file to
facilitate editing away wrong extrapolations from the plot.
2018.09.16 OC version 5.023: A very quick update to provide a
significant improvement when mapping isothermal sections. It is still
not perfect but I want to provide this version for testing.
2018.09.14 OC version 5.022: OC now allows calculations down to T and
P values of 0.01 K/Pa. I am also working with the online help
facilities and will provide the ochelp file in 3 versions, LaTeX, PDF
and HTML on the directory manual/ but this is still not finished. It
requires that the user creates an environment variable OCHOME pointing
to a specific directory and he/she must copy the help files to this
directory. There is a new "install-help-popup" PDF file in the
installation directory because it is not trivial to add an environment
variable for many users.
2018.09.07 OC version 5.021: Still changing the color of monovariant
areas ... now dark green. I have also made small modifications of the
installation files both on Windows and on UNIX type systems.
I have implemented a facility to open a browser window for online help
and am fairly happy with this. At present it is turned off by default
as there are some problems and the user guide is not updated. The
intention is that when you type a question mark "?" at a prompt or
whenever OC asks you a question you do not know how to answer, a
browser window will open and show you the relevant section of the user
guide. Most answers are in the User Guide but no one reads it
voluntarily so better provide it in small pieces. The user guide is
still not finished (as OC it will never be) but gradually it should
work. On Windows I use the Explorer browser and on other system I
will use the firefox browser. Three versions of the user guide,
ochelp.tex, ochelp.pdf and ochelp.html are initially in the manual/
directory but should be copied to the driectory your OCHOME
environment variable points to.
2018.09.03 OC version 5.020: The coloring of monovariant areas in
isothermal sections has now an established set of colors. The borders
are drawn with a tick line with the same color as the tie-lines
(green) and the interior is filled with a light green. Of course any
user/programmer can change this. The mapping itself has not improved
very much in spite of serious efforts to make it more stable. A
number of errors fixed and a few minor features added.
Someone tried to use the Scheil-Gulliver application in
TQ4lib/Cpp/Scheil and had some problems so this has been updated. The
other OCASI/TQ applications are still on the (long) waiting list to be
be improved.
2018.08.19 OC version 5.019: The file selector window is now used also
for the options /output= and /append= that can be used after any
command to redirect output from that command. I forgot those in the
previous release.
The installation procedure has been changed slightly, there is an
updated installation guide. On Windows the "linkmake" and "linkpara"
now include the popup windows feature for open file. To avoid these
use "linkmake-notinyfd" or "linkpara-notinyfd". For UNIX systems the
"Makefile" include the popup windows, "tinyfd", and "getkey" to have
command line editing features. The latter feature require that you
MUST remove a comment character "#" for your UNIX dialect. Use
"Makefile-nogetkey" if you do not want the line editing feature.
I have changed some commands:
>> SAVE UNFORMATTED/DIRECT have no question "Comment" before asking
for the file name. Having such a question made it impossible to
provide a file name on the same line as the command and thus the file
selector window was always activated even when running a macro where
the file name was provided.
>> SET BIT <global> bitnumber requires a final Y to set the bit. If
you specify anything except Y the bit is cleared. Previously this
command toggled the value so the result depended on the previous
setting of the bit.
Please tell me as aoon as possible if there are features in the user
interface you dislike. It will be increasinly difficult to change
this as the number of users (creating macro files) increases.
It is difficult to provide a "default" behaviour that makes everyone
happy. But if you dislike the the popup window you can supress it
with the command "set adv popup".
The opttest1 macro is completely revised and now show how to enter en
enthalpy difference between two or more equilibria and symbols for
experimental uncertainties. A number of bugs had to be removed to fix
that of course.
The example of using the OCASI interface on the TQ4lib/F90/crfe
directory has been modified and the a Makefile added which should work
on linux platforms. Note that one must have installed OC and created
the liboceq.a library before implementing the OCASI examples.
2018.07.25 OC version 5.018: In this version of OC I have added a
cross platform read/save popup window so the user can search
directories to find databases and other files. I am happy for any
feedback.
In general I do not like GUI but providing full paths to files on a
command line is a pain so better to browse in a separate window. I am
using a small C program called TINYFILEDIALOGS by Guillaume Vareille.
I have some problems with the Linux version, I use CentOS and I am not
really happy with the layout of the popup window. I had to use
iso-c-binding to link it to my Fortran code and this limits the
flexibility a bit.
The compiling and linking is also a bit complicated on Linux as you
have to run a separate Makefile on the utilities/TINYFILEDIALOGS
directory, similar as for the GETKEY feature.
If you have problems with the popup window you can turn off this
feature with the command SET ADVANCED POPUP. You can use the same
command to turn it on again. The popup window is disabled when you
run a macro file.
There are subtle complications for example if you open a macro file on
another directory using the popup window and this macro opens files
then you must prefix the file name (with possible directory prefix) in
the macro with "./" if the file is on the same directory (or on a
lower directoty) as the macro file. When OC finds the "./" prefix it
will replace this by the path to the macro file (which is saved inside
OC when you open the macro file). Without the "./" OC will try to
open the file on the "working directory" where you started OC. If the
file to be opened inside the macro is on a higher directoty you will
prefix that with "../" and in that case OC will prefix this with the
saved path to the macro file. You can of course always give the full
path to the file but that is clumsy.
2018.06.30 OC version 5.017: Thanks to the inspiration from Catalina
Pineda, an MSc student at ICAMS at RUB in Germany, there is now a OC
logo on all OC plots.
I have also a new calc_dgdyterms routine which saves intermediate
values for all phases (previously only the 5 with most constituents
were saved) in a new allocatable array in the phase_varres record. It
speeded up the allcost macro (with 20 components) some 20% (I noted
75% of the CPU time was spent in this routine, now just 25%). The
fuelcalculations (with 15 components) were also slightly faster. For
most calculations this change has no effect.
Finally a strange segmentation fault required half a days work to make
it disapper by itself.
2018.06.23 OC version 5.016: Mobilities are among the many different
kinds of model parameters that is available in OC but for simulating
diffusion they must be converted to diffusion coefficients. I am
currently developing a new addition to calculate these using the
themodynamic factor. This is to simplify the use of OC for simulation
of phase transformations, next week I will go to Bochum and meet Ingo
and Matthias.
I have spent some time deriving derivatives for the UNIQUAC model.
This model, contrary to most fluid models, has an integral Gibbs
energy expression even if I think the derived "activity coefficients"
are the most used and modeling activity coefficients leads to
inconsistencies. Probably many modificatios has also been made since
the model was published 1975.
I have also found and fixed a rather dangerous bug in the TPPFUN
package. This package should be rewritten completely when I have
time. One has to be very careful and not use complicated TP functions
and check that the TPFUNs are listed correctly!
2018.06.11 OC version 5.015: I have stared working on things needed
for assessments, like calculating a correlation matrix and relative
standard deviations (RSD) for the model parameters with the help of
Eva who is working on a thesis about assessments. In the middle of
this I got strange segmentation errors at many different places but
after compiling with -lefence and -fcheck=all on my Linux version it
turned out that all was due to the fact I had given the wrong
dimensions to the MDINV subroutine in a call in pmon6.F90 for the
inverting a matrix to obtain the correlation matrix. After correcting
this the faults disappeared (for this time). Lesson: an programming
error can cause problems anywhere in the software. However, the
correlation matrix is wrong so Eva has to teach me more about
statistics. I have also added a few more commands to list results of
an assessment.
I also made a change for plotting isothermal sections when using
several start points but I had to revise this as plotting with a
single start point failed. Strange ... I have to look at this again.
2018.06.06 OC version 5.014: A very quick update due to a demo. Some
arguments to LMDIIF changed and increased storage in the grid
minimizer for a system with 19 elements and a phase with 48 charged
endmembers requiring more than 60000 gridpoints! I have to look again
at the gridminimizer sometime.
2018.06.05 OC version 5.013: A long time without updates! I have
worked on the unary models but there are still problems but I got some
nice feedbacks from the Calphad meeting in Mexico.
In this update I have modified the AMEND PHASE command separating out
all the ADDITIONS like magnetism, Einstein solid, liquid twostate
model etc so if you have macro files with AMEND PHASE you may need to
edit them. There is no change reading TDB files but it is not
possible to enter an Einstein model or liquid two-state model from a
TDB file because the way to do this has not been defined in the TDB
file. Just having a THETA or GD parameter in the TDB file is not
enough.
The number of additions seems to grow very fast with the development
of new unaries. The reading of TDB files has not changed but the TDB
files cannot cope with these new models. I will make an update of the
PDB format to include these.
Some convergence problems have been reported and I have increased the
convergence criterium related to detecting if unstable phases will
become stable. I have also made it possible for the user to change
this by adding a 3rd question in the command SET NUMERIC_OPTION. The
default is now 0.004. Previously it was 0.05 but this value failed to
find the stable set of phases in some cases. The lower value will
lead to a few more iterations. You may restore the old value if you
have no problems using that.
The change also affects the UNFORMATTED save file, you will not be
able to use UNFORMATTED files written with previous versions with the
new version. Always keep macro files to replace files that you want
to save and read UNFORMATTED.
The table with MODEL_PARAMETER_ID has also changed again and a new
function has been added to obtain the index of a model parameter
identifier, mpi=GET_MPI_INDEX(char) where char is a 4 character string
with the model parameter identifier. The value of "mpi" is needed to
find the value of the model parameter in the
ceq%phase_varres(lokph)%gval array. The change makes it easier to
handle future changes in the list of identifiers as this list will
certainly grow. Note that "mpi" for parameters with constituent index
should be mulitiplied with 100 as the constituent index is stored in
the first two digits.
2018.04.18 OC version 5.012: A small but very irritating bug for the
user i/f and another bug plotting isothermal sectione fixed. But no
fear, there are a lot of more bugs to fix when mapping and plotting
with tie-lines in the plane.
2018.04.17 OC version 5.011: The convergence criteria has been changed
slightly again because there were troubles with some macros.
Otherwise I have worked with the unary models and the mapping, without
much success for the moment.
2018.04.03 OC version 5.010: I have increased the convergence criteria
slightly due to a case Nathalie showed me, it means a few more
iterations in some cases when the Gibbs energy surface is rather flat.
I have also improved the way OC finds startpoints for mapping in
isothermal sections and changed some of the colors used for plotting,
tie-lines and invariant lines in isothermal sections are now golden.
But one can still not start a mapping inside an invariant isothermal
section, maybe in next release.
2018.03.23 OC version 5.009: With the help of Nathalie Dupin I found
and fixed a bug in the grid minimizer which set the wrong constitution
of the metastable ordered BCC. The bug made it completely empty with
vacancies on all sublattices. This change may cause converge problems
in other systems so please check and report any problems.
2018.03.21 OC version 5.008: I have learned a bit more about GNUPLOT
and managed to romve the line at zero in some STEP and MAP diagrams.
It made figure 3 of step1 macro (plotting Cr content in stanle phases)
slightly worse though as some lines ends without decending to zero.
So there is more to learn ...
I have also made the last fixes (I hope) of the TDB2DAT converter and
tested converting the whole TAFID database (41 elements) with no
obvious errors and even managed to calculate an equilibrium. But
there are certainly minor bugs here and there. Entropy must never be
zero. As the TDB file may contain many unassessed endmember
parameters there is a special check added to indicate missing
endmembers. But these must be added by someone knowing the database.
2018.03.10 OC version 5.007: A minor bug concerning composition
dependent ternary excess parameters in the ionic liquid fixed. There
is still a problem with composition dependent ternary cation
interactions. Another bug plotting constituent fractions also fixed.
There is also an unfinished problem with the delete equilibrium
routine, if there are "holes" in the eqlista array these may cause
trouble. Be careful and always delete equilibria from the end!
The workspace allocated for UNFORMATTED save has been adjusted to the
size of the current system as the large default size sometimes created
memory problems. If this causes problem you can modify the size,
"miws" in the gtp3E.F90 file.
2018.03.01 OC version 5.006: A visit at CEA Cadarache gave inspiration
as they were happy with the speed of calculations and in particular
the possibility to save/read complex calculations on UNFORMATTED
Fortran files during simulations of nuclear fuels with more than 15
components.
I have managed to reduce the memory loss during STEP/MAP using
valgrind. Evidently the Fortran compiler allows and the run time
system manages to deallocate data that has been allocated by a pointer
variable, a few years ago I was told that was not possible. That
simplifies eliminating memory leaks as I must sometimes allocate
records for a pointer when creating lists.
But running all tests I had strange crashes with the NEW command when
releasing allocated memory. I had to make some careful modifications
also in the command monitor. It crashed differently on Windows and
Linux but finally I managed to run all tests on both machines without
running out of memory and no segmentaton faults. Previously I always
had "allocation larger than available memory" at the end of the new
large opttest2 macro. But reducing memory leaks during assessments is
still on the to-do list.
2018.02.26 OC version 5.005: Running valgrind again shows a lot of
problems that have to be fixed, in particular memory leaks when using
STEP and MAP. It will take some time but some are corrected in this
release. The opttest2 macro has been extended. LIST RESULT has two
additional options, 10 and 11, to list a phase constitution based on
the amount of the phase similar to FactSage output.
2018.02.23 OC version 5.004: Many changes has been made in the
assessment part of OC as a PhD student at Toulouse, Eva Lawrene, has
started to work on this with support from Christine Gueneau at CEA.
Finally there is hope to have a better software for developing
thermodynamic databases.
2018.02.20 OC version 5.003: Some contributions from Clement Introini
eliminating uninitiated variables added. The TDB to DAT file
converter tested to convert correctly Ce-O-Pu-U from the TAFID
database.
2018.02.18 OC version 5.002: Several tests using for example
-Wmaybe-uninitiate and -lefence compiler directive on Linux has cleand
up some spurious errors and increased the stability. The assessment
macro has also been extended and modified.
2018.02.14 OC version 5.001: For this first update I have added new
versions of the "getting-started", "news-OC5" and the "OC5-Macros".
The remaining documentation is still old.
I have also implemented the "dot derivative" MU(A).T to calculate the
T derivative of the chemical potential of A. This is also known as
the (negative of the) partial entropy. The partial enthalpy is
property that can be measured and is obtained as "MU(A)-T*MU(A).T"
(the same as H = G+T*S = G-T*G.T). I am looking at implementing
X(LIQ,A).T which can be useful simulating phase transformations.
These dot derivatives can be calculated without numerical derivation
using the second derivatives from an equilibrium calculation.
For LINUX users I have also included the arrow keys on most modern
keyboard to be used for command line editing. Arrow up means previous
line in history, down means next history line, arrow forward means
forward one step on current line and arrow backward means back one
step on current line. On modern keyboards these keys give a sequence
of characters, not a single one. On older computers they may not
work. If you have redefined your keyboard you may have surprises.
2018.02.10 *** OC version 5: This is a prerelease of version 5. ***
With the significant improvements of calculation of phase diagrams
with tie-lines in the plane, the new SHOW command, the possibility to
write DAT files for FactSage, command line editing on Linux and many
other things it is time to release a new version. Most of the
documentation has not been updated.
********************************************************************
2018.02.02 OC version 4.044: By popular demand the SHOW command has
now been implemented. It combines 3 commands, "LIST STATE_VARIABLE",
"LIST MODEL_PARAM_VALUE" (i.e. properties like Curie T) and "CALCULATE
SYMBOL". The original commands remain. After SHOW you can give
several symbols, state variables etc on the same line (separated by
spaces) and get their values listed on separate lines. You can also
use state variables with wildcards like X(FCC,*). However, I
discovered a problem that I am not sure I can fix very quickly, the
command "SHOW X(*,CR)" (and similar) asking for the composition of CR
in all phases lists the CR content in all stable phases but the
heading with state variable symbols sometimes lists all phases.
By request I also changed the prompt of OC to be --->OC4: to make it
easier so separate the input lines on the screen from output. This is
for a test, if you do not like it is easy to change in the
userif/pmon6.F90 file.
I am now almost satisfied with the mapping of phase diagrams with
tie-lines in the plane but there are always things to improve. The
mapping is sensitive to the startpoint and I have not implemented
automatic start points. For the graphics there is nore to do and
feedback is nice to have.
2018.01.31 OC version 4.043: I have improved the mapping of phase
diagrams with tie-lines in the plane (i.e. most binary diagrams and
isothermal sections). However there are still problems and I will try
to improve these diagrams in the next releases. The previous mapping
is used for isopleths and can be selected by setting global bit 21 if
you are an expert.
There has been many other changes and bugfixes.
2018.01.17 OC version 4.042: IMPORTANT! Change for the STEP command!
I have changed the order of questions for the STEP command. Now the
program will first ask if the stepping should be
NORMAL/SEPARATE/CONDITIONAL/QUIT
before asking if any previous results should be kept. The conditional
step is not yet implemented.
Many changes and bugs fixed in order to run the complete CuMg
assessment example (opttest2 is the start of that).
2018.01.09 OC version 4.041: There is a new ochelp.hlp and an
ochelp5.pdf. This verson is rather a prerelease of version 5.
When I started on the udate of the user guide I realized that the
commands are quite messy, in particular about entering phases with
some specific model features. So I moved many things that were set by
"set phase ... bit X" to "amend phase ... X". It concerned things
like BCC/FCC_PERMUT in my macro files as most other macros calculate
systems read from a database. The users may have to modify their
macro files entering data.
I have also cleaned up some of the code related to symbols. I added that
"dot derivatives" are only calculated when requested explicitly and
fixed some problems with symbols that should be evaluated for a
specific equilibrium.
Finally the Linux/Mac command history function has been corrected.
2018.01.08 OC version 4.040: Plotting Gibbs Triangles has been
implemented during a delayed train trip. It is still very rudimentary
but gives at least some indication of what is possilble. The map10
macro now includes some triagular ternary isopleths. The size of the
smp2.F90 file has also forced me to split it in two.
A spurious segmentation fault error in matsmin has been corrected. It
was caused by some code introduced to speed up the calculation of new
fractions of the phases at each iteration in the subroutine
calc_dgdyterms1p. This speedup should be further tested. An error in
metlib3 when saving the first line of history has been corrected also,
it occured sometimes when starting OC followed by a macro file name.
On LINUX I have found that plotting several diagrams after each other
without a pause often are overwritten. Thus I have modified the macro
files to have a pause (@&) in the macro file after each plot. This
means one has to press RETURN in the command window after each plot.
2018.01.05 OC version 4.039: Handling some Linux/Windows pecularities:
When testing OC on a Linux computer with GNUPLOT 5.2 indicate the
terminal "wxt" used on Windows is unknown. On Linus the "qt" terminal
can be used but my Windows antivirus program prevents me to use the
"qt" terminal. This forced me to add preprocessor #ifdef statements
in the pmon6.F90 file. Linking on Windows should use the "linkmake"
or "linkpara" command files which select -Dwin for the compilation of
pmon6.F90. Linking on Linux using any of the Makefiles will
automatically include the qt and pdfcairo terminals.
Using Makefile-simple is the simplest way to compile and link OC. For
those who understands makefiles (I do not) one can select various
compiler options in this file, default is -O2.
A new Makefile called Makefile+getkey includes emacs-style line
editing of the command line including history (ctrl-P/ctrl-N). But it
requires a separate compilation of the getkey routine in the
utilities/GETKEY directory editing the Makefile according to your UNIX
dialect. An expert can handle that.
The Makefile-sequential and Makefile-parallel are now obsolete but
will be kept for a while. They include the option -Dwin when
compiling metlib3,F90 to avoid the emacs-style command editing.
2018.01.01 OC version 4.038: A small change in the user interface to
handle "," between commands and answers. It is recommended to just use
a space to separate a command and argument but questions where you
accept the default answer can be answered by a "," on the command
line. But the treatment of a "," between the command and argument has
not been correct. You may have to change some of your macro files to
fit the new way the user interface works.
I have also added names for the "additions" to the Gibbs energy from
magnetic, volume, liquid 2-state, low temperature heat capacity models
and others. The contribution for those which are included for a phase
are listed with the command "CALCULATE PHASE ... ONLY-G".
For the graphics the user may now define his prefered plot devices
using the command "ENTER GNUPLOT_TERMINAL". This allows you to modify
the defaults and add new devices. I have also tried to improve the
graphics a bit but there are many things in GNUPLOT I have not
understood. Anyone who knows how to make triangular diagrams are
welcome to help.
2017.12.12 OC version 4.037: a large number of bugs most of them
connected with creating and copying equilibrium records corrected.
These caused spurious segmentation faults.
2017.11.26 OC version 4.036: After my PC crashed I worked with OC for
a month on my Mac but I have now installed all on a new DELL. Several
modifications for Linux and Mac has been made, some maybe not
consistent with previous versions. Be careful when installing this
version. There is now two versions of the metlib library, metlib3.F90
is the same as before but metlib4.F90 includes the GETKEY routine to
allow editing of the command line on Linux/MacOS. This also requires
compilation of the getkey.c routine in the utilities/GETKEY
directory.
I am still working on problems converting TDB to DAT files, I hope to
finish that soon. All other changes are minor.
2017.10.20 OC version 4.035: After a few weeks of work and vacations
a small bugfix in the TDB2DAT code for excess parameters.
2017.09.13 OC version 4.034: This time I have added a possibility to
edit the command line a la emacs and also to keep a short history of
commands. That is always possible on Windows and as I am frustrated
with the fact that my MAC does not have the same I managed to find a C
routine that can read input character by character and allow editing.
To have this you have to follow the guide Why-and-Howto-stall-getkey
that is provided in the documentation directory. Do not attempt this
unless you are an experienced UNIX user.
Otherwise some bugs has been fixed and modifications of the
quasichemical model. I have also added possibilities to define more
GNUPLOT terminals, both in the source code and interactivly. I am a
bit disappointed that the MAC does not have so many.
2017.09.13 OC version 4.033: A whole month without updates! This time
there is a big thing, the "corrected quasichemical model" for liquids
has been implemented (adding some new bugs). The model was published
2009 in Acta Mat by Hillert, Selleby and myself but it has never been
available in any software as TC never approved of it. Now we will try
to use this model to assess a real system this time.
OC is now being compiled and used on several different
hardware/OS/Fortran compilers by different users. In some cases there
are errors like "segmentation faults" that I cannot reproduce running
the same macro file on my DELL with Windows and GNU Fortran. I have
also discovered differences with the GNU Fortran on my MAC/Linux and
on Windows. As you have access the source code please try to detect
more precisely where the error occurs so I can fix the code to avoid
also bugs in the compilers and OS.
2017.08.10 OC version 4.032: Added that one can change the relative
lengths of the plot axis and the axis labels. The texts in the plot
can also be written at an angle.
2017.08.10 OC version 4.031: I found that changing an optimizing
parameter did not automatically force a recalculation of all TP
functions and model parameters depending on this but that is now fixed.
Alex van der Walle pointed out some non-standard Fortran statements
that has now been corrected. He also provided a Makefile that should
be simpler to use, it is included as Makefile-simple.
2017.08.02 OC version 4.030: Started modifying the plotting to improve
STEP/MAP. The call to ocplot2 simplified as most data are now stored
in the graphopt record. BEWARE: the sub-commands to set the range of
an axis is now called SCALE_RANGES and asks for the axis, previously
there were individual sub-commands for the x and y axis.
I have added a map13 macro to calculate the Al-Ni system using the 4
sublattice model with partitioning and permutations. There are
spurious segmentation faults when plotting after using several
STEP/MAP commands. If you find this please send me a macro that
reproduces the error and necessary data file.
The speed pf calculations with OC 4.030 has been compared with the
first release of version 3 in 2016 and the current version is almost 3
times faster to calculate an equilibrium, without using
parallelization. When parallelization can be used the clock time is
further reduced by a factor 3.
This is now a prerelease of version 5, I do not plan to make any
significant additions. The rest of the year will be devoted to update
the documentation, the user guides and related things.
2017.07.26 OC version 4.029: Fixed a small bug dealing with ordering
and permutations.
2017.07.26 OC version 4.028: I have finally managed to handle the
phase diagram for Al-Ni with the 4 sublattice model for FCC and BCC
ordering. There has been an error calculating the second derivatives
of G that have cause severe convergence problems. I am not sure they
are correct but the convergence is now good. Option B is also
finished although some parameters are still not allowed but I added a
few more parameters for option F (permutations in 4 sublattice
ordering model for FCC and HCP). Beware, there may be errors!! Check
that the disordered state is properly disordered, exactly the same
constituent fractions in all sublattices and report problems (before I
forget the code).
2017.07.21 OC version 4.027: The implementation of option B is now
almost finished but beware of bugs and that I have not implemented all
possible parameters, only those that seems most useful. I also found
that many parameters for option F (for FCC and HCP) ordering are
missing.
Using a partitioned description for a phase in a TDB file requires
that the TYPE_DEF with the DISORDERD_PART must come before the
disordered phase is listed in the file. If not that will also give a
warning but if not corrected the calculations will be wrong.
I have added a check for unknown keywords in the TDB file as some are
using TDB files from MatCalc and these include keywords related to
diffusion and interface energies that I cannot handle (yet). If I get
a documentation how they should be implemented I will try. Anyway
this check will often give warnings that can be ignored when reading a
TDB file.
2017.07.18 OC version 4.026: A number of minor changes and bugfixes.
Mapping should be a bit better. I have also started implementing
option B for handling permutation of parameters in BCC phases with 4
sublattice ordering. This means one only has to enter the unique
pararameters which significantly reduces the number of parameters in a
TDB file for example.
2017.06.20 OC version 4.025: Refined the check of external charge
balance. Previously phases like (La+3)2(O-2)3 had the external change
balance bit set which sometimes caused "phase matrix ill-conditioned"
due to round off errors. Phases which cannot be electrically neutral
due to the selection of elements, like (Cs+2)2(O-2)3 are automatically
suspended when read from the database.
2017.06.04 OC version 4.024: Many small changes. The main addition is
a video how to install OC on Windows and Linux at:
https://www.youtube.com/watch?v=rsBDRJ-LYvI
2017.05.19 OC version 4.023: There was a severe memory leak as the
memory used by the TP functions was not deallocated with the NEW
command. This has now been removed. Applications that used repeated
NEW commands could crash due to lack of free memory.
A number of bugs has also meen eliminated, some caused by uninititiated
variables where valgrid again proved to be a useful tool.
2017.05.10 OC version 4.022: I have added a new calculate subcommand
"calculate with_check_after" or just "c w" which means the grid
minimizer will not be used before but after the iterative calculation.
As start values the iterative algorithm will use the previously
calculated results. If the grid minimizer finds a phase with a
gridpoint below the calculated equilibrium that phase is automatically
added as stable and a new calculation made to find the global
equilibrium. The "set advanced" command can now be used to set a
smaller grid.
2017.04.30 OC version 4.021: When the conditions does not allow using
the global gridminimizer before an equilibrium calculation there is
normally a test AFTER the calculation using the grid minimizer. If
this test finds a gridpoint below the calculated equilibrium then
there is now automatically a new calculation made with this gridpoint
added as a stable phase. The grid calculation after can also be
forced by setting the global bit 18 for example when using the "c n"
command (the "c n" command will use the previous results as start
point). One can prevent this recalculation by setting the global bit
20. (These things will be added to the "SET ADVANCED" command when I
have time...). One must be expert to set these bits, to become expert
set the global bit 2.
This feature is available also in the OCASI/TQ interface. During a
simulation one normally does not use the gridminimizer at each
calculation but setting bit 18 now and again makes it possible to
detect if an equilibrium is correct.
2017.04.22 OC version 4.020: I have added that OC can have a macro
file name as "inline" argument when started. Thus invoking OC with a
line "OC4 dothis" where "dothis" is a macro file with extention OCM
this macro file will start executing directly (after executing an
inital startup macro if you have any).
I have also fixed the rather subtle bug when entering reciprocal
parameters and some more minor things.
2017.04.17 OC version 4.019: I have managed to make OC significantly
faster for multicomponent systems, in some cases a factor of 4, by
saving some intermediate values while generating the equilibrium
matrix. However, this may cause some troubles when running in
parallel and maybe there are some memory leaks, I have not tested. It
is possible to restore the old way to calculate by changing the
logical variable NOSAVE in the subroutine meq_sameset to TRUE, around
line 2866 in minimizer/matsmin.F90
I have problems entering some reciprocal parameters for the 4
sublattice FCC ordered phase. I hope to fix that for the next
release.
2017.04.05 OC version 4.018: I am trying to make OC a bit faster for
some interested users, if OC is compiled with the "-O2" option it is
about 5 times faster compared with using "-finit-local-zero" and
"-fbounds-check". But it also creates some problem, the macros "step5"
and "map5" fails. I will look into that later.
I also fixed a problem whith the minimizer changing the set of stable
phases when the change involved the change of a stoichiometric phase
to a allotrope. Adding the new allotrope ment to have two stable
phases with exactly the same composition which made the minimizer
crazy. So now there is a check removing the other allotrope at the
same time. It is a particular problem when dealing with a database
with many stoichiometric phases. The version is now included in the
plot title and I added some lectures about OC in the documentation
directory and changed some other small things.
2017.03.24 OC version 4.017: The command "enter phase" is changed and
now requires a model specifed, reading from TDB files not changed.
Implementation of a new liquid quasichemical model has started an many
minor changes, the convergence using the 4 sublattice FCC ordering
model should be improved. The format for save/read unformatted
changed so old files cannot be read. The linkpara and
Makefile-parallel has been changed to compile without bound check and
with optimization. Thus they are more likely to crash, it is a way to
discover bugs!
2017.03.04 OC version 4.016: Tested a few variant of factors for
generating the grid. By request there is a global bit 19 that can be
used to select the original grid minimizer. This can be considered as
a "less dense" grid. I also added in the user interface and in
liboctq.F90 that if a calculation fails due to "too many iterations",
it calculates once again not using the grid minimizer. For some
reason that seems to work better than just increasing the number of
iterations.
2017.03.02 OC version 4.015: Some problems using save/read unformatted
corrected and I modified the calculation of the second derivaties for
a phase with an order/disorder transition. This seems to improve the
convergence but more testing needed.
2017.02.24 OC version 4.014: I have fixed the dense option for the
grid minimizer (NOTE ionic liquid and charged crystalline phases has
no dense grid (yet)). The SET STATUS PHASE command is slightly
changed. If a user gives just a phase name and no specific
composition set all composition sets for that phase will be given the
new status (unless FIX). A few other minor bugs fixed. This should
also work for the OCASI/TQ interface.
2017.02.16 I reallize that the model package is still version 3, not 4
so I have changed it to 3.20 rather than 4.10, although the text
documentation still calls it version 4. It is only the OC version
number that is 4. GTP is still waiting for the complete revision that
I have hoped to do for several years...
2017.02.15 Some major and many minor changes to make OC work with a
multicomponent fuel simulation for CEA. A large memory leak when
reading databases was also removed using valgrind.
2017.02.09 I have written a new gridminimizer which is easier to
understand and fine-tune than the one I wrote 4 years ago. I am not
sure it is better but at least I can now vary the intervals between
the gridpoints.
2017.01.31 I have added a simple volume model using two paramaters
V=V0(x)*exp(VA(x,T)) same as in TC but without the bulk modulus
parameter. I have also modified the reading of TDB files to be more
compatible with TC. A number of small bugs fixed also and I must start
rewriting the grid minimizer.
2017.01.26 Corrected a severe bug in the gridminimizer for ionic
liquid. Version 4 of OC is now finished and I will start in version 5.
2017.01.25 I have worked with the ordering models to prepare a
discussion with Roger Reed and his student. I have problems
calculating the 2nd derivatives of the ordered phase "as disordered"
which causes a converge problem when I use the 4 sublattice model. I
tried a fix but then the calculations did not converge for the 2
sublattice model so I must derive the correct expression for the 2nd
derivatives. TC has also problems with the same cases.
2017.01.17 Fixed a bug calculating ionic liquid with interactions
between vacancies and neutrals and another bug that one could not use
STEP several times to have several curves. Some fixes when reading
the TDB files also.
2017.01.09 Many small and large changes. Reading TDB files has been
improved so it handles some more TYPE_DEFS and also parameters for
neutrals in the ionic liquid model and phases with a disordered phase