36. Thermo-Calcを用いた熱力学計算

36.1. TQEX07 : Fe-Cr-Mn-Nb-Si-C系におけるA3点の計算

36.1.1. プログラム概要

Thermo-CalcはCALPHAD法に基づく熱力学平衡計算プログラムのひとつで、合金系の計算によく用いられています。このサンプルプログラムは、Thermo-CalcのFortran用のAPIを用いて、Fe-Cr-Mn-Nb-Si-C系の鋼のA3温度を計算し、この温度に対する各合金元素の影響を求めるものです。亜共析鋼に関して、α相の量がゼロになる温度を求めています。過共析鋼では、Acm線を出すためにはセメンタイト相の量で判断する必要がありますが、ここでは炭素量による場合分けはしていませんので、αがゼロになる温度としています。 この例題では、相を構成する元素量の温度微分など、いくつかの非常に特殊な量がTQインターフェイスを介して容易に得ることができることを示しています。ここでは、A3点を20度下げるためのMn量の影響に関する評価を行います。

http://www.thermocalc.com/

Thermo-Calc/TQ-Iのサンプルプログラム(TQEX07)では、温度や組成はプログラム実行中に入力することになっていますが、ここでは、あらかじめファイルとして用意されたリストを利用するように改訂を施しています。

  • 入力ファイル(input.txt)

    • TQEX07.GES5:Thermo-Calcから出力されたGES形式のファイル

    • input.txt:温度、組成を記述したファイル

      • 初期温度(K単位)

      • 圧力(bar単位(1気圧は1e5 bar))

      • wt%C

      • wt%Cr

      • wt%Mn

      • wt%Nb

      • wt%Si

  • 出力ファイル(output.txt)

    • A3点温度データ(in Kelvin)

  • 単体での実行コマンド

    • tqex07_mi.exe(MIntシステム用に入出力を改訂したもの)

      • 実行形式の他に、GESファイル、input.txt、output.txtが必要

  • 参考文献

    • Thermo-Calc/TQ-I、ユーザ向け例題集(07)

  • 動作に必要な要件

    • Thermo-Calcライセンス、熱力学データベースライセンス、TQ-Iライセンス

  • 前準備

    • GESファイルの準備:

      • Thermo-Calcのマニュアルを参照して、計算に必要なGESファイルは作成しておく必要があります。(GES:Gibbs Energy System)

GESファイル作成用Thermo-Calcマクロ:

go da
sw tcfe8
de-sys Fe Cr Mn Nb Si C
get

go gi
save tqex07.GES5

36.1.2. ワークフロー作成

まずは、ワークフローを作成するために必要な記述子や予測モデルの登録を行います。

  • 入力ポート

    • input.txtの指定(入力パラメータを記載したもの)

  • 出力ポート

    • output.txtの指定(A3点温度をファイルに出力したもの)

WF一覧

../_images/002_WF.png

記述子登録

../_images/003_dic.png

記述子登録

../_images/004_dic.png

予測モデル選択

../_images/005_model.png

記述子ID

../_images/006_model.png

36.1.3. modules.xmlの記述

記述子の登録が終わって、記述子番号が得られたらmodules.xmlの構築に移ります。

modules.xml:

<module>
        <dc:identifier>P6300000007</dc:identifier>
        <dc:title>鋼のA3点の熱力学計算(TQ-I)</dc:title>
        <dc:description>鋼のA3点の熱力学計算</dc:description>
        <dc:creator>t-endo</dc:creator>
        <dc:date>2017-08-21</dc:date>
        <predictionModel>M0000003915</predictionModel>
        <version>1.0.0</version>
        <objectPath>/minamoto/tqex07_mi/tqex07_mi.exe</objectPath>
        <resourceRequests>
                <pbsQueue>ex_queue</pbsQueue>
                <pbsMinCores>1</pbsMinCores>
                <pbsMaxCores>1</pbsMaxCores>
                <pbsBaseCores>1</pbsBaseCores>
        </resourceRequests>
        <inputPorts>
                <port>
                        <name>input.txt</name>
                        <description>温度、圧力、組成のデータ\n</description>
                        <descriptor>D0000015954</descriptor>
                        <type>file</type>
                        <depth>0</depth>
                        <defaultValue></defaultValue>
                        <required>true</required>
                </port>
        </inputPorts>
        <outputPorts>
                <port>
                        <name>output.txt</name>
                        <description>A3</description>
                        <descriptor>D0000015956</descriptor>
                        <type>file</type>
                        <depth>0</depth>
                </port>
        </outputPorts>
</module>

36.1.4. ワークフロー設計、実行

36.1.5. トラブルシュート

計算ノードにて、Thermo-Calcが起動しない場合は、環境変数を.bashrcに記載してあることを確認してください。もしくは、/etc/profileに記載があるか確認してください。

環境変数例:

export TC70_HOME="/opt/Thermo-Calc/2017a"
export PATH="$PATH:/opt/Thermo-Calc/2017a/SDK/TCAPI"
export PATH="$PATH:/opt/Thermo-Calc/2017a/SDK/TQ"

36.1.6. 今後

現在は、入力パラメータをひとつにまとめた形式で提供しますが、今後はMI-APIを通じて入力因子をばらして、温度や圧力、組成などを別々に入力できるようにする予定です。そうするとCALPHADファイルリポジトリなどへの対応が可能になり、入力条件のみならず、TDB、GES、POP、DOP、EXP、tcm、その他特性データの格納や、標準状態、副格子モデル、結晶構造データ、Wyckoffデータ、、、などが管理できるようになります。記述形式は、MatML、ThermoML、MathML、CIFを利用するようになります。