3. 二相分離領域が存在する状態図の計算¶
ここでは Cu-Ni 二元系状態図を例とします。 この系はほぼ全率固溶型の状態図で,液相と FCC_A1 相の二相が現れ,FCC_A1 相は低温で二相分離します。 ここでは主に前の Fe-C 二元系の状態図計算との相違点を中心に説明します。
3.1. DATABASE_RETRIEVAL モジュール¶
Fe-C 二元系状態図のときには,データベースに "KIT" を使いましたが,今回は "SSOL4" というデータベースを用いてみます。 データベースの変更は SWICH_DATABASE
コマンドを用います。 また、どのようなデータベースが使えるのかを確認するのも SWITCH_DATABASE
コマンドを使います。
TDB_KIT: SW [SWITCH_DATABASE]
Use one of these databases
KIT = KIT version Database for Alloys
TCFE1 = TCS Steels/Fe-Alloys Database v1
SSOL4 = SGTE Alloy solution database v4
SSUB3 = SGTE Substance Database v3
: (中 略)
PURE5 = SGTE Pure Element Database v5
KP = Kaufman binary database
: (中 略)
USER = User defined Database
DATABASE NAME / KIT /: SSOL4
Current database: SGTE Alloy Solutions Database v4
VA DEFINED
FCC_L102 FCC_L12 REJECTED
ALNI_B2 A2_BCC2 BCC_B2
REJECTED
GAS:G REJECTED
IONIC_LIQUID:Y BI2O3_LIQUID:Y CORUNDUM:I
REJECTED
TDB_SSOL4: ← "TDB_KIT" が "TDB_SSOL4:" に変わっている
- - - - - - - - - - -
→ 短縮形 TDB_KIT: SW SSOL4
これらデータベースの種類やその内容はシステムによって異なります。 一番下にある "USER" は,各ユーザが作成したデータベースを利用する場合に指定します。
では,前章 2.【合金状態図の計算手順】で学んだ方法で熱力学パラメータを取り込みます。
TDB_SSOL4: D-SYS CU NI [DEFINE_SYSTEM CU NI]
CU NI DEFINED
TDB_SSOL4: REJ P /A [REJECT PHASES /ALL]
: (中 略)
TDB_SSOL4: RES P LIQ FCC-A1 [RESTORE PHASES LIQUID FCC_A1]
: (中 略)
TDB_SSOL4: GET [GET_DATA]
: (中 略)
-OK-
次に POLY_3 モジュールへ行きます。
TDB_SSOL: GO P-3 [GOTO_MODULE POLY_3]
POLY version 3.32
POLY_3:
3.2. POLY_3 モジュール¶
Cu-Ni 二元系では FCC_A1 相が低温部で二相分離します。同一相が二相分離や三相分離と複数の組成に分離する場合に TC では "FCC_A1#1","FCC_A1#2" のように相名の後に "#1","#2" と枝番を付けて区別します。 枝番を省略した場合は "#1" と扱われます。
注釈
ver.R 以降の TC でデフォルトの計算方式 "Global Minimization" の設定を外していなければ,すぐに最初の一点計算「3.2.1 Global Minimization を用いる場合」に進んでください。 もしうまく行かない場合や "ver.R" よりも前のバージョンを使っている場合は,「3.2.2 Global Minimization を用いない場合」を参照してください。
3.2.1. Global Minimization を用いている場合¶
まずは一点計算を行います。 二相分離する相を含む系を計算する場合は, その相がはっきりと二相分離する領域で一点計算を行ってみることが大切です。
POLY_3: S-C P=101325 N=1 T=400 X(NI)=.6
一点計算を行い,結果を見ると Cu 基の FCC_A1#1 相と Ni 基の FCC_A1#2 相とに分離しているかどうかを確認できます。 また LIST_EQUILIBRIUM
コマンドのオプションに X
を指定するとモル分率で表した組成で結果が出力されます。
POLY_3: L-E [LIST_EQUILIBRIUM]
OUTPUT TO SCREEN OR FILE: / SCREEN /:
Options / VWCS /: X
Output from POLY_3, equilibrium number = 1, label A0 , database: SSOL4
Conditions:
P=1.01325E5, N=1, T=400, X(NI)=0.6
DEGREES OF FREEDOM 0
Temperature 400.00 K ( 126.85 C), Pressure 1.013250E+05
Number of moles of components 1.00000E+00, Mass in grams 6.06324E+01
Total Gibbs energy -1.30298E+04, Enthalpy 3.14505E+03, Volume 6.06324E+01
Component Moles M-Fraction Activity Potential Ref.stat
CU 4.0000E-01 4.0000E-01 1.4984E-02 -1.3971E+04 SER
NI 6.0000E-01 6.0000E-01 2.4014E-02 -1.2402E+04 SER
FCC_A1#2 Status ENTERED Driving force 0.0000E+00
Moles 5.6547E-01, Mass 3.3249E+01, Volume fraction 0.0000E+00 Moles fractions:
NI 9.77464E-01 CU 2.25363E-02
FCC_A1#1 Status ENTERED Driving force 0.0000E+00
Moles 4.3453E-01, Mass 2.7383E+01, Volume fraction 0.0000E+00 Mole fractions:
CU 8.91206E-01 NI 1.08794E-01
- - - - - - - - - - -
→ 短縮形 POLY_3: L-E , , X
この例では二相分離した両相とも平衡相となっていますが,これらの相がいつでも平衡相であるとは限りません。 片方あるいは両方とも非平衡状態の場合,目的の相が二相分離しているかどうかを確認するためには LIST_EQUILIBRIUM
コマンドでオプションに P
を指定します。
POLY_3: L-E , , P [LIST_EQUILIBRIUM , , P]
Output from POLY_3, equilibrium number = 1, label A0 , database: SSOL4
Conditions:
P=1.01325E5, N=1, T=400, X(NI)=0.6
DEGREES OF FREEDOM 0
Temperature 400.00 K ( 126.85 C), Pressure 1.013250E+05
Number of moles of components 1.00000E+00, Mass in grams 6.06324E+01
Total Gibbs energy -1.30298E+04, Enthalpy 3.14505E+03, Volume 6.06324E+01
Component Moles M-Fraction Activity Potential Ref.stat
CU 4.0000E-01 4.0000E-01 1.4984E-02 -1.3971E+04 SER
NI 6.0000E-01 6.0000E-01 2.4014E-02 -1.2402E+04 SER
LIQUID Status ENTERED Driving force -2.8393E+00
Moles 0.0000E+00, Mass 0.0000E+00, Volume fraction 0.0000E+00 Moles fractions:
CU 9.88105E-01 NI 1.18953E-02
FCC_A1#2 Status ENTERED Driving force 0.0000E+00
Moles 5.6547E-01, Mass 3.3249E+01, Volume fraction 0.0000E+00 Moles fractions:
NI 9.77464E-01 CU 2.25363E-02
FCC_A1#1 Status ENTERED Driving force 0.0000E+00
Moles 4.3453E-01, Mass 2.7383E+01, Volume fraction 0.0000E+00 Mole fractions:
CU 8.91206E-01 NI 1.08794E-01
この場合は LIQUID 相の Driving Force 値が負で準安定状態のため,最初の LIST_EQUILIBRIUM
コマンドでは表示されていません。 オプション P
は安定でない相の組成や不安定な度合い (Driving Force) などの情報を知ることができます。
この後は「2.4 POLY_3 モジュール」,「2.5 POST サブモジュール」で学んだ方法で計算軸の設定 (SET_AXIS_VARIABLE
),状態図の計算 (MAP
),作図 (POST
) と順に行います。
3.2.2. Global Minimization を用いない場合¶
ver.R より前のバージョンや、 ver.R 以降でも Global Minimization の設定を外している場合には,最初の計算の前に FCC_A1 相が二相分離することを TC に教える必要があります。 これには ADVANCED_OPTIONS
コマンドの NEW_COMPOSITION_SET
オプション (ver.R 以前では SPECIAL_OPTIONS
コマンドの SET_MISCIBILITY_GAP
オプション) を使います。
次の操作例は ADVANCED_OPTIONS
コマンドの NEW_COMPOSITION_SET
オプションを用いた場合を示しています。 SPECIAL_OPTIONS
コマンドでのオプションは SET_MISCIBILITY_GAP
となりますが,操作は同じです。
POLY_3: A-O [ADVANCED_OPTIONS]
Which option? / STEP_AND_MAP /: NEW [NEW_COMPOSITION_SET]
Phase with miscibility gap: FCC ← 対象とする相の名前
New highest set number / 2 /:
Give for composition set 2 ← FCC#2 相について
Major constituent(s) for sublattice 1: / CU NI /: NI ← 第一副格子の主成分の並び(置換型)
Major constituent(s) for sublattice 2: / VA /: ← 第二副格子の主成分の並び(侵入型)
You must set major constituents in the first "composition set" also
Major constituent(s) for sublattice 1: / CU NI /: CU ← FCC_A1#1 相の第一副格子の主成分の並び
Major constituent(s) for sublattice 2: / VA /: ← FCC_A1#1 相の第二副格子の主成分の並び
(短縮形は二度に分けて入力します。)
POLY_3: A-O NEW FCC 2 NI : ;
You must set major constituents in the first "composition set" also
POLY_3: A-O MAJ FCC 1 CU : ;
(二つ目の短縮形については後で説明します)
質問項目にある New highest set number
は,考慮する相の分離数を定義するもので,デフォルトとして表示される値は "現在の設定数+1" です。 二成分系での最大分離数は 2 ですが,多成分系ではさらに多くの分離数を考えなければならないことがあります。 続いての質問 Major constituent(s) for sublattice
は,各副格子上の主成分を指定します。 よく分からない場合はとりあえずデフォルトのままでもよいでしょう。 なお,複数の成分を指定するときには
Major constituent(s) for sublattice 1: / CU /: CU NI
のように各成分間はスペースで区切って入力します。
ここで指定を間違ってしまった場合には、 ADVANCED_OPTIONS
コマンドの MAJOR_CONSTITUENTS
オプション (ver.R 以前では SPECIAL_OPTIONS
コマンドの SET_MAJOR_CONSTITUENTS
オプション) で修正します。 また,データベースによってはあらかじめ二相分離することを TC に指示する命令が埋め込まれている場合があります。 その場合も ADVANCED_OPTIONS
コマンドの MAJOR_CONSTITUENTS
オプションを使い,分離する各領域について主成分の指定を変更できます。 次の操作例は ADVANCED_OPTIONS
コマンドの MAJOR_CONSTITUENTS
オプションを用いた場合ですが, SPECIAL_OPTIONS
の SET_MAJOR_CONSTITUENTS
オプションでも同じ操作です。
POLY_3: A-O [ADVANCED_OPTIONS]
Which option? / STEP_AND_MAP /: M-C [MAJOR_CONSTITUENTS]
Phase name: FCC ← 対象とする相の名前
Composition set / 1 /: ← 対象とする相の番号
Major constituent(s) for sublattice 1: / NI /: CU
Major constituent(s) for sublattice 2: / VA /:
- - - - - - - - - - -
→ 短縮形 POLY_3: A-O MAJ FCC 1 CU : ;
FCC#2 相についても同じように設定します。
POLY_3: A-O [ADVANCED_OPTIONS]
Which option? / STEP_AND_MAP /: M-C [MAJOR_CONSTITUENTS]
Phase name: FCC
Composition set / 1 /: 2 ← FCC#2 相について
Major constituent(s) for sublattice 1: / CU /: NI
Major constituent(s) for sublattice 2: / VA /:
- - - - - - - - - - -
→ 短縮形 POLY_3: A-O MAJ FCC 1 NI : ;
ただし,相#1,相#2,... は元々同じ相であり,同じ Gibbsエネルギー関数を持つので,計算の途中で分離相の間で主成分が入れ替わっても区別がつきません。 しかし,主成分の入れ替わりは多くの場合あまり気にする必要ありません。
最初の一点計算は,はっきりと二相分離する条件を選んで行うことが重要です。
POLY_3: S-C P=101325 N=1 T=400 X(NI)=.6
また COMPUTE_EQUILIBRIUM
コマンドを実行する前に SET_ALL_START_VALUES
コマンドを使って FCC_A1#1,FCC_A1#2 両相の初期組成を積極的に偏らせると計算がスムーズに進み易いです。
POLY_3: S-A-S [SET_ALL_START_VALUES]
Automatic start values for phase constituents? / N /:
Should LIQUID be stable? / N /:
Major constituent(s): * ← 現在のままでよいときは " * " とします
Should FCC_A1 be stable? / N /: Y ← FCC_A1#1 は安定と仮定 (どれか一つの相は "Y" とします)
Major constituent(s) / * /: NONE ← 格子占有率で入力したいときは "NONE" とします
Y(FCC_A1,CU) / 1 /: 0
Y(FCC_A1,NI) / 1 /: 1 ← Ni基としている
Should FCC_A1#2 be stable? / N /:
Major constituent(s): ← デフォルトが表示されないときは "RETURN" で格子占有率の入力となる
Y(FCC_A1#2,CU) / 1 /: 1 ← Cu基としている
Y(FCC_A1#2,NI) / 1 /: 0
ここで例えば Y(FCC_A1#2,CU) とは FCC_A1#2 相における Cu の格子占有率 (site fraction) のことです。 もし Cu が第二副格子にも入る場合には,"CU#2" と成分名に副格子番号を付けて区別します。 なお "Major constituent(s):" に対しては
Major constituent(s): CU
のように主成分を名前で指示することもできますが,二相分離や次章で説明する規則化を伴う計算の場合は格子占有率で与える方がうまく行きます。 もし格子占有率で与えたいときに
Major constituent(s) / CU /:
のようにデフォルトとして元素名が表示された場合には "NONE" を入力することで格子占有率を受け付ける状態になります。
一度 COMPUTE_EQUILIBRIUM した後で SET_START_CONSTITUTION
コマンドで初期組成を変更することもできます。
POLY_3: S-S-C [SET_START_CONSTITUTION]
Phase name: FCC ← 対象相は FCC#1
Y(FCC_A1,CU) / 1 /: .01
Y(FCC_A1,NI) / 1 /: .99
一点計算を行い,結果を LIST_EQUILIBRIUM
で確認します。
POLY_3: L-E [LIST_EQUILIBRIUM]
OUTPUT TO SCREEN OR FILE: / SCREEN /:
Options / VWCS /: X
Output from POLY_3, equilibrium number = 1, label A0 , database: SSOL4
Conditions:
P=1.01325E5, N=1, T=400, X(NI)=0.6
DEGREES OF FREEDOM 0
Temperature 400.00 K ( 126.85 C), Pressure 1.013250E+05
Number of moles of components 1.00000E+00, Mass in grams 6.06324E+01
Total Gibbs energy -1.30298E+04, Enthalpy 3.14505E+03, Volume 6.06324E+01
Component Moles M-Fraction Activity Potential Ref.stat
CU 4.0000E-01 4.0000E-01 1.4984E-02 -1.3971E+04 SER
NI 6.0000E-01 6.0000E-01 2.4014E-02 -1.2402E+04 SER
FCC_A1#2 Status ENTERED Driving force 0.0000E+00
Moles 5.6547E-01, Mass 3.3249E+01, Volume fraction 0.0000E+00 Moles fractions:
NI 9.77464E-01 CU 2.25363E-02
FCC_A1#1 Status ENTERED Driving force 0.0000E+00
Moles 4.3453E-01, Mass 2.7383E+01, Volume fraction 0.0000E+00 Mole fractions:
CU 8.91206E-01 NI 1.08794E-01
- - - - - - - - - - -
→ 短縮形 POLY_3: L-E , , X
この例ではオプションに "X" を指定して相の組成をモル分率で表しています。 二相分離していることが確認できれば,後はこれまでの状態図計算と同じ手順を行います。
なお ver.R 以前の TC ではこのまま MAP
コマンドで状態図を計算しても, Cu-Ni 二元系の FCC_A1 単相領域と二相分離領域との境界線 (二相分離線) しか計算されません。 これは 旧バージョンの MAP
コマンドでは一点計算の結果を開始点として相境界を探索し,最初の相境界(点)から連続する相境界線のみを計算するためです。 連続した線として全体を描くことができない状態図の場合は,離れた領域でも新たな開始点として一点計算を行い,再度 MAP
コマンドを行う必要があります。
複数の開始点を設定し,一度の MAP
コマンドで状態図を計算することもできます。 現在の計算結果を開始点として登録するためには ADD_INITIAL_EQUILIBRIUM
コマンドを使います。
POLY_3: ADD [ADD_INITIAL_EQUILIBRIUM]
Direction / Default /: -1
- - - - - - - - - - -
→ 短縮形 POLY_3: ADD -1
"Direction" は開始点から相境界の探索をどの方向へ進めるかを指示するものです。 SET_AXIS_VARIABLE
コマンドで設定する軸番号 (1 または 2) に + または - を付けて指示します。 この例では 第一軸を負の方向に探索することを指示しています。 この場合は開始点が二相分離領域内であるので +1 や -1,+2 でも構いません。 なお SET_AXIS_VARIABLE
コマンドによる計算軸の設定は ADD_INITIAL_EQUILIBRIUM
を行った後でも構いません。
追加の開始点として,ここでは液相と FCC 相の平衡が得られる領域をねらって設定条件を変更します。
POLY_3: S-C T=1500
このように,設定条件を変える場合,すべての条件を再び入力する必要はありません。 変更する条件のみを設定してください。
一点計算を行い,結果を確認します。
POLY_3: L-E , , S [LIST_EQUILIBRIUM]
Output from POLY_3, equilibrium number = 1, label A0 , database: SSOL4
Conditions:
P=1.01325E5, N=1, T=1500, X(NI)=0.6
DEGREES OF FREEDOM 0
Temperature 1500.00 K ( 1226.85 C), Pressure 1.013250E+05
Number of moles of components 1.00000E+00, Mass in grams 6.06324E+01
Total Gibbs energy -8.70355E+04, Enthalpy 3.87923E+04, Volume 0.00000E+00
Component Moles M-Fraction Activity Potential Ref.stat
CU 4.0000E-01 4.0000E-01 8.0479E-04 -8.8860E+04 SER
NI 6.0000E-01 6.0000E-01 1.0271E-03 -8.5819E+04 SER
FCC_A1#1 Status ENTERED Driving force 0.0000E+00
Moles 1.0000E+00, Mass 6.0632E+01, Volume fraction 0.0000E+00 Mole fractions:
NI 6.00000E-01 CU 4.00000E-01
ここでは LIST_EQUILIBRIUM
コマンドでオプションに S
を指定して,平衡相のみを表示させる形式にしています。 液相と FCC 相の二相平衡を期待しましたが,計算結果は FCC_A1 単相です。つまり液相線はこの温度より高温側にあります。 したがって開始点としての登録では温度軸(第二軸)の正の方向を探索するように指示します。
POLY_3: ADD [ADD_INITIAL_EQUILIBRIUM]
Direction / Default /: +2
- - - - - - - - - - -
→ 短縮形 POLY_3: ADD +2
続いて「2.4 POLY_3 モジュール」,「2.5 POST サブモジュール」で学んだ手順で状態図の計算と作図を行います。