From 650918c2118dc9cf306e0b983ab90762c56c20ff Mon Sep 17 00:00:00 2001 From: sundmanbo Date: Tue, 17 Feb 2015 16:11:24 +0100 Subject: [PATCH] fix by anilkunwar --- Makefile | 2 +- macros/map9-rew.OCM | 316 +++++++++++++++++++++-------------------- readme.tex | 338 +++++++++++++++++++++----------------------- 3 files changed, 320 insertions(+), 336 deletions(-) diff --git a/Makefile b/Makefile index feeaf0a..3ab1180 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -OBJS=metlib3.o tpfun4.o lukasnum.o pmod25.o matsmin.o smp3.o pmon6.o +OBJS=metlib3.o tpfun4.o lukasnum.o pmod25.o matsmin.o smp1.o pmon6.o EXE=oc2A all: diff --git a/macros/map9-rew.OCM b/macros/map9-rew.OCM index a46cfb5..c49f122 100644 --- a/macros/map9-rew.OCM +++ b/macros/map9-rew.OCM @@ -1,4 +1,6 @@ -@$ OC macro file for RE-W system, PW91 +@$ OC macro file for RE-W system, +@$ M Palumbo, S G Fries, T Hammerschmidt et al, +@$ Comp. Mat. Sci, Vol 81 (2014) 439-445; @& set echo @@ -34,18 +36,19 @@ enter phase fcc 4 @$ mark that we have parameter permutations according to fcc tetrahedrons set phase fcc bit fcc_perm -ent par G(fcc,RE:RE:RE:RE) 298.15 0.062787*eVtoJ;,,,PW91 fcc.A -ent par G(fcc,W:RE:RE:RE) 298.15 0.11703575*eVtoJ;,,,PW91 L12.A3B -ent par G(fcc,W:W:RE:RE) 298.15 0.2098125*eVtoJ;,,,PW91 L10.AB -ent par G(fcc,W:W:W:RE) 298.15 0.33351125*eVtoJ;,,,PW91 L12.AB3 -ent par G(fcc,W:W:W:W) 298.15 0.474125*eVtoJ;,,,PW91 fcc.B +ent par G(fcc,RE:RE:RE:RE) 298.15 0.062787*eVtoJ;,,,14Pal fcc.A +ent par G(fcc,W:RE:RE:RE) 298.15 0.11703575*eVtoJ;,,,14Pal L12.A3B +ent par G(fcc,W:W:RE:RE) 298.15 0.2098125*eVtoJ;,,,14Pal L10.AB +ent par G(fcc,W:W:W:RE) 298.15 0.33351125*eVtoJ;,,,14Pal L12.AB3 +ent par G(fcc,W:W:W:W) 298.15 0.474125*eVtoJ;,,,14Pal fcc.B @$----------- list data @& -amend bib pw91 From DFT calculations; +amend bib 14Pal M Palumbo, S G Fries, T Hammerschmidt et al, +Comp. Mat. Sci, Vol 81 (2014) 439-445; list data @@ -55,22 +58,22 @@ enter phase bcc 4 .25 RE W; .25 RE W; .25 RE W; .25 RE W; @$ the BCC permutations are not yet implemented .... -ent par G(bcc,RE:RE:RE:RE) 298.15 0.320286*eVtoJ;,,,PW91 bcc.A -ent par G(bcc,W:RE:RE:RE) 298.15 0.21785575*eVtoJ;,,,PW91 D03.A3B -ent par G(bcc,RE:W:RE:RE) 298.15 0.21785575*eVtoJ;,,,PW91 D03.A3B -ent par G(bcc,RE:RE:W:RE) 298.15 0.21785575*eVtoJ;,,,PW91 D03.A3B -ent par G(bcc,RE:RE:RE:W) 298.15 0.21785575*eVtoJ;,,,PW91 D03.A3B -ent par G(bcc,W:RE:W:RE) 298.15 0.1385725*eVtoJ;,,,PW91 B32.AB -ent par G(bcc,RE:W:W:RE) 298.15 0.1385725*eVtoJ;,,,PW91 B32.AB -ent par G(bcc,W:RE:RE:W) 298.15 0.1385725*eVtoJ;,,,PW91 B32.AB -ent par G(bcc,RE:W:RE:W) 298.15 0.1385725*eVtoJ;,,,PW91 B32.AB -ent par G(bcc,W:W:RE:RE) 298.15 0.0971185*eVtoJ;,,,PW91 B2.AB -ent par G(bcc,RE:RE:W:W) 298.15 0.0971185*eVtoJ;,,,PW91 B2.AB -ent par G(bcc,W:W:W:RE) 298.15 0.04742525*eVtoJ;,,,PW91 D03.AB3 -ent par G(bcc,W:W:RE:W) 298.15 0.04742525*eVtoJ;,,,PW91 D03.AB3 -ent par G(bcc,W:RE:W:W) 298.15 0.04742525*eVtoJ;,,,PW91 D03.AB3 -ent par G(bcc,RE:W:W:W) 298.15 0.04742525*eVtoJ;,,,PW91 D03.AB3 -ent par G(bcc,W:W:W:W) 298.15 0*eVtoJ;,,,PW91 bcc.B +ent par G(bcc,RE:RE:RE:RE) 298.15 0.320286*eVtoJ;,,,14Pal bcc.A +ent par G(bcc,W:RE:RE:RE) 298.15 0.21785575*eVtoJ;,,,14Pal D03.A3B +ent par G(bcc,RE:W:RE:RE) 298.15 0.21785575*eVtoJ;,,,14Pal D03.A3B +ent par G(bcc,RE:RE:W:RE) 298.15 0.21785575*eVtoJ;,,,14Pal D03.A3B +ent par G(bcc,RE:RE:RE:W) 298.15 0.21785575*eVtoJ;,,,14Pal D03.A3B +ent par G(bcc,W:RE:W:RE) 298.15 0.1385725*eVtoJ;,,,14Pal B32.AB +ent par G(bcc,RE:W:W:RE) 298.15 0.1385725*eVtoJ;,,,14Pal B32.AB +ent par G(bcc,W:RE:RE:W) 298.15 0.1385725*eVtoJ;,,,14Pal B32.AB +ent par G(bcc,RE:W:RE:W) 298.15 0.1385725*eVtoJ;,,,14Pal B32.AB +ent par G(bcc,W:W:RE:RE) 298.15 0.0971185*eVtoJ;,,,14Pal B2.AB +ent par G(bcc,RE:RE:W:W) 298.15 0.0971185*eVtoJ;,,,14Pal B2.AB +ent par G(bcc,W:W:W:RE) 298.15 0.04742525*eVtoJ;,,,14Pal D03.AB3 +ent par G(bcc,W:W:RE:W) 298.15 0.04742525*eVtoJ;,,,14Pal D03.AB3 +ent par G(bcc,W:RE:W:W) 298.15 0.04742525*eVtoJ;,,,14Pal D03.AB3 +ent par G(bcc,RE:W:W:W) 298.15 0.04742525*eVtoJ;,,,14Pal D03.AB3 +ent par G(bcc,W:W:W:W) 298.15 0*eVtoJ;,,,14Pal bcc.B @$----------- list data @@ -87,11 +90,11 @@ enter phase hcp 4 .25 RE W; .25 RE W; .25 RE W; .25 RE W; @$ The HCP tetrahedron is the same as FCC set phase hcp bit fcc_perm -ent par G(hcp,RE:RE:RE:RE) 298.15 0*eVtoJ;,,,PW91 hcp.A -ent par G(hcp,W:RE:RE:RE) 298.15 0.12874775*eVtoJ;,,,PW91 D0_19.A3B -ent par G(hcp,W:W:RE:RE) 298.15 0.2823905*eVtoJ;,,,PW91 B19.AB -ent par G(hcp,W:W:W:RE) 298.15 0.38047325*eVtoJ;,,,PW91 D0_19.AB3 -ent par G(hcp,W:W:W:W) 298.15 0.490701*eVtoJ;,,,PW91 hcp.B +ent par G(hcp,RE:RE:RE:RE) 298.15 0*eVtoJ;,,,14Pal hcp.A +ent par G(hcp,W:RE:RE:RE) 298.15 0.12874775*eVtoJ;,,,14Pal D0_19.A3B +ent par G(hcp,W:W:RE:RE) 298.15 0.2823905*eVtoJ;,,,14Pal B19.AB +ent par G(hcp,W:W:W:RE) 298.15 0.38047325*eVtoJ;,,,14Pal D0_19.AB3 +ent par G(hcp,W:W:W:W) 298.15 0.490701*eVtoJ;,,,14Pal hcp.B list phase hcp data @@ -99,10 +102,10 @@ list phase hcp data @$------- ent phase A15 2 2 RE W; 6 RE W; -ent par G(A15,RE:RE) 298.15 0.185144*eVtoJ8;,,,PW91 A15.A -ent par G(A15,RE:W) 298.15 0.19109475*eVtoJ8;,,,PW91 A15.AB -ent par G(A15,W:RE) 298.15 0.02878425*eVtoJ8;,,,PW91 A15.BA -ent par G(A15,W:W) 298.15 0.089645*eVtoJ8;,,,PW91 A15.B +ent par G(A15,RE:RE) 298.15 0.185144*eVtoJ8;,,,14Pal A15.A +ent par G(A15,RE:W) 298.15 0.19109475*eVtoJ8;,,,14Pal A15.AB +ent par G(A15,W:RE) 298.15 0.02878425*eVtoJ8;,,,14Pal A15.BA +ent par G(A15,W:W) 298.15 0.089645*eVtoJ8;,,,14Pal A15.B list phase A15 data @@ -110,38 +113,38 @@ list phase A15 data @$-------- ent phase sigma 5 2 RE W; 4 RE W; 8 RE W; 8 RE W; 8 RE W; -ent par G(sigma,RE:RE:RE:RE:RE) 298.15 0.103465*eVtoJ30;,,,PW91 sigma.A -ent par G(sigma,W:RE:RE:RE:RE) 298.15 0.117920533*eVtoJ30;,,,PW91 sigma.BAAAA -ent par G(sigma,RE:W:RE:RE:RE) 298.15 0.074164067*eVtoJ30;,,,PW91 sigma.ABAAA -ent par G(sigma,W:W:RE:RE:RE) 298.15 0.0887456*eVtoJ30;,,,PW91 sigma.BBAAA -ent par G(sigma,RE:RE:RE:RE:W) 298.15 0.075425133*eVtoJ30;,,,PW91 sigma.AAAAB -ent par G(sigma,RE:RE:RE:W:RE) 298.15 0.144846133*eVtoJ30;,,,PW91 sigma.AAABA -ent par G(sigma,RE:RE:W:RE:RE) 298.15 0.062163133*eVtoJ30;,,,PW91 sigma.AABAA -ent par G(sigma,W:RE:RE:RE:W) 298.15 0.096883667*eVtoJ30;,,,PW91 sigma.BAAAB -ent par G(sigma,W:RE:RE:W:RE) 298.15 0.166788667*eVtoJ30;,,,PW91 sigma.BAABA -ent par G(sigma,W:RE:W:RE:RE) 298.15 0.078029667*eVtoJ30;,,,PW91 sigma.BABAA -ent par G(sigma,RE:W:RE:RE:W) 298.15 0.0425622*eVtoJ30;,,,PW91 sigma.ABAAB -ent par G(sigma,RE:W:RE:W:RE) 298.15 0.1150282*eVtoJ30;,,,PW91 sigma.ABABA -ent par G(sigma,RE:W:W:RE:RE) 298.15 0.0432172*eVtoJ30;,,,PW91 sigma.ABBAA -ent par G(sigma,W:W:RE:RE:W) 298.15 0.067439733*eVtoJ30;,,,PW91 sigma.BBAAB -ent par G(sigma,W:W:RE:W:RE) 298.15 0.141463733*eVtoJ30;,,,PW91 sigma.BBABA -ent par G(sigma,W:W:W:RE:RE) 298.15 0.062896733*eVtoJ30;,,,PW91 sigma.BBBAA -ent par G(sigma,RE:RE:RE:W:W) 298.15 0.145899267*eVtoJ30;,,,PW91 sigma.AAABB -ent par G(sigma,RE:RE:W:RE:W) 298.15 0.052479267*eVtoJ30;,,,PW91 sigma.AABAB -ent par G(sigma,RE:RE:W:W:RE) 298.15 0.151518267*eVtoJ30;,,,PW91 sigma.AABBA -ent par G(sigma,W:RE:RE:W:W) 298.15 0.1732738*eVtoJ30;,,,PW91 sigma.BAABB -ent par G(sigma,W:RE:W:RE:W) 298.15 0.0767538*eVtoJ30;,,,PW91 sigma.BABAB -ent par G(sigma,W:RE:W:W:RE) 298.15 0.1743168*eVtoJ30;,,,PW91 sigma.BABBA -ent par G(sigma,RE:W:RE:W:W) 298.15 0.117787333*eVtoJ30;,,,PW91 sigma.ABABB -ent par G(sigma,RE:W:W:RE:W) 298.15 0.031243333*eVtoJ30;,,,PW91 sigma.ABBAB -ent par G(sigma,RE:W:W:W:RE) 298.15 0.135710333*eVtoJ30;,,,PW91 sigma.ABBBA -ent par G(sigma,W:W:RE:W:W) 298.15 0.149161867*eVtoJ30;,,,PW91 sigma.BBABB -ent par G(sigma,W:W:W:RE:W) 298.15 0.059292867*eVtoJ30;,,,PW91 sigma.BBBAB -ent par G(sigma,W:W:W:W:RE) 298.15 0.165621867*eVtoJ30;,,,PW91 sigma.BBBBA -ent par G(sigma,RE:RE:W:W:W) 298.15 0.1662344*eVtoJ30;,,,PW91 sigma.AABBB -ent par G(sigma,W:RE:W:W:W) 298.15 0.192115933*eVtoJ30;,,,PW91 sigma.BABBB -ent par G(sigma,RE:W:W:W:W) 298.15 0.142513467*eVtoJ30;,,,PW91 sigma.ABBBB -ent par G(sigma,W:W:W:W:W) 298.15 0.17298*eVtoJ30;,,,PW91 sigma.B +ent par G(sigma,RE:RE:RE:RE:RE) 298.15 0.103465*eVtoJ30;,,,14Pal sigma.A +ent par G(sigma,W:RE:RE:RE:RE) 298.15 0.117920533*eVtoJ30;,,,14Pal sigma.BAAAA +ent par G(sigma,RE:W:RE:RE:RE) 298.15 0.074164067*eVtoJ30;,,,14Pal sigma.ABAAA +ent par G(sigma,W:W:RE:RE:RE) 298.15 0.0887456*eVtoJ30;,,,14Pal sigma.BBAAA +ent par G(sigma,RE:RE:RE:RE:W) 298.15 0.075425133*eVtoJ30;,,,14Pal sigma.AAAAB +ent par G(sigma,RE:RE:RE:W:RE) 298.15 0.144846133*eVtoJ30;,,,14Pal sigma.AAABA +ent par G(sigma,RE:RE:W:RE:RE) 298.15 0.062163133*eVtoJ30;,,,14Pal sigma.AABAA +ent par G(sigma,W:RE:RE:RE:W) 298.15 0.096883667*eVtoJ30;,,,14Pal sigma.BAAAB +ent par G(sigma,W:RE:RE:W:RE) 298.15 0.166788667*eVtoJ30;,,,14Pal sigma.BAABA +ent par G(sigma,W:RE:W:RE:RE) 298.15 0.078029667*eVtoJ30;,,,14Pal sigma.BABAA +ent par G(sigma,RE:W:RE:RE:W) 298.15 0.0425622*eVtoJ30;,,,14Pal sigma.ABAAB +ent par G(sigma,RE:W:RE:W:RE) 298.15 0.1150282*eVtoJ30;,,,14Pal sigma.ABABA +ent par G(sigma,RE:W:W:RE:RE) 298.15 0.0432172*eVtoJ30;,,,14Pal sigma.ABBAA +ent par G(sigma,W:W:RE:RE:W) 298.15 0.067439733*eVtoJ30;,,,14Pal sigma.BBAAB +ent par G(sigma,W:W:RE:W:RE) 298.15 0.141463733*eVtoJ30;,,,14Pal sigma.BBABA +ent par G(sigma,W:W:W:RE:RE) 298.15 0.062896733*eVtoJ30;,,,14Pal sigma.BBBAA +ent par G(sigma,RE:RE:RE:W:W) 298.15 0.145899267*eVtoJ30;,,,14Pal sigma.AAABB +ent par G(sigma,RE:RE:W:RE:W) 298.15 0.052479267*eVtoJ30;,,,14Pal sigma.AABAB +ent par G(sigma,RE:RE:W:W:RE) 298.15 0.151518267*eVtoJ30;,,,14Pal sigma.AABBA +ent par G(sigma,W:RE:RE:W:W) 298.15 0.1732738*eVtoJ30;,,,14Pal sigma.BAABB +ent par G(sigma,W:RE:W:RE:W) 298.15 0.0767538*eVtoJ30;,,,14Pal sigma.BABAB +ent par G(sigma,W:RE:W:W:RE) 298.15 0.1743168*eVtoJ30;,,,14Pal sigma.BABBA +ent par G(sigma,RE:W:RE:W:W) 298.15 0.117787333*eVtoJ30;,,,14Pal sigma.ABABB +ent par G(sigma,RE:W:W:RE:W) 298.15 0.031243333*eVtoJ30;,,,14Pal sigma.ABBAB +ent par G(sigma,RE:W:W:W:RE) 298.15 0.135710333*eVtoJ30;,,,14Pal sigma.ABBBA +ent par G(sigma,W:W:RE:W:W) 298.15 0.149161867*eVtoJ30;,,,14Pal sigma.BBABB +ent par G(sigma,W:W:W:RE:W) 298.15 0.059292867*eVtoJ30;,,,14Pal sigma.BBBAB +ent par G(sigma,W:W:W:W:RE) 298.15 0.165621867*eVtoJ30;,,,14Pal sigma.BBBBA +ent par G(sigma,RE:RE:W:W:W) 298.15 0.1662344*eVtoJ30;,,,14Pal sigma.AABBB +ent par G(sigma,W:RE:W:W:W) 298.15 0.192115933*eVtoJ30;,,,14Pal sigma.BABBB +ent par G(sigma,RE:W:W:W:W) 298.15 0.142513467*eVtoJ30;,,,14Pal sigma.ABBBB +ent par G(sigma,W:W:W:W:W) 298.15 0.17298*eVtoJ30;,,,14Pal sigma.B list phase sigma data @@ -149,22 +152,22 @@ list phase sigma data @$------------- ent phase chi 4 1 RE W; 4 RE W; 12 RE W; 12 RE W; -ent par G(chi,RE:RE:RE:RE) 298.15 0.057085*eVtoJ29;,,,PW91 chi.A -ent par G(chi,W:RE:RE:RE) 298.15 0.044341138*eVtoJ29;,,,PW91 chi.BAAA -ent par G(chi,RE:W:RE:RE) 298.15 0.010266552*eVtoJ29;,,,PW91 chi.ABAA -ent par G(chi,W:W:RE:RE) 298.15 0.00176469*eVtoJ29;,,,PW91 chi.BBAA -ent par G(chi,RE:RE:RE:W) 298.15 0.222213655*eVtoJ29;,,,PW91 chi.AAAB -ent par G(chi,RE:RE:W:RE) 298.15 0.107317655*eVtoJ29;,,,PW91 chi.AABA -ent par G(chi,W:RE:RE:W) 298.15 0.203353793*eVtoJ29;,,,PW91 chi.BAAB -ent par G(chi,W:RE:W:RE) 298.15 0.093724793*eVtoJ29;,,,PW91 chi.BABA -ent par G(chi,RE:W:RE:W) 298.15 0.154246207*eVtoJ29;,,,PW91 chi.ABAB -ent par G(chi,RE:W:W:RE) 298.15 0.065460207*eVtoJ29;,,,PW91 chi.ABBA -ent par G(chi,W:W:RE:W) 298.15 0.138812345*eVtoJ29;,,,PW91 chi.BBAB -ent par G(chi,W:W:W:RE) 298.15 0.059790345*eVtoJ29;,,,PW91 chi.BBBA -ent par G(chi,RE:RE:W:W) 298.15 0.32744331*eVtoJ29;,,,PW91 chi.AABB -ent par G(chi,W:RE:W:W) 298.15 0.312474448*eVtoJ29;,,,PW91 chi.BABB -ent par G(chi,RE:W:W:W) 298.15 0.294603862*eVtoJ29;,,,PW91 chi.ABBB -ent par G(chi,W:W:W:W) 298.15 0.283917*eVtoJ29;,,,PW91 chi.B +ent par G(chi,RE:RE:RE:RE) 298.15 0.057085*eVtoJ29;,,,14Pal chi.A +ent par G(chi,W:RE:RE:RE) 298.15 0.044341138*eVtoJ29;,,,14Pal chi.BAAA +ent par G(chi,RE:W:RE:RE) 298.15 0.010266552*eVtoJ29;,,,14Pal chi.ABAA +ent par G(chi,W:W:RE:RE) 298.15 0.00176469*eVtoJ29;,,,14Pal chi.BBAA +ent par G(chi,RE:RE:RE:W) 298.15 0.222213655*eVtoJ29;,,,14Pal chi.AAAB +ent par G(chi,RE:RE:W:RE) 298.15 0.107317655*eVtoJ29;,,,14Pal chi.AABA +ent par G(chi,W:RE:RE:W) 298.15 0.203353793*eVtoJ29;,,,14Pal chi.BAAB +ent par G(chi,W:RE:W:RE) 298.15 0.093724793*eVtoJ29;,,,14Pal chi.BABA +ent par G(chi,RE:W:RE:W) 298.15 0.154246207*eVtoJ29;,,,14Pal chi.ABAB +ent par G(chi,RE:W:W:RE) 298.15 0.065460207*eVtoJ29;,,,14Pal chi.ABBA +ent par G(chi,W:W:RE:W) 298.15 0.138812345*eVtoJ29;,,,14Pal chi.BBAB +ent par G(chi,W:W:W:RE) 298.15 0.059790345*eVtoJ29;,,,14Pal chi.BBBA +ent par G(chi,RE:RE:W:W) 298.15 0.32744331*eVtoJ29;,,,14Pal chi.AABB +ent par G(chi,W:RE:W:W) 298.15 0.312474448*eVtoJ29;,,,14Pal chi.BABB +ent par G(chi,RE:W:W:W) 298.15 0.294603862*eVtoJ29;,,,14Pal chi.ABBB +ent par G(chi,W:W:W:W) 298.15 0.283917*eVtoJ29;,,,14Pal chi.B list phase chi data @@ -172,38 +175,38 @@ list phase chi data @$---------- ent phase mu 5 1 RE W; 6 RE W; 2 RE W; 2 RE W; 2 RE W; -ent par G(mu,RE:RE:RE:RE:RE) 298.15 0.213904*eVtoJ13;,,,PW91 mu.A -ent par G(mu,W:RE:RE:RE:RE) 298.15 0.232698923*eVtoJ13;,,,PW91 mu.BAAAA -ent par G(mu,RE:RE:RE:RE:W) 298.15 0.237154846*eVtoJ13;,,,PW91 mu.AAAAB -ent par G(mu,RE:RE:RE:W:RE) 298.15 0.172403846*eVtoJ13;,,,PW91 mu.AAABA -ent par G(mu,RE:RE:W:RE:RE) 298.15 0.166768846*eVtoJ13;,,,PW91 mu.AABAA -ent par G(mu,W:RE:RE:RE:W) 298.15 0.261267769*eVtoJ13;,,,PW91 mu.BAAAB -ent par G(mu,W:RE:RE:W:RE) 298.15 0.187943769*eVtoJ13;,,,PW91 mu.BAABA -ent par G(mu,W:RE:W:RE:RE) 298.15 0.189324769*eVtoJ13;,,,PW91 mu.BABAA -ent par G(mu,RE:RE:RE:W:W) 298.15 0.195145692*eVtoJ13;,,,PW91 mu.AAABB -ent par G(mu,RE:RE:W:RE:W) 298.15 0.193476692*eVtoJ13;,,,PW91 mu.AABAB -ent par G(mu,RE:RE:W:W:RE) 298.15 0.136986692*eVtoJ13;,,,PW91 mu.AABBA -ent par G(mu,W:RE:RE:W:W) 298.15 0.216702615*eVtoJ13;,,,PW91 mu.BAABB -ent par G(mu,W:RE:W:RE:W) 298.15 0.216780615*eVtoJ13;,,,PW91 mu.BABAB -ent par G(mu,W:RE:W:W:RE) 298.15 0.156615615*eVtoJ13;,,,PW91 mu.BABBA -ent par G(mu,RE:RE:W:W:W) 298.15 0.157312538*eVtoJ13;,,,PW91 mu.AABBB -ent par G(mu,RE:W:RE:RE:RE) 298.15 0.340443538*eVtoJ13;,,,PW91 mu.ABAAA -ent par G(mu,W:RE:W:W:W) 298.15 0.174036462*eVtoJ13;,,,PW91 mu.BABBB -ent par G(mu,W:W:RE:RE:RE) 298.15 0.369531462*eVtoJ13;,,,PW91 mu.BBAAA -ent par G(mu,RE:W:RE:RE:W) 298.15 0.385507385*eVtoJ13;,,,PW91 mu.ABAAB -ent par G(mu,RE:W:RE:W:RE) 298.15 0.294760385*eVtoJ13;,,,PW91 mu.ABABA -ent par G(mu,RE:W:W:RE:RE) 298.15 0.314514385*eVtoJ13;,,,PW91 mu.ABBAA -ent par G(mu,W:W:RE:RE:W) 298.15 0.421966308*eVtoJ13;,,,PW91 mu.BBAAB -ent par G(mu,W:W:RE:W:RE) 298.15 0.326644308*eVtoJ13;,,,PW91 mu.BBABA -ent par G(mu,W:W:W:RE:RE) 298.15 0.344868308*eVtoJ13;,,,PW91 mu.BBBAA -ent par G(mu,RE:W:RE:W:W) 298.15 0.346191231*eVtoJ13;,,,PW91 mu.ABABB -ent par G(mu,RE:W:W:RE:W) 298.15 0.355482231*eVtoJ13;,,,PW91 mu.ABBAB -ent par G(mu,RE:W:W:W:RE) 298.15 0.276514231*eVtoJ13;,,,PW91 mu.ABBBA -ent par G(mu,W:W:RE:W:W) 298.15 0.381076154*eVtoJ13;,,,PW91 mu.BBABB -ent par G(mu,W:W:W:RE:W) 298.15 0.393287154*eVtoJ13;,,,PW91 mu.BBBAB -ent par G(mu,W:W:W:W:RE) 298.15 0.310854154*eVtoJ13;,,,PW91 mu.BBBBA -ent par G(mu,RE:W:W:W:W) 298.15 0.320410077*eVtoJ13;,,,PW91 mu.ABBBB -ent par G(mu,W:W:W:W:W) 298.15 0.356369*eVtoJ13;,,,PW91 mu.B +ent par G(mu,RE:RE:RE:RE:RE) 298.15 0.213904*eVtoJ13;,,,14Pal mu.A +ent par G(mu,W:RE:RE:RE:RE) 298.15 0.232698923*eVtoJ13;,,,14Pal mu.BAAAA +ent par G(mu,RE:RE:RE:RE:W) 298.15 0.237154846*eVtoJ13;,,,14Pal mu.AAAAB +ent par G(mu,RE:RE:RE:W:RE) 298.15 0.172403846*eVtoJ13;,,,14Pal mu.AAABA +ent par G(mu,RE:RE:W:RE:RE) 298.15 0.166768846*eVtoJ13;,,,14Pal mu.AABAA +ent par G(mu,W:RE:RE:RE:W) 298.15 0.261267769*eVtoJ13;,,,14Pal mu.BAAAB +ent par G(mu,W:RE:RE:W:RE) 298.15 0.187943769*eVtoJ13;,,,14Pal mu.BAABA +ent par G(mu,W:RE:W:RE:RE) 298.15 0.189324769*eVtoJ13;,,,14Pal mu.BABAA +ent par G(mu,RE:RE:RE:W:W) 298.15 0.195145692*eVtoJ13;,,,14Pal mu.AAABB +ent par G(mu,RE:RE:W:RE:W) 298.15 0.193476692*eVtoJ13;,,,14Pal mu.AABAB +ent par G(mu,RE:RE:W:W:RE) 298.15 0.136986692*eVtoJ13;,,,14Pal mu.AABBA +ent par G(mu,W:RE:RE:W:W) 298.15 0.216702615*eVtoJ13;,,,14Pal mu.BAABB +ent par G(mu,W:RE:W:RE:W) 298.15 0.216780615*eVtoJ13;,,,14Pal mu.BABAB +ent par G(mu,W:RE:W:W:RE) 298.15 0.156615615*eVtoJ13;,,,14Pal mu.BABBA +ent par G(mu,RE:RE:W:W:W) 298.15 0.157312538*eVtoJ13;,,,14Pal mu.AABBB +ent par G(mu,RE:W:RE:RE:RE) 298.15 0.340443538*eVtoJ13;,,,14Pal mu.ABAAA +ent par G(mu,W:RE:W:W:W) 298.15 0.174036462*eVtoJ13;,,,14Pal mu.BABBB +ent par G(mu,W:W:RE:RE:RE) 298.15 0.369531462*eVtoJ13;,,,14Pal mu.BBAAA +ent par G(mu,RE:W:RE:RE:W) 298.15 0.385507385*eVtoJ13;,,,14Pal mu.ABAAB +ent par G(mu,RE:W:RE:W:RE) 298.15 0.294760385*eVtoJ13;,,,14Pal mu.ABABA +ent par G(mu,RE:W:W:RE:RE) 298.15 0.314514385*eVtoJ13;,,,14Pal mu.ABBAA +ent par G(mu,W:W:RE:RE:W) 298.15 0.421966308*eVtoJ13;,,,14Pal mu.BBAAB +ent par G(mu,W:W:RE:W:RE) 298.15 0.326644308*eVtoJ13;,,,14Pal mu.BBABA +ent par G(mu,W:W:W:RE:RE) 298.15 0.344868308*eVtoJ13;,,,14Pal mu.BBBAA +ent par G(mu,RE:W:RE:W:W) 298.15 0.346191231*eVtoJ13;,,,14Pal mu.ABABB +ent par G(mu,RE:W:W:RE:W) 298.15 0.355482231*eVtoJ13;,,,14Pal mu.ABBAB +ent par G(mu,RE:W:W:W:RE) 298.15 0.276514231*eVtoJ13;,,,14Pal mu.ABBBA +ent par G(mu,W:W:RE:W:W) 298.15 0.381076154*eVtoJ13;,,,14Pal mu.BBABB +ent par G(mu,W:W:W:RE:W) 298.15 0.393287154*eVtoJ13;,,,14Pal mu.BBBAB +ent par G(mu,W:W:W:W:RE) 298.15 0.310854154*eVtoJ13;,,,14Pal mu.BBBBA +ent par G(mu,RE:W:W:W:W) 298.15 0.320410077*eVtoJ13;,,,14Pal mu.ABBBB +ent par G(mu,W:W:W:W:W) 298.15 0.356369*eVtoJ13;,,,14Pal mu.B list phase mu data @@ -211,14 +214,14 @@ list phase mu data @$-------- ent phase C14 3 2 RE W; 6 RE W; 4 RE W; -ent par G(C14,RE:RE:RE) 298.15 0.286726*eVtoJ12;,,,PW91 C14.A -ent par G(C14,RE:W:RE) 298.15 0.331349833*eVtoJ12;,,,PW91 C14.ABA -ent par G(C14,W:RE:RE) 298.15 0.203029667*eVtoJ12;,,,PW91 C14.BAA -ent par G(C14,RE:RE:W) 298.15 0.4255515*eVtoJ12;,,,PW91 C14.AAB -ent par G(C14,W:W:RE) 298.15 0.2850135*eVtoJ12;,,,PW91 C14.BBA -ent par G(C14,RE:W:W) 298.15 0.527325333*eVtoJ12;,,,PW91 C14.ABB -ent par G(C14,W:RE:W) 298.15 0.380295167*eVtoJ12;,,,PW91 C14.BAB -ent par G(C14,W:W:W) 298.15 0.459543*eVtoJ12;,,,PW91 C14.B +ent par G(C14,RE:RE:RE) 298.15 0.286726*eVtoJ12;,,,14Pal C14.A +ent par G(C14,RE:W:RE) 298.15 0.331349833*eVtoJ12;,,,14Pal C14.ABA +ent par G(C14,W:RE:RE) 298.15 0.203029667*eVtoJ12;,,,14Pal C14.BAA +ent par G(C14,RE:RE:W) 298.15 0.4255515*eVtoJ12;,,,14Pal C14.AAB +ent par G(C14,W:W:RE) 298.15 0.2850135*eVtoJ12;,,,14Pal C14.BBA +ent par G(C14,RE:W:W) 298.15 0.527325333*eVtoJ12;,,,14Pal C14.ABB +ent par G(C14,W:RE:W) 298.15 0.380295167*eVtoJ12;,,,14Pal C14.BAB +ent par G(C14,W:W:W) 298.15 0.459543*eVtoJ12;,,,14Pal C14.B list phase C14 data @@ -227,10 +230,10 @@ list phase C14 data @$----------- ent phase C15 2 8 RE W; 16 RE W; -ent par G(C15,RE:RE) 298.15 0.345061*eVtoJ24;,,,PW91 C15.A -ent par G(C15,W:RE) 298.15 0.250001667*eVtoJ24;,,,PW91 C15.A2B -ent par G(C15,RE:W) 298.15 0.491933333*eVtoJ24;,,,PW91 C15.AB2 -ent par G(C15,W:W) 298.15 0.454032*eVtoJ24;,,,PW91 C15.B +ent par G(C15,RE:RE) 298.15 0.345061*eVtoJ24;,,,14Pal C15.A +ent par G(C15,W:RE) 298.15 0.250001667*eVtoJ24;,,,14Pal C15.A2B +ent par G(C15,RE:W) 298.15 0.491933333*eVtoJ24;,,,14Pal C15.AB2 +ent par G(C15,W:W) 298.15 0.454032*eVtoJ24;,,,14Pal C15.B list phase C15 data @@ -239,38 +242,38 @@ list phase C15 data @$---------- ent phase C36 5 4 RE W; 4 RE W; 4 RE W; 6 RE W; 6 RE W; -ent par G(C36,RE:RE:RE:RE:RE) 298.15 0.31195*eVtoJ24;,,,PW91 C36.A -ent par G(C36,RE:RE:W:RE:RE) 298.15 0.337458833*eVtoJ24;,,,PW91 C36.AABAA -ent par G(C36,RE:W:RE:RE:RE) 298.15 0.250287833*eVtoJ24;,,,PW91 C36.ABAAA -ent par G(C36,W:RE:RE:RE:RE) 298.15 0.247355833*eVtoJ24;,,,PW91 C36.BAAAA -ent par G(C36,RE:RE:RE:RE:W) 298.15 0.37904175*eVtoJ24;,,,PW91 C36.AAAAB -ent par G(C36,RE:RE:RE:W:RE) 298.15 0.34407575*eVtoJ24;,,,PW91 C36.AAABA -ent par G(C36,RE:W:W:RE:RE) 298.15 0.315368667*eVtoJ24;,,,PW91 C36.ABBAA -ent par G(C36,W:RE:W:RE:RE) 298.15 0.305384667*eVtoJ24;,,,PW91 C36.BABAA -ent par G(C36,W:W:RE:RE:RE) 298.15 0.224973667*eVtoJ24;,,,PW91 C36.BBAAA -ent par G(C36,RE:RE:W:RE:W) 298.15 0.442608583*eVtoJ24;,,,PW91 C36.AABAB -ent par G(C36,RE:RE:W:W:RE) 298.15 0.410960583*eVtoJ24;,,,PW91 C36.AABBA -ent par G(C36,RE:W:RE:RE:W) 298.15 0.353971583*eVtoJ24;,,,PW91 C36.ABAAB -ent par G(C36,RE:W:RE:W:RE) 298.15 0.321842583*eVtoJ24;,,,PW91 C36.ABABA -ent par G(C36,W:RE:RE:RE:W) 298.15 0.346623583*eVtoJ24;,,,PW91 C36.BAAAB -ent par G(C36,W:RE:RE:W:RE) 298.15 0.315309583*eVtoJ24;,,,PW91 C36.BAABA -ent par G(C36,RE:RE:RE:W:W) 298.15 0.4229085*eVtoJ24;,,,PW91 C36.AAABB -ent par G(C36,W:W:W:RE:RE) 298.15 0.2877075*eVtoJ24;,,,PW91 C36.BBBAA -ent par G(C36,RE:W:W:RE:W) 298.15 0.415114417*eVtoJ24;,,,PW91 C36.ABBAB -ent par G(C36,RE:W:W:W:RE) 298.15 0.397507417*eVtoJ24;,,,PW91 C36.ABBBA -ent par G(C36,W:RE:W:W:RE) 298.15 0.380724417*eVtoJ24;,,,PW91 C36.BABBA -ent par G(C36,W:W:RE:RE:W) 298.15 0.328912417*eVtoJ24;,,,PW91 C36.BBAAB -ent par G(C36,W:W:RE:W:RE) 298.15 0.295539417*eVtoJ24;,,,PW91 C36.BBABA -ent par G(C36,RE:RE:W:W:W) 298.15 0.506832333*eVtoJ24;,,,PW91 C36.AABBB -ent par G(C36,RE:W:RE:W:W) 298.15 0.416418333*eVtoJ24;,,,PW91 C36.ABABB -ent par G(C36,W:RE:RE:W:W) 298.15 0.403344333*eVtoJ24;,,,PW91 C36.BAABB -ent par G(C36,W:RE:W:RE:W) 298.15 0.403344333*eVtoJ24;,,,PW91 C36.BABAB -ent par G(C36,W:W:W:RE:W) 298.15 0.38162625*eVtoJ24;,,,PW91 C36.BBBAB -ent par G(C36,W:W:W:W:RE) 298.15 0.36110925*eVtoJ24;,,,PW91 C36.BBBBA -ent par G(C36,RE:W:W:W:W) 298.15 0.496471167*eVtoJ24;,,,PW91 C36.ABBBB -ent par G(C36,W:RE:W:W:W) 298.15 0.481127167*eVtoJ24;,,,PW91 C36.BABBB -ent par G(C36,W:W:RE:W:W) 298.15 0.382497167*eVtoJ24;,,,PW91 C36.BBABB -ent par G(C36,W:W:W:W:W) 298.15 0.459342*eVtoJ24;,,,PW91 C36.B +ent par G(C36,RE:RE:RE:RE:RE) 298.15 0.31195*eVtoJ24;,,,14Pal C36.A +ent par G(C36,RE:RE:W:RE:RE) 298.15 0.337458833*eVtoJ24;,,,14Pal C36.AABAA +ent par G(C36,RE:W:RE:RE:RE) 298.15 0.250287833*eVtoJ24;,,,14Pal C36.ABAAA +ent par G(C36,W:RE:RE:RE:RE) 298.15 0.247355833*eVtoJ24;,,,14Pal C36.BAAAA +ent par G(C36,RE:RE:RE:RE:W) 298.15 0.37904175*eVtoJ24;,,,14Pal C36.AAAAB +ent par G(C36,RE:RE:RE:W:RE) 298.15 0.34407575*eVtoJ24;,,,14Pal C36.AAABA +ent par G(C36,RE:W:W:RE:RE) 298.15 0.315368667*eVtoJ24;,,,14Pal C36.ABBAA +ent par G(C36,W:RE:W:RE:RE) 298.15 0.305384667*eVtoJ24;,,,14Pal C36.BABAA +ent par G(C36,W:W:RE:RE:RE) 298.15 0.224973667*eVtoJ24;,,,14Pal C36.BBAAA +ent par G(C36,RE:RE:W:RE:W) 298.15 0.442608583*eVtoJ24;,,,14Pal C36.AABAB +ent par G(C36,RE:RE:W:W:RE) 298.15 0.410960583*eVtoJ24;,,,14Pal C36.AABBA +ent par G(C36,RE:W:RE:RE:W) 298.15 0.353971583*eVtoJ24;,,,14Pal C36.ABAAB +ent par G(C36,RE:W:RE:W:RE) 298.15 0.321842583*eVtoJ24;,,,14Pal C36.ABABA +ent par G(C36,W:RE:RE:RE:W) 298.15 0.346623583*eVtoJ24;,,,14Pal C36.BAAAB +ent par G(C36,W:RE:RE:W:RE) 298.15 0.315309583*eVtoJ24;,,,14Pal C36.BAABA +ent par G(C36,RE:RE:RE:W:W) 298.15 0.4229085*eVtoJ24;,,,14Pal C36.AAABB +ent par G(C36,W:W:W:RE:RE) 298.15 0.2877075*eVtoJ24;,,,14Pal C36.BBBAA +ent par G(C36,RE:W:W:RE:W) 298.15 0.415114417*eVtoJ24;,,,14Pal C36.ABBAB +ent par G(C36,RE:W:W:W:RE) 298.15 0.397507417*eVtoJ24;,,,14Pal C36.ABBBA +ent par G(C36,W:RE:W:W:RE) 298.15 0.380724417*eVtoJ24;,,,14Pal C36.BABBA +ent par G(C36,W:W:RE:RE:W) 298.15 0.328912417*eVtoJ24;,,,14Pal C36.BBAAB +ent par G(C36,W:W:RE:W:RE) 298.15 0.295539417*eVtoJ24;,,,14Pal C36.BBABA +ent par G(C36,RE:RE:W:W:W) 298.15 0.506832333*eVtoJ24;,,,14Pal C36.AABBB +ent par G(C36,RE:W:RE:W:W) 298.15 0.416418333*eVtoJ24;,,,14Pal C36.ABABB +ent par G(C36,W:RE:RE:W:W) 298.15 0.403344333*eVtoJ24;,,,14Pal C36.BAABB +ent par G(C36,W:RE:W:RE:W) 298.15 0.403344333*eVtoJ24;,,,14Pal C36.BABAB +ent par G(C36,W:W:W:RE:W) 298.15 0.38162625*eVtoJ24;,,,14Pal C36.BBBAB +ent par G(C36,W:W:W:W:RE) 298.15 0.36110925*eVtoJ24;,,,14Pal C36.BBBBA +ent par G(C36,RE:W:W:W:W) 298.15 0.496471167*eVtoJ24;,,,14Pal C36.ABBBB +ent par G(C36,W:RE:W:W:W) 298.15 0.481127167*eVtoJ24;,,,14Pal C36.BABBB +ent par G(C36,W:W:RE:W:W) 298.15 0.382497167*eVtoJ24;,,,14Pal C36.BBABB +ent par G(C36,W:W:W:W:W) 298.15 0.459342*eVtoJ24;,,,14Pal C36.B list phase C36 data @@ -404,6 +407,5 @@ n 1 only - set inter diff --git a/readme.tex b/readme.tex index 89f7584..e0b8be8 100644 --- a/readme.tex +++ b/readme.tex @@ -12,21 +12,19 @@ \begin{document} \begin{center} -{\Large \bf Some important facts about this release of the - OC software, version 2.} +{\Large \bf Some important facts about this test release of the +OC software.} -Bo Sundman, 7 January 2015 - -bo.sundman@gmail.com +Bo Sundman, \today http://www.opencalphad.org -opencalphad repository at https://www.github.com - +bo.sundman@gmail.com \end{center} -This software is free and under development. Your feedback about -problems and errors is important to make it better. +{\large \bf Please be aware that this software is a beta test version. +Your feedback about problems and errors is important to make it +better.} OC cannot replace your favourite thermodynamic software today or tomorrow but the main advantage is that you have access to the source @@ -36,137 +34,136 @@ \section{Getting started} \begin{itemize} -\item The code is written in the new Fortran standard and requires a - compiler like GNU fortran 4.8 or similar. - -\item On windows copy the linkmake.txt file to a file linkmake.cmd and - it will compile and link the code. - -\item The make command will compile and generate the executable file - from the source code. If you are using Windows and have not - installed the make utility the file ``linkmake.txt'' can be used - coped to a cmd file to compile and link the code. +\item The code is written in the new Fortran standard and requires +a compiler like GNU Fortran 4.4 or similar. -\item There is a oc-news.pdf file with the new things in this version - relative to version 1. +\item The development is made on Windows with MinGW installed and +there is a file ``linkmake.txt'' which you should rename to +``linkmake.cmd'' in order to compile and link an executable program +from the source code. If you are using UNIX you can modify this file +or write a Makefile. -\item The present documentation of the source code is in the directory - ``documentationupdate''. +\item There is a website, http:://www.opencalphad.com, for +information, questions and discussions on the software and databases. - A very rudimentary user guide is in the file ``ochelp.tex''. You - can make a PDF of this using pdflatex. +\item The documentation of the source code is in the directory +``documentationupdate''. A very rudimentary user guide (also +available on line in the file ``ochelp.hlp'') is the +``manual''directory). The ``macro'' directory has examples for a +variety of calculations. In some test releases these are not included +but they can be downloaded from the web site. - If you make a copy of ochelp.tex to ochelp.hlp in the same directory - as the program it can also be used for on line help typing ? +\item For the graphics you must download and install the GNUPLOT + software. That is freely available from the web. - The ``macro'' directory has examples for a variety of calculations. - -\item The source code is also available on a repository at Github, - https://www.github.com, with the name opencalphad. Contributions of - new and improved source code are welcome. Contact Bo Sundman if you - want to know things to do. - -\item There is a wiki at the opencalphad repository, use this for - information, questions and discussions on the software. +\item Contributions of new and improved source code are welcome. +Contact Bo Sundman if you want to know how. \item The command line interface has a ``VAX/VMS'' flavour which - reflects the age of the developer. It means the commands are - ``verbs'' like {\em set, list, calculate, enter etc.}. After the - verb several objects are usually possible. There is some redundancy - so the same effect can be achieved by different combinations of - verbs and objects. +reflects the age of the developer. It means the commands are +``verbs'' like {\em set, list, calculate, enter etc.}. After the verb +several objects are usually possible. There is some redundancy so the +same effect can be achieved by different combinations of verbs and +objects. Each command and subcommand can be abbreviated. - If you are burning to develop another user interface please do not - hesitate. +If you are burning to develop another user interface you are welcome +to do so. \item Thermodynamic data can be read from a (unencrypted) TDB file - {\em read tdb ``filename''} or entered interactively. Beware, there - is no safe way to save data you have entered interactively except in - a log file {\em set log ``filename''} and then use the log file as a - macro. - - In this version you can select the elements from the tdb file, but - all phases with at least one of the selected elements are included. - You can use the SET PHASE phase-name STATUS SUSPEND to remove phases - you do not want. - -\item You can save an UNFORMATTED file with the default equilibrium - read it back as UNFORMATTED but this is fragile and the file - structure will probably be changed several times before it is - reliable so the file may not be used in a later version. There is - no way to save results from STEP or MAP commands on a file. +{\em read tdb ``filename''} or entered interactively. You can specify +which elements you want from the TDB file but not exclude any phases. + +\item There are some exception from how data are entered into OC +comparared to Thermo-Calc, most important perhaps the ``partitioning'' +of a phase into an ordered and disordered part. OC has implemeneted +this in a different way and at present it is not possible for OC to +read such partitioned data from a TDB file. + +\item You can save the thermodynamic data and results from a +calculation on an unformatted file {\em save un ``filename''} +and this can be read back into the program {\em read un ``filename''}. + +If you already have data in the program you have to confirm that you +want to overwrite them. You can also remove the data by the command +{\em new YES}. + +You can list data on the screen but there is no way to write a TDB +file from OC yet. The OC format for TDB files will be slightly +different from that used by Thermo-Calc. + +\item You can also have data entered from a macro file as well as +commands for calculations. In order to document errors or problems +please send a complete macro file reproducing the error. You can +generate a macro file interactivly by setting a log file {\em set log +``filename''} and then (after some editing) use the log file as a +macro. \item Setting conditions is very similar to the Thermo-Calc software. - The command is {\em set cond ``state variable'' = ``value''}. The - safest conditions for calculating an equilibrium, i.e. which has - most chance to converge, is to set values on T, P and N(element), - i.e. the total amount of each element. The table at the end gives a - list of state variable symbols and their meaning. - - The intention is that you should be able to combine any set of - conditions to calculate the equilibrium, i.e. you can combine - conditions on mole fractions, mass fractions, fix phases, chemical - potentials etc. You can also prescribe phases as stable (fix). In - a future release one will be able to give expressions of conditions, - not just a value of a single state variable. - - Conditions on V, H, S etc are not yet implemented. +Each condition is set separately by the command is {\em set cond +``state variable'' = ``value''}. The safest conditions for +calculating an equilibrium, i.e. which has most chance to converge, is +to set values on T, P and N(element), i.e. the total amount of each +element. The table at the end gives a list of state variable symbols +and their meaning. + +It is also possible to set conditions on chemical potentials and that +a phase is stable (fix). See the macro file examples how this is +done. Note that many commands are fragile and they may also change +between releases of the test versions of the OC software, depending on +suggestions by users. + +The intention is that you should be able to combine any set of +conditions to calculate the equilibrium, i.e. you can combine +conditions on mole fractions, mass fractions, fix phases, chemical +potentials etc. In the next release the plan is to allow expressions +of conditions, not just a single state variable. \item The command {\em calculate equilibrium (c e)} tries to calculate - the equilibrium. As the minimizer needs a guess of stable phases - and their start constitution it always tries first to invoke a - global grid minimizer. If you want to provide a guess of the set of - stable phases yourself use the command {\em calculate no\_global (c - n)}. To set an initial stable phase use the command {\em set - phase const}. +the equilibrium. As the minimizer needs a guess of stable phases and +their start constitution, the OC software tries first to invoke a +global grid minimizer. If you want to provide a guess of the set of +stable phases you can use the {\em set phase ``name'' const} followed +by the command {\em calculate no\_global (c n)}. \item The grid minimizer that calculates start points for the general - minimizer is very primitive. If you have ideas how to improve it - you are welcome to provide advice or code. - -\item You will frequently have problems with convergence, many times - there will be error messages and sometimes the software may converge - to the wrong equilibrium. In this beta test version you should - always check the result with you favourite thermodynamic software. - - If the calculation does not converge try to use the command {\em ``c - n''} two or three times to continue to iterate from the set of - phases you have. The {\em ``c e''} command starts the grid - minimiser and, therefore, will give the same result each time. - - You can also try to increase the number of iterations {\em set num - 500 ,,,,}. Or you can manually set the phases you think are - stable {\em set phase const} followed by {\em ``c n''}. Or you can - try to simplify the conditions for a first calculation and then - change them to those you are interested in and for each change - calculate using {\em ``c n''}. Calculations at temperatures and - compositions where the system is single phase have a higher chance - of success. The algorithm to change the set of stable phases is - fragile and has not been fine tuned. - -\item In version 2 the step and map procedures are implemented but - full if bugs. It uses GNUPLOT to handle the graphics. - -\item The ``dot derivative'' facility has been implemented for a - limited set of cases of derivatives with respect to $T$ and $P$, - like ``H,T'' for the heat capacity. - -\item The partitioning of phases with an ordered and disordered part - has been implemented slightly simpler than in Thermo-Calc. See the - documentation of the model package. - -\item The code is very messy, I had hoped to have time to clean it up - before this release but that will be for the next one. - -\item The big thing to do now is to develop an assessment module. - Anyone with ideas are welcome to contribute. +minimizer is very primitive. If you have ideas how to improve it you +are welcome to provide advice or code. + +\item The convergence has improved a lot compared to the first release +but you will still frequently have problems with convergence, many +times there will be error messages and sometimes the software may +converge to the wrong equilibrium. In this test version you should +always check the results with you favourite thermodynamic software. + +If the calculation does not converge try to use the command {\em ``c +n''} two or three times to continue to iterate from the set of phases +you have. The {\em ``c e''} command runs the grid minimiser and, +therefore, will give the same result each time. + +You can also try to increase the number of iterations {\em set num 500 +,,,,}. Or you can manually set the phases you think are stable {\em +set phase const} followed by {\em ``c n''}. You can suspend +metastable phases that you think cause problems {\em set status phase +``name'' sus}. + +You can try to simplify the conditions for a first calculation and +then change them to those you are interested in and for each change +calculate using {\em ``c n''}. Calculations at temperatures and +compositions where the system is single phase have a higher chance of +success. The algorithm to change the set of stable phases is fragile +and has not been fine tuned. + +\item There is a simple step procedure to calculate property diagrams. +It uses gnuplot to handle the graphics. If you are interested in this +feature there will be a discussion group on the future design of the +step and map (of phase diagrams) commands and graphical output. \item To report errors and problems please attach a macro file that - reproduces the problem. To create a macro file run the command - interface with a log file and edit the log file to become a macro. - Both the macro file and the model parameters (preferably in a tdb - file) must be submitted. Try to find the simplest case that - reproduces the error. +reproduces the problem. To create a macro file run the command +interface with a log file and edit the log file to be a macro. Both +the macro file and the model parameters (preferably in a tdb file) +must be submitted. Try to find the simplest case that reproduces the +error. \end{itemize} @@ -240,8 +237,8 @@ \section{Manipulating the source code} The OC software is provided with a GNU license which means that you have the source code and can use it and modify it as you wish as long as you do not try to make money of it. If you want to include the OC -software (or part of it) in a commercial program you must contact the -copyright owners to have another license. +software in a commercial program you must contact the copyright +owners. There is a fairly extensive documentation of the source code in the directory ``documentationupdate'' and if you look at the code itself @@ -252,82 +249,67 @@ \section{Manipulating the source code} The set of subroutines is less structured and one problem has been that this code was my first attempt to use the new Fortran standard so there are probably many things that can be made simpler. You are -welcome to point out where this can be done. The hope is to release -this code before the end of 2014. +welcome to point out where this can be done. The hope is to have a +new release before the end of 2013 with an improved version of this +part of the code and some more thermodynamic models and facilities for +conditions and generating diagrams will be available. -As I have understood the data structure (TYPE) in the new Fortran -standard is more or less identical to the structures used in C++ so it -should not be too difficult to combine code written in these -languages. +As I have understood the data structures (TYPE) in the new Fortran +standard is more or less identical to those used in C++ so it should +not be too difficult to combine code written in these languages. \section{Application software library} There are some routines provided that makes it possible to integrate the OC software in application programs. Those can be found in the -directory ``TQlib'' together with some sample test program. The -source library is liboctq.F90. To make an object file of this it must -be compiled together with the liboceq.mod file. To link the test -programs you must also use the liboceq.a library. +directory ``TQlib'' together with a sample test program. To compile +and run this the OClib.a file and some of the ``mod'' files must be +copied to this directory. + +The test program has also been converted to C although without any +user interctivity, anyone knowledgable about C is welcome to improve +this. Use only subroutines in this library to access the OC software, do not call directly subroutines inside the OC code as they may not be available or have different functionallity in a future release. If -you miss some routines please put a request at the GITHUB wiki. +you miss some routines please contact the OC software group. -\section{Macro examples} +\section{Examples} -To help you get started calculating a number of examples is provided -in the ``macro'' directory. There is a separate set of macros for -version 1 that you may also be interested in, you find them with the -source code for version 1. Note that the extention of macro file is -now OCM, with version 1 it was BMM. - -The examples for version 2 mainly concern mapping and stepping. They -show that there are still issues to solve. +To help you get started calculating a number of examples is +provided in the ``macro'' directory. \begin{enumerate} -\item Mapping the binary phase diagram for Ag-Cu and setting ranges - for plotting. - -\item Mapping the Cr-Mo binary diagram with a miscibility gap. The - curves for the miscibility gap does not close. - -\item Mapping the binary C-Fe phase diagram. Does not extend to pure Fe. - -\item Mapping the binary U-O phase diagram. Several start points needed. - -\item Mapping the binary Fe-Mo phase diagram. Two start points - needed. - -\item Mapping the isopleth for CrFeMo. Missing lines at low T. - -\item Mapping a high speed steel. Many lines are missing or wrong. - -\item Mapping the low temperature ordering in Fe-Ni. - -\item Mapping the DFT calculated Re-W phase diagram (without liquid). - Also some property diagrams for varying composition. - -\item Property (step) diagram for a high speed steel vs T. Plotting - phase amount, mass percent of Cr in various phases, enthalpy and - heat capacity. The last an example of a dot derivative. - -\item Stepping G curves for Ag-Cu vs composition. +\item Entering data manually for an ideallized system (Al-Ni) with +ordering, setting ordering options and conditions and calculating an +equilibrium, ocex01A. -\item Stepping an ideal gas with H and O vs T plotting speciation, -enthalpy and heat capacity. +\item Combining reading a TDB file and entering data manually in a +ternary system (Al-Cr-Ni), with fcc and bcc ordering. Setting +ordering options and conditions and calculating some equilibria, +ocex01B. -\item Stepping property diagram for low temperature Fe-Ni system +\item Entering some parameters for various physical models for a +fictive binary system. Checking how they vary with composition, +ocex01C. -\item Calculate and plot the heat capacity for the FeNi3 ordered phase. +\item Reading a TDB file for a binary system (Cr-Fe), setting +conditions and calculating several equilibria for different +conditions, ocex02A. -\item Step the G curves for Fe-Mo at 1400 K. +\item Reading a TDB file for a ternary system (C-Cr-Fe), and calculate +several equilibrium for different conditions, ocex02B. -\item Calculate varions properties for a SAF2507 duplex stainless steel. +\item Reading a TDB file for a binary gas system (H-O), setting +various conditions and calculating equilibria, ocex02C. +\item Reading a TDB file for a multcomponent steel, setting conditions +and calculating an equilibrium. Setting an axis, stepping and +plotting some curves, ocex03A. \end{enumerate} -{\large \bf Have fun and make OC better!} +{\large \bf Have fun and help make OC useful!} \end{document}