8. 便利なコマンド

 ここでは,各モジュールにある便利なコマンドについて説明します。 これらコマンドの中には,一つのモジュール内だけでなく別のモジュールにも存在するものがあります。 ( 9章【主要モジュールのコマンド一覧】参照)。

8.1. SYSTEM_UTILITIES MODULE

8.1.1. マクロファイル

 このモジュールには, SET_LOG_FILEMACRO_FILE_OPEN という非常に便利なコマンドがあります。 前者は,これを実行した後のすべての入力文字列 (操作) を指定したファイル (ログ・ファイル) に記録するように指示するコマンドです。 後者のコマンドを用いれば,作成されたログ・ファイルを後の計算でマクロ・ファイルとして指定することで,記録された操作を完全に繰り返して実行させることができます。 つまり,これらコマンドを利用することで,何度も同じあるいは同じような操作をする計算において,入力の手間が省けて非常に楽になります。

SYS:  S-L  ファイル名      [SET_LOG_FILE  ファイル名]      ← 拡張子なしのときは "LOG" が付けられる
Heading:                                                    ← 注釈などを書き込む
SYS:  GO  DA                                                ← ここから EXITコマンドでセッション終了までの入力操作が記録される
   ... the command in full is GOTO_MODULE                   ← これ以降コマンドのフルスペルが表示される

       :     (以下略)

 拡張子を省略すると,デフォルトの "LOG" という拡張子が付けられます。デフォルトのファイル名はありません。 ファイル名なしで実行した場合,ver.S 以降のバージョンではファイル選択ウィンドウが開きます。

注釈

ver.R 以前のバージョンでは次のようにファイル名を聞いてきます。

SYS:  S-L      [SET_LOG_FILE]
File name:  ファイル名
Heading:    ← 注釈などを書き込む

  MACRO_FILE_OPEN は次のように使います。

SYS:  MACRO  ファイル名      [MACRO_FILE_OPEN  ファイル名]      ← 拡張子が "TCM" のときは省略できます

 拡張子を省略すると,デフォルトの "TCM" とみなされます。ファイル名なしで実行した場合,ver.S 以降のバージョンではファイル選択ウィンドウが開きます。

注釈

ver.R 以前のバージョンでは次のようにファイル名を聞いてきます。

SYS:  MACRO      [MACRO_FILE_OPEN]
Macro filename:  ファイル名     ← 拡張子が "TCM" のときは省略できます

 ログ・ファイルには TC セッションを終了するときのコマンド EXIT まで記録されるので,そのままこのファイルを MACRO_FILE_OPEN コマンドで実行すると,最後の EXIT コマンドの実行で TC のそのセッションは終了してしまい,前回と全く同じことを繰り返すだけです。 しかし多くの場合マクロ・ファイルの実行後はその計算を継続したいものです。 そのためには EXIT で終了する直前に

POLY_3: & S-INT      [SET_INTERACTIVE]
   ... the command in full is SET_INTERACTIVE

SET_INTERACTIVE コマンド (一部のモジュールでは SET_INTERACTIVE_MODE) を実行し,ログ・ファイルに記録するようにしておきます。 ただし, SET_INTERACTIVE (SET_INTERACTIVE_MODE) がないモジュール (例えば DATABASE_RETRIEVAL) の場合には, SET_INTERACTIVE があるモジュールに移動してこのコマンドを実行してから EXIT で終了するようにします。

 SET_INTERACTIVE (SET_INTERACTIVE_MODE) はマクロ・ファイルの中でのみ意味があるコマンドで,これ以後ファイルからの実行を中断し,コマンドの入力をキーボードから行うようにするためのものです。

 ログ・ファイルは単純な形式のテキスト・ファイルですから,一般のエディタで修正・編集することができます。 したがって SET_INTERACTIVE を忘れて終了した場合でも,エディタで EXIT より前に挿入することができます。 なお,ログ・ファイルには "Heading:" として入力した注釈がヘッダーとして先頭に数行挿入されます。 これらはコマンドではないので MACRO_FILE_OPEN コマンドで実行するとエラーメッセージが表示されます。 計算そのものに影響はありませんが,気になる場合はエディタでこれらの行の先頭に "@@" を挿入するか,行そのものを削除します。 行頭が "@@" であると TC はその行を注釈行であるとみなします。

(修正前)

LOGFILE GENERATED ON UNIX / KTH   DATE 2010- 6-25
                         ← この行に,"Heading" で書いたことが記録される。


       :     (中 略)

go p-3                  ← POLY_3モジュールに移動

       :     (中 略)

po                       ← POST サブモジュールに移動

       :     (中 略)

exit                     ← TC のセッションを終了する

(修正後)

@@LOGFILE GENERATED ON UNIX KTH   DATE 2010- 6-25
@@
@@                    ← これら @@ で始まる行は削除してもよい
@@

       :     (中 略)

go p-3               ← 操作や入力値を変えたいなら修正する

       :     (中 略)

po

       :     (中 略)

S-INT                ← マクロによる操作から,キーボードからの入力に切り換える
exit

 この例の他にも操作ミスなどの記録があれば削除や修正することができます。 また SET_LOG_FILE コマンドを使わなくても,最初からエディタで作成することもできます。

8.2. DATABASE_RETRIEVAL MODULE

8.2.1. データベースの詳しい情報

 現在使えるデータベースにはどのようなものがあるのか,またそれらのデータベースはどのようなものであるのかについての極めて簡単な説明は,以前に述べた SWITCH_DATABASE コマンドを用いれば得られます。 しかし,各データベースではどのような系の計算ができ,どのような相が取り扱われるのかといったより具体的な情報は分かりません。

 この点に応えてくれるのが LIST_DATABASEDATABASE_INFORMATION コマンドです。前者は,どのような元素や相を扱えるのか,各相はどのような副格子や構成成分なのかといった情報を表示します。 また後者は,そのデータベース作成者が利用者のために記録した情報を表示するためのものです。したがって後者で得られる情報は内容,形式もデータベースごとに違い,この情報を持っていないものもあります。

 どちらのコマンドも,まず情報を得たいデータベースに SWITCH_DATABASE で切り換えてから,次のように用います。

TDB_SBIN2:  L-DA      [LIST_DATABASE]
ELEMENTS, SPECIES, PHASES OR CONSTITUENT:  / PHASES /:
 GAS:G
 LIQUID:L
 AQUEOUS:A                2  SUBL, SITES  1.00:  1.00:       ← 相名,副格子数および各副格子の格子点数 (mole)

      :     (以下略)

TDB_SSOL2:  D-INFO      [DATABASE_INFORMATION]
Current database: SGTE Binary Alloys Database v2
       :
     SSOL2 is built within a chemical framework of 83 elements, while SBIN2
     covers 76 elements (ignoring Br-Cl-F-I-H-O-Np ingored) as listed below:
           Ag     Al     Am     As     Au     B      Ba     Be     Bi     C
           Ca     Cd     Ce     Co     Cr     Cs     Cu     Dy     Er     Eu       ← 取り扱っている元素
                                       :    (中 略)
     Assessed data for condensed phases is in 106 binary systems (in SSOL2
         and SBIN2):
           Ag-Au, Ag-Cu, Ag-Ge, Ag-Pb, Ag-Si, Ag-Sn, Al-As, Al-Bi, Al-Ca, Al-Fe,
           Al-Ga, Al-Ge, Al-In, Al-Mg, Al-Mn, Al-Pb, Al-Si, Al-Sn, Al-Zn, As-Ga,       ← 確実に計算できる系

                                      :    (以下略)

8.2.2. 他のデータベースのパラメータを追加する

 いま使用しているデータベースには定義されていない相のパラメータを他のデータベースから追加して計算することができます。 これには APPEND_DATABASE コマンドを使います。 使い方は,まず現在使用しているデータベースにあるパラメータをこれまで説明したように GET した後に

TDB_SSOL4:  APP      [APPEND_DATABASE]   ← "SSOL4" 現在 DB 以外のデータベースを追加する
FILENAME:  KIT                           ← "KIT" にあるパラメータを追加する
Current database: KIT version Solutions Database

 VA  DEFINED
 B2_BCC   REJECTED
TDB_APP:                                 ← "APP" になる

とします。 ここでもこれまでと同様の操作で,追加したい相に関連する系の定義を行い,パラメータを GET します。 ただし,重複して登録されている場合には,後に GET した方で上書されます。

8.3. GIBBS_ENERGY_SYSTEM MODULE

 このモジュールでは DATABASE_RETRIEVAL モジュールで取り込んだ熱力学的パラメータの確認,追加および修正などを行うことができます。

8.3.1. 取り込んだパラメータを確認する

 これには LIST_DATA コマンドを使います。 操作方法は以下の通りです。 ただし,暗号化されたデータベースを用いている場合,パラメータは表示されません。

GES:  L-DA      [LIST_DATA]
OUTPUT TO SCREEN OR FILE  / SCREEN /:
OPTIONS?:  N
$ Database file written 2010- 6- 20
$ From database: KIT
 ELEMENT /-   ELECTRON_GAS              0.0000E+00  0.0000E+00  0.0000E+00!

       :     (以下略)

-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 GES:  L-DA  , ,  N

 ファイル名を省略した場合は画面に表示されます。 "OPTIONS ? : " は出力形式を指定するもので,ここで入力している N は,TCで用いられているデータベース形式で出力させるためのオプションです。 つまり,ファイル名 (デフォルトの拡張子は "TDB" ) を指定して,オプション N を用いると,DATABASE_RETRIEVALモジュールで取り込んだパラメータのユーザ・データベースが作成されます。

8.3.2. WORKSPECE (同じ操作はしたくないとき)

 DATABASE_RETRIEVAL モジュールで取り込んだパラメータや二相分離を起こすといった系の情報を,バイナリ形式でファイルに保存するためのコマンドもあります。 それは SAVE_GES_WORKSPACE コマンドです。

 まず DATABASE_RETRIEVAL モジュールで合金系のパラメータの取り込みを行った後, このモジュールで SAVE_GES_WORKSPACE コマンドを用います。 途中 POLY_3 モジュールで計算を行ってからでも構いません。

GES:  SA  ファイル名      [SAVE_GES_WORKSPACE  ファイル名]

 拡張子を省略するとデフォルトの "GES5" という拡張子がつきます。 このファイルはバイナリ形式なので,エディタなどで内容を見ることはできません。

デフォルトのファイル名はありません。 ファイル名なしで実行した場合,ver.S 以降のバージョンではファイル選択ウィンドウが開きます。

注釈

ver.R 以前のバージョンでは次のようにファイル名を聞いてきます。

GES:  SA      [SAVE_GES_WORKSPACE]
WORKSPACE FILE:  ファイル名
-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 GES:  SA  ファイル名

 後日の計算で

       :
       :     (中 略)
SYS:  GO  G                         [GOTO_MODULE  GIBBS_ERNERGY_SYSTEM]
GIBBS ENERGY SYSTEM version  5.2
GES:  READ  ファイル名      [READ_GES_WORKSPACE  ファイル名]       ← 拡張子が "GES5" のときは省略できる

とすれば,DATABASE_RETRIEVAL モジュールでのパラメータの取り込みや二相分離の設定,パラメータの追加・修正など,前回行った Gibbsエネルギーに関連する操作を省略することができます。 拡張子を省略した場合は "GES5" とみなされます。 READ_GES_WORKSPACE コマンドをファイル名なしで実行した場合,ver.S 以降のバージョンではファイル選択ウィンドウが開きます。

注釈

ver.R 以前のバージョンでは次のようにファイル名を聞いてきます。

GES:  READ      [READ_GES_WORKSPACE]
WORKSPACE FILE:  ファイル名       ← 拡張子が "GES5" のときは省略できる
-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 GES:  READ  ファイル名       [READ_GES_WORKSPACE  ファイル名]

8.3.3. 新しい相を追加する

 データベースに必要とする相が定義されていない場合には, ENTER_PHASE コマンドを用いて,新しい相を追加することができます。 このコマンドの使い方は,以下の通りです。

GES:  E-PH      [ENTER_PHASE]
NAME OF PHASE: 相名                            ← 英字で始まり,英字,数字および"_"から成る文字列
TYPE CODE:                                     ← 通常は[RETURN]でよい
NUMBER OF SUBLATTICES  / 1 /:  2               ← 考慮する副格子数
NUMBER OF SITES IN SUBLATTICE 1  / 1 /:  1     ← 第一副格子の格子点数(置換型)
NUMBER OF SITES IN SUBLATTICE 2  / 1 /:  3     ← 第二副格子の格子点数(侵入型)
CONSTITUENTS IN SUBLATTICE         1
NAME OF CONSTITUENT:  FE  CR                   ←第一 副格子を占める成分の並び
NAME OF CONSTITUENT:                           ←最後は[RETURN]または次の例のように ";"
CONSTITUENTS IN SUBLATTICE         2
NAME OF CONSTITUENT: C  VA ;                   ← 第二副格子を占める成分の並び
WILL YOU ADD CONSTITUENTS LATER  / NO /:       ← 通常は[RETURN]
DO YOU WANT A LIST OF POSSIBLE PARAMETERS  / NO /:  Y
       :                                           ← "Y" とすると,計算に必要なパラメータのリストが表示される
       :                                              つまり,表示されたパラメータを追加登録する必要がある
       :     (以下略)

 ただし,ここで追加した相についての情報はデータベース自体には保存されません。 あくまでも,その時点でのみ有効であり, SAVE_GES_WORKSPACE コマンドや LIST_DATA コマンドなどで保存しない限り,TC のセッションを終了すると,それらの情報は消えてしまいます。 また,ここで追加した相の熱力学的パラメータは当然未定義であるので,次節で説明する方法でパラメータを追加登録する必要があります。

8.3.4. データベースにないパラメータを追加したり,修正する

 この目的には, ENTER_PARAMETERAMEND_PARAMETER コマンドを用います。 まず, ENTER_PARAMETER コマンドですが,これはパラメータの追加あるいは全面的な置き換えを行うときに使用します。

GES:  E-PA      [ENTER_PARAMETER]
PARAMETER:  L(M_C2,FE,CR:C;0)                     ← 追加するパラメータ名
L(M_C2,FE,CR:C;0)                                 ← 確認の表示
LOW TEMPERATURE LIMIT  / 298.15 /:                ← パラメータ関数の下限温度
FUNCTION:  -10000+13*T-2.1*T*LN(T) ;              ← 関数入力
HIGH TEMPERATURE LIMIT  / 6000 /:  2000           ← パラメータ関数の上限温度
ANY MORE RANGES  / N /:  Y                        ← 別の温度範囲での関数があるときは "Y"
FUNCTION:  -5800-17.76*T                          ← ";" が入力されないと関数は続くとみなされる
&  -1.3*T**2 ;
HIGH TEMPERATURE  / 6000 /:
ANY MORE RANGES  / N /:

 関数入力で関数式の最後には ";" (セミコロン) を付けます。 ";" がないと関数は継続するとみなされ,次の行に "&" が表示されます。 続きがある場合はこの後に入力します。

  AMEND_PARAMETER コマンドは,既登録パラメータの一部を修正する場合に使います。

GES:  A-PA      [AMEND_PARAMETER]
PARAMETER:  L(M_C2,FE,CR:C;0)                           ← 修正するパラメータ名
 L(M_C2,FE,CR:C;0) =
   298.15<T<2000.00:-10000+1.3*T-2.1*T*LN(T)            ← 現在のパラメータ
   2000.00<T<6000.00:-5800-16.7619*T-1.3*T**2
DO YOU WANT TO CHANGE THE NUMBER OF RANGES  / NO /:     ← 区間数を変更するときは "Y"
DIFFERENT FUNCTIONS IN THESE RANGES                     ← 単一の温度区間の場合には,これ以降の
   1    298.15<T<2000.00                                  出力はなく,編集モードとなる
   2   2000.00<T<6000.00
DO YOU WANT TO CHANGE THE RANGE LIMITS  / N /:          ← 上現下限温度を変更するときは "Y"
RANGE NUMBER  ( 0  TO  EXIT )  / 0 /:  2                ← 編集するパラメータの温度区間を指定

 この例のように,複数の温度区間に分けて関数が定義されている場合には,指定した区間についての編集モードになります。 単一の温度区間の場合には直ちに編集モードになります。

 パラメータ名の書式は次のようになっています。

<IDENTIFIER> ( <PHASE NAME> , <COMPONENT ARRAY> : <COMPONENT ARRAY> ;<DIGIT> )

 ここで <IDENTIFIER> "G" とします。 相互作用パラメータの場合は "L" でもよいです。 <COMPONENT ARRAY> には,純成分や化合物の Gibbsエネルギーの場合はその成分を,相互作用パラメータの場合は相互作用する成分を " , " (カンマ) で区切って並べます。 複数の副格子がある場合には各副格子間を " : " (コロン) で区切ります。 <DIGIT> は, 純成分や化合物のGibbsエネルギーの場合は常に " 0 " (ゼロ) とします。 相互作用パラメータの場合には,組成依存性の次数を入れます。

(例)

G ( LIQUID , AL ; 0 ) 純Al 液相の Gibbsエネルギー
G ( BCC_A2 , FE : VA ; 0 ) 純Fe BCC_A2相の Gibbsエネルギー
G ( CU2P , CU2P ; 0) 純物質Cu2P (相名:CU2P)の Gibbsエネルギー
G ( M4SI , NI : SI ; 0 ) M4SI相における端成分 NI4SIの Gibbsエネルギー
L ( LIQUID , AL , FE ; 0 ) 液相中における Al と Fe の相互作用パラメータ
L ( FCC_A1 , CU , NI : VA ; 0) FCC_A1 相中における CU と NI の相互作用パラメータの 0 次の項
L ( FCC_A1 , CU , NI : VA ; 1) FCC_A1 相中における CU と NI の相互作用パラメータの 1 次の項

 編集モードでは

1:-:>

のようなプロンプトで始まります。 先頭の数字は編集コマンドを入力するごとに一ずつ増えます。 編集モードは簡易ライン・エディタですが,最低限必要な機能は備えています。 編集コマンドの説明は,プロンプトに対して "?" を入力すると表示されます。

  1:-:> ?
The prompt consists of
<current position in string>:<character at that position>:

"CP"  is current position in string, marked by _
#     means number of
@     is terminator

Help                                                                  ?
Move CP to last or first character         <+/-> A
Delete characters from CP  <+-#characters> D
Exit                                                                   E
Find                                         <#occurencies> F<string>@
Insert                                                                I<string>@
Move                                      <+-#positions> M
Restore string                                                   R
Substitute                                                         S<OLD>@<NEW>@
Type string (also empty line)                            T
  1:-:>

 なお, ENTER_PARAMETERAMEND_PARAMETER コマンドで追加・修正した情報は, LIST_DATA コマンドや SAVE_GES_WORKSPACE コマンドで保存しない限り,TC のセッションを終了すれば消えてしまいます。

8.4. POLY_3 MODULE

8.4.1. 同じ操作はしたくないとき III

 POLY_3 モジュールで STEPMAP コマンドを実行すると,デフォルトでは "RESULT.POLY3" という POLY_3 の作業ファイル ( POLY3 ファイルと呼びます) に計算に使った情報と共に計算結果が記録されます。 コンソール・モードにおいてコンソールタブの番号が "1" 以外のタブではタブ番号 nnn を枝番として "RESULT_nnn.POLY3" がデフォルト名となります。 例えばコンソールタブの番号が "2" のときは "RESULT_002.POLY3" となります。 POLY3 ファイルには、8.3.2 で説明した GIBBS_ENERGY_SYSTEM モジュールの WORKSPACE ファイルの内容も含まれています。

 後でこの POLY3 ファイルを読み込むと,再び系の定義,条件設定, MAP などを繰り返すことなく,前回の計算結果を作図したり,新たな計算を追加したりと前回作業を継続することができます。 また STEPMAP コマンドを実行する前に SAVE_WORKSPACES コマンドを使うことで,任意のファイル名で保存することもできます。

注釈

SAVE_WORKSPACES コマンドを実行すると,それまでに STEPMAP で計算した結果はクリアされてしまうので注意が必要です。

  SAVE_WORKSPACES コマンドは次のようにします。

POLY_3:  SA , ,              [SAVE_WORKSPACE  RESULT.POLY3]
POLY_3:  SA  ファイル名      [SAVE_WORKSPACE  ファイル名]

 最初の例はファイル名をデフォルトとしています。 前述したようにコンソール・モード下ではコンソールタブの番号が 2 以上の場合,枝番をつけて "RESULT_002.POLY3" のようになります。 二番目の例は任意のファイル名を用いることができます。 拡張子を省くとデフォルトの "POLY3" が付けられます。 なお, SAVE_WORKSPACE コマンドおよび後に説明する READ_WORKSPACE コマンドでファイル名を指定した場合は,以後そのファイル名が当該 TC セッションにおけるデフォルト名となります。

 ファイル名なしで実行した場合,ver.S 以降のバージョンではファイル選択ウィンドウが開きます。

注釈

ver.R 以前のバージョンでは次のようにファイル名を聞いてきます。

POLY_3:  SA      [SAVE_WORKSPACE]
File name:  / RESULT.POLY3 /:  (ファイル名)
-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POLY_3:  SA  ファイル名

 拡張子を省略すると "POLY3" という拡張子が付けられます。 このファイルはバイナリ形式なので,エディタなどで内容を見ることはできません。

 保存した POLY3 ファイルを読み込むには READ_WORKSPACE コマンドを用います。

POLY_3:  READ , ,              [READ_WORKSPACE  RESULT.POLY3]
POLY_3:  READ  ファイル名      [READ_WORKSPACE  ファイル名]       ← 拡張子が "POLY3" のときは省略できる

 最初の例はファイル名をデフォルトとしています。 二番目の例はファイル名を指定しています。 拡張子を省くとデフォルトの "POLY3" とみなされます。

 ファイル名なしで実行した場合,ver.S 以降のバージョンではファイル選択ウィンドウが開きます。

注釈

ver.R 以前のバージョンでは次のようにファイル名を聞いてきます。

POLY_3:  READ      [READ_WORKSPACE]
File name:  / RESULT.POLY3 /:  ファイル名
-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POLY_3: READ  ファイル名

 拡張子を省略した場合は "POLY3" とみなされます。 なお,このときの計算条件の設定は SAVE_WORKSPACE コマンドを行う直前の状態と同じです。

注釈

POLY3 ファイルは大容量になることが多いので,むやみに長く保存することは避けるべきです。

8.4.2. 再計算ができないとき

 二軸計算 (MAP) をした後で異なる条件を設定し,再び一点計算しようとすると

POLY_3:  C-E     [COMPUTE_EQUILIBRIUM]

  *** ERROR 1607 IN QEQUIL
  *** DEGREES OF FREEDOM NOT EQUAL TO ZERO
  Give the command INFO TROUBLE if you need help!

というエラーメッセージが表示されて,計算できないことがあります。 これは,TC が MAP 計算中に,特定の相を自動的に "FIX" 状態 (自由度が一つ減る) にしますが, この状態のまま計算が終了したときに起こります。 これを解決するには, LIST_STATUS コマンドで相の状態を調べ, CHANGE_STATUS コマンドで "FIX" 状態にされた相を "ENTERED" 状態に変える方法があります。 LIST_STATUS コマンドや CHANGE_STATUS コマンドについては次節で説明します。

 ここでは,前節で説明した READ_WORKSPACE コマンドを用いる方法で解決します。

POLY_3:  READ , ,      [READ_WORKSPACE  デフォルト名]

これで計算条件は SAVE_WORKSPACE コマンドを行う直前に設定された状態に戻り,問題は解決します。

8.4.3. 計算がどうしてもうまくいかないとき

 非常に多くの相を選択した複雑な系では,適切な初期値が得られないなど,計算がうまく行かない場合があります。 このような時は,考えている成分や相の数を減らしてより単純な系にして計算し,その結果を参考に順次複雑な系へと進むと比較的容易に計算ができます。 ただし, DATABASE_RETRIEVAL モジュールの段階で成分や相の選択を減らして計算がうまく行っても,その結果を成分や相を追加した系に引き継ぐことができません。 POLY_3 モジュールには,DATABASE_RETRIEVAL モジュールで定義した系について,一部の成分や相を一時的に計算の対象から除外するためのコマンドを備えています。 このコマンドが CHANGE_STATUS です。。

POLY_3:  C-ST        [CHANGE_STATUS]
For phases, species or components ?  / PHASES /:  P
Phase name(s):  LIQ  CEM
Status:  / ENTERED /:  SUS

-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POLY_3:  C-S  P  LIQ  CEM=SUS

"For phases, species or components ? / PHASES /:" で,状態を変更する対象が何であるかを指示します。 "Status: / ENTERED /:" では,除外するときは SUSPENDED , 元に戻すときは ENTERED とします。 最初はすべて ENTERED となっています。 その他,相については必ず平衡相とする FIXED, 平衡相から除外するが駆動力を計算する DORMANT があります。 詳しくは HELP コマンドで調べてください。

8.4.4. このモジュールでの操作をすべて白紙に戻す

 計算を一からやり直したい場合は, REINITIATE_MODULE コマンドを使います。 このコマンドを使うと,Global Minimization の設定など一部を除いて,一軸計算,二軸計算結果も含め POLY_3 モジュールで設定したすべての条件が初期化されてます。

POLY_3:  REI      [REINITIATE_MODULE]

8.4.5. ユーザ関数を追加する

 TC には温度,圧力,組成,自由エネルギー,エンタルピーなどの基本的な熱力学変数や関数のほとんどが定義されています。 これら標準の変数・関数の他に,ユーザがこれらを使って新しい変数や関数などを定義することができます。 これには ENTER_SYMBOL コマンドを用います。 使い方は以下の通りです。

POLY_3:  E-SYM      [ENTER_SYMBOL]
Constant, variable, function or table ?  / FUNCTION /:
Name:  関数名
Function:  数式 ;              ← " ; " で終わる

 TC には比熱が定義されていません。 そこで例として FCC 相のモル比熱を定義します。 比熱はエンタルピーを温度で微分したものです。 TC では FCC 相 1 mol 当たりのエンタルピーは "HM(FCC)" と定義されています。 またそれを温度で微分したものは "HM(FCC).T" と 関数に ".T" を付けて得られます。 このモル比熱の関数名を "CP" として定義します。

POLY_3:  E-SYM      [ENTER_SYMBOL]
Constant, variable, function or table ?  / FUNCTION /:
Name:  CP
Function:  HM(FCC) . T ;
-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POLY_3:  E-SYM  F  CP=HM(FCC) .T ;

 ユーザの定義に使える変数や関数にどのようなものがあるかについては, INFORMATION コマンドで詳しい説明が得られます。

8.5. POST sub-MODULE

8.5.1. 作図範囲を変更する

  PLOT_DIAGRAM コマンドで描かれる作図範囲は,デフォルトでは POLY-3 モジュールで計算した結果に基づいて自動的に決められます。 これを任意の範囲に変更するには SET_SCALING_STATUS コマンドを使います。

POST:  S-S-S      [SET_SCALING_STATUS]
AXIS  ( X, Y OR Z ) :  X                        ←X軸を
AUTOMATIC SCALING  ( Y OR N )  / N /:  N        ←自動設定せずに
MIN VALUE :  0                                  ← 0 から
MAX VALUE :  1                                  ← 1 まで表示する

   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POST: S-S-S  X  N  0  1

8.5.2. 図中の線の意味が知りたいとき

 多元系になるほど描いた状態図で,どの線がどういう意味を持っているのか分からなくなってしまいます。 こんなとき SET_LABEL_CURVE_OPTION コマンドを用いると便利です。

POST:  S-L      [SET_LABEL_CURVE_OPTION]
CURVE LABEL OPTION  ( A, B, C, D, E, F OR N )  / N /:  C

-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POST:  S-L  C

 この操作の後で PLOT_DIAGRAM コマンドを実行すると図の線上に番号が表示され,その線がどういう意味を持っているのかの注釈が示されます。 オプションによる違いは ? で調べてください。

8.5.3. 図中の領域の情報を知りたいとき

 多元系になるほど状態図は複雑になり,線で囲まれた領域がどのような状態であるのか分からなくなります。 このようなときに各領域を調べる機能をTCは備えています。

 X-Window環境下で稼働している場合は "Console Results" ウィドウのグラフの目的領域にマウスを移動すると平衡相が表示されます。 ただし,この時に表示される状態は周りの相境界線からの推定なので,例えば周りを完全に相境界線で囲まれていないグラフの端近くなどでは必ずしも正しい推定になりません。 次に,その点でマウスを右クリックして,ポップアップメニューの "Add Label..." を選択します。現れる "ADD Label" ウィンドウの "Label" 項に選択した点の平衡相が表示されます。 さらに "Show details" ボタンをクリックするとその点における一点計算の結果が表示されます。 "OK" ボタンをクリックすると "Label" 項の相状態が選択した点の位置に描かれます。 なお "Label" の文字列は任意の文字列に書き換えることもできます。

 ただし,計算条件や作図軸に一般的でない変数を用いているような場合はうまく計算できないことがあります。このような場合は "Label" 項は空欄となりますが,ここに文字列を入力することでその文字列をグラフの指定した座標位置に追加することができます。また,次に説明する ADD_LABEL_TEXT コマンドでも同じことが行えます。 (なお,ver.R 以降で出力装置として "MS-Windows" を用いている場合には同様の機能が備えられています。)

 TC をターミナル・ウィンドウ (UNIX 系) やコマンド・プロンプト (MS-Windows) 上で稼働させている TCC (Thermo-Calc Classic) の場合は ADD_LABEL_TEXT コマンドを用います。

POST:  ADD-L      [ADD_LABEL_TEXT]
Give X coordinate in axis units:  .125
Give Y coordinate in axis units:  1250
Automatic phase labels?  / Y /:
  Automatic labelling not always possible
  Using global minimization procedure
Calculated                  6567 grid points in                       0 s
Found the set of lowest grid points in                                0 s
  Calculated POLY solution       0 s,    total time                   0 s
  Stable phases are: BCC_A2+FCC_A1
Text size:  /.34/:

-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POST:  ADD-L  .125  1250  , , ,

 この例のように "Give X coordinate in axis units:","Give Y coordinate in axis units:" にはグラフ上の座標を入力します。"Automatic phase labels? /Y/:" に " Y " (デフォルト) と応答すると,その点における一点計算に続いて "Stable phases are:" に平衡相が表示されます。 "Text size: /.34/:" に対してはフォントの大きさを cm 単位で指定します。 ただし,計算条件や作図軸があまり一般的でない変数を用いているような場合はうまく計算できないことがあります。 このような場合や,また

POST:  ADD-L      [ADD_LABEL_TEXT]
Give X coordinate in axis units:  .125
Give Y coordinate in axis units:  1250
Automatic phase labels?  / Y /:  N
Text :  My Label
Text size:  /.36 /:

のように " Automatic phase labels? / Y /: " に対して " N " と応答した場合には," Text : " と文字列の入力を求めるプロンプトが表示されます。

 これらの操作の後で PLOT_DIAGRAM コマンドを実行すると " Stable phases are : " に表示されている文字列または " Text : " 欄に入力した文字列がグラフの指定した座標位置に描かれます。

8.5.4. 同じ操作はしたくないとき IV

 以前に行った計算結果や条件を用いて,前回とは違う図を描く場合は「8.4.1 同じ操作はしたくないとき III」で説明した SAVE_WORKSPACES コマンドを用いる方法がありますが,一度計算作図したことのある図を再度計算するのは非常に無駄です。 このような場合に便利なのが MAKE_EXPERIMENTAL_DATAFILEQUICK_EXPERIMENTAL_PLOT コマンドです。 MAKE_EXPERIMENTAL_DATAFILE コマンドは,作図データを指定したファイルに出力するもので,PLOT_DIAGRAM コマンドで作図を確認した後に

POST:  MA      [MAKE_EXPERIMENTAL_DATAFILE]
OUTPUT TO SCREEN OR FILE  / SCREEN /:  ファイル名

-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POST:  MA  ファイル名

と実行します。 拡張子を省略すると "EXP" という拡張子が付きます。 この操作で作成されるファイル (EXP ファイル) は,ある作図書式 (DATAPLOT) に従って書かれたテキスト・ファイルなので,エディタでの修正も可能です。

 後日,EXP ファイルを画面に出力するには QUICK_EXPERIMENTAL_PLOT コマンドを使います。

POST:  Q-E  ファイル名    [QUICK_EXPERIMENTAL_PLOT ファイル名]    ← 拡張子が "EXP" のときは省略できる
PROLOGUE NUMBER:  / 0 /:  1
DATASET NUMBER(s):  / -1 /:  1

-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POST:  Q-E  ファイル名  1 ; 1      [QUICK_EXPERIMENTAL_PLOT ファイル名 1 ; 1]

 拡張子を省略すると "EXP" とみなされます。

 ファイル名なしで実行した場合,ver.S 以降のバージョンではファイル選択ウィンドウが開きます。

注釈

ver.R 以前のバージョンでは次のようにファイル名を聞いてきます。

POST:  Q-E      [QUICK_EXPERIMENTAL_PLOT]
EXPERIMENTAL DATAFILE :  ファイル名    ← 拡張子が "EXP" のときは省略できる
PROLOGUE NUMBER:  / 0 /:  1
DATASET NUMBER(s):  / -1 /:  1
-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POST:  Q-E  ファイル名  1 ; 1      [QUICK_EXPERIMENTAL_PLOT  ファイル名  1 ; 1]

 "PROLOGUE NUMBER:" は,EXP ファイルの冒頭を見ると分かりますが,X 軸,Y 軸の表示範囲,軸の長さ,軸のタイトルといった作図の基本情報が定義されている領域の番号です。 "DATASET NUMBER(s):" には X 座標,Y 座標の値など作図データが書いてある領域 (DATASET) の番号を入力します。 通常は " 1 " ですが,描きたい領域が複数ある場合はその領域番号をスペースまたは "," (カンマ) で区切って入力します。 なお MAKE_EXPERIMENTAL_DATAFILE で作成される EXP ファイルでは PROLOGUE および DATASET とも領域番号は " 1 " のみです。

 続いて PLOT_DIAGRAM コマンドで作図します。「2.5.3 ファイルへの出力」,「2.5.4 出力装置の選択」で説明した方法で作図保存もできます。

 これらのコマンドを用いれば,以前に出力した図を見たいだけなら, TC を起動して GO  P-3PO ( → S-P-F ) → Q-EPL という操作で実現できます。

8.5.5. 実験データと比較する

 計算して描いた状態図とユーザの実験データや参考文献からの引用データを同じ画面上に重ねて比較することもできます。 これには APPEND_EXPERIMENTAL_DATA コマンドを使用します。 ただし,ユーザの実験データや参考文献からの引用データは,前に述べた EXPファイルの作図書式 (DATAPLOT) に従って作成しておく必要があります。 使い方は以下の通りです。

POST:  A-E  Y  ファイル名      [APPEND_EXPERIMENTAL_DATA  Y  ファイル名]
PROLOGUE NUMBER:  / 0 /:  0           ← "0" はこのファイルの PROLOGUE を使わない
DATASET NUMBER(s):  / -1 /:  1           つまり現在の設定で重ねて描くという意味

-   -   -   -   -   -   -   -   -   -   -
→ 短縮形 POST:  A-E  Y  ファイル名  0 ; 1

 拡張子を省くとデフォルトの "EXP" とみなされます。 ここでは画面にすでに軸の設定をして描いたグラフがあることを前提にしているので,ファイルに書かれている軸設定は用いません。 それで "PROLOGUE NUMBER:" には " 0 " (ゼロ) を指定します。 "DATASET NUMBER(s):" には描きたい DATASET の番号を入力します。 複数ある場合はスペースまたは " , " (カンマ) で区切って入力します。

 パラメータを省いて実行した場合は

POST:  A-E      [APPEND_EXPERIMENTAL_DATA]
USE EXPERIMENTAL DATA  ( Y OR N )  / N /:  Y

のように EXP ファイルを用いるかどうかを聞いてきます。 この後 ver.S 以降のバージョンではファイル選択ウィンドウが開きます。 ファイルの選択後に

PROLOGUE NUMBER:  / 0 /:  0
DATASET NUMBER(s):  / -1 /:  1

の質問が続きます。 続いて PLOT_DIAGRAM コマンドで作図します。 これで計算結果とあらかじめ用意していた EXP ファイルの作図データが重ね描きされます。

注釈

ver.R 以前のバージョンでは次のようにファイル名, "PROLOGUE NUMBER: ", "DATASET NUMBER(s): " と聞いてきます。

EXPERIMENTAL DATAFILE:  ファイル名
PROLOGUE NUMBER:  / 0 /:  0
DATASET NUMBER(s):  / -1 /:  1

 続いて PLOT_DIAGRAM コマンドで作図します。 これで計算結果とあらかじめ用意していた EXP ファイルの作図データが重ね描きされます。

こうして描いたグラフも「2.5.3 ファイルへの出力」,「2.5.4 出力装置の選択」で説明した方法で保存することができます。