cryspy-Eplot

最終更新日:2026年10月16日

cryspy-Eplot コマンド

CrySPY version 1.4.1以降では,cryspy-Eplotコマンドがインストールされる. EA-vcでは,デフォルトで各世代の計算終了時に凸包図が自動的に生成・保存される.出力間隔の変更や自動出力の無効化は,[option]セクションのenergy_output_intervalで指定する(入力ファイル > [option] Sectionを参照). 後から描画パラメータを変更したい場合は,cryspy-Eplotコマンドを用いて再描画できる.

変更できる入力パラメーターは以下のページを参考.

実行方法とオプション

cryspy.inがあるディレクトリで,下記コマンドを実行.

cryspy-Eplot [options]
OptionDescription
-c, --composition-windowcryspy.inで指定された組成範囲を描画した図を保存する.詳細は組成範囲の確認を参照.

エネルギープロット(RS,EA)

energy_RS_10 energy_RS_10 energy_EA_gen_3 energy_EA_gen_3

凸包プロット(EA-vc)

通常プロット(2元系,3元系)

2元系の凸包プロット 2元系の凸包プロット 3元系の凸包プロット 3元系の凸包プロット

世代を指定した再描画

凸包は第3世代,表示する構造は第2世代を指定した例.

第3世代の凸包と第2世代の構造 第3世代の凸包と第2世代の構造

組成制限がある場合の描画

組成制限を設定した2元系・3元系の描画例.青色の領域が組成の許容範囲を表す.

組成制限を用いた2元系の凸包プロット 組成制限を用いた2元系の凸包プロット 組成制限を用いた3元系の凸包プロット 組成制限を用いた3元系の凸包プロット

組成範囲の確認(-c)

version 1.5.0以降では,組成制限が設定されている場合に,-cオプションを用いて許容される組成範囲をプロットできる.

EA-vcでmin_compまたはmax_compを指定している場合,次のコマンドで,現在のcryspy.inに設定された組成の許容範囲を描画できる. 探索結果のデータを必要としないため,探索を開始する前でも入力した組成制限を確認できる.

cryspy-Eplot -c

通常の2元系・3元系では,図は./data/convex_hull/composition_window_input.<fig_format>に保存される. fig_formatのデフォルトはsvgであり,[visual]セクションでpngやpdfにも変更できる. 原子種の配置は,同じく[visual]セクションのaxis_orderで指定する. ファイル名のinputは,世代番号によらず,実行時の入力に基づく図であることを表す.

以下は2元系・3元系の描画例.

2元系の組成の許容範囲 2元系の組成の許容範囲 3元系の組成の許容範囲 3元系の組成の許容範囲

この図はmin_compとmax_compから求めた連続的な組成領域を表す. ll_nat・ul_natによる整数の原子数の制約や,chargeによる電荷中性条件は反映されない. 入力例や図の見方は組成制限を参照.

-cを指定した場合は組成範囲の図を出力して終了する. 探索結果のエネルギーや凸包を再描画する場合は,-cを付けずにcryspy-Eplotを実行する.

軸の配置変更

cryspy.inの[visual]セクションでaxis_orderを変更し,cryspy-Eplotを実行すると,原子種の配置を変更して再描画できる. 設定の詳細はチュートリアル > EA-vc > 解析と可視化および入力ファイル > [visual]セクションを参照.

2元系では,atypeの順にl(左)とr(右)を指定する. 左はaxis_order = lr,右はaxis_order = rlの例.

2元系の軸配置:lr 2元系の軸配置:lr 2元系の軸配置:rl 2元系の軸配置:rl

3元系では,atypeの順にt(上),l(左),r(右)を指定する. 左はaxis_order = tlr,右はaxis_order = ltrの例.

3元系の軸配置:tlr 3元系の軸配置:tlr 3元系の軸配置:ltr 3元系の軸配置:ltr

化合物を基準とした凸包(terminals)

cryspy.inの[visual]セクションでterminalsに2つまたは3つの化合物組成を指定すると,それらを基準とした凸包を描画できる. この処理にはpymatgenのCompoundPhaseDiagramを使用している. 基準となる化合物組成の選び方により,3元系を擬3元系として,4元系を擬3元系として描画することもできる.ここでは,3元系を擬2元系として描画する例を示す. この設定はcryspy-Eplotによる事後解析用であり,探索中の凸包計算や自然選択には影響しない.

以下は,3元系のLi–Al–Oに電荷中性条件を課し,第30世代まで探索した例.[structure]セクションでは次のように設定している.

[structure]
atype = Li Al O
ll_nat = 0 0 0
ul_nat = 40 40 40
charge = 1 3 -2

この電荷中性条件を満たす組成は,3元系の組成図ではLi2OとAl2O3を結ぶ直線上にある.そのため,これらの化合物組成を基準にすることで,Li2O–Al2O3の擬2元系として凸包を描画できる.電荷中性条件の設定については,機能 > 電荷中性条件を参照.

左は元素を基準とした3元系の凸包,右はLi2OとAl2O3を基準とした擬2元系の凸包.

Li–Al–O系の元素を基準とした凸包 Li–Al–O系の元素を基準とした凸包 Li2OとAl2O3を基準とした凸包 Li2OとAl2O3を基準とした凸包

右の図は,[visual]セクションを以下のように設定してcryspy-Eplotを実行すると得られる.

[visual]
terminals = Li2O Al2O3
cryspy-Eplot

出力ファイル名には,基準とした化合物組成を表す_terminals_Li2O-Al2O3が付く.この例では,デフォルトのsvg形式で./data/convex_hull/conv_hull_gen_30_terminals_Li2O-Al2O3.svgに保存される.

化合物組成を2つ指定した場合,terminal_axis_orderを省略するとデフォルトのlrが使われ,terminalsの指定順にLi2Oが左,Al2O3が右に配置される. 指定した各化合物組成のデータが,描画に用いる相図データに含まれている必要がある. パラメータの詳細は入力ファイル > [visual]セクションを参照.