コマンド
メインコマンド
- cryspy
サブコマンド
- cryspy-Eplot(v1.4.1以降)
- cryspy-calc-convex-hull(v1.4.2以降)
- cryspy-skip(v1.4.2以降)
- cryspy-print(v1.5.0以降)
- cryspy-extract-struc(v1.5.0以降)
最終更新日:2026年10月16日
CrySPY version 1.4.1以降では,cryspy-Eplotコマンドがインストールされる.
EA-vcでは,デフォルトで各世代の計算終了時に凸包図が自動的に生成・保存される.出力間隔の変更や自動出力の無効化は,[option]セクションのenergy_output_intervalで指定する(入力ファイル > [option] Sectionを参照).
後から描画パラメータを変更したい場合は,cryspy-Eplotコマンドを用いて再描画できる.
変更できる入力パラメーターは以下のページを参考.
cryspy.inがあるディレクトリで,下記コマンドを実行.
| Option | Description |
|---|---|
-c, --composition-window | cryspy.inで指定された組成範囲を描画した図を保存する.詳細は組成範囲の確認を参照. |
凸包は第3世代,表示する構造は第2世代を指定した例.
組成制限を設定した2元系・3元系の描画例.青色の領域が組成の許容範囲を表す.
-c)version 1.5.0以降では,組成制限が設定されている場合に,-cオプションを用いて許容される組成範囲をプロットできる.
EA-vcでmin_compまたはmax_compを指定している場合,次のコマンドで,現在のcryspy.inに設定された組成の許容範囲を描画できる.
探索結果のデータを必要としないため,探索を開始する前でも入力した組成制限を確認できる.
通常の2元系・3元系では,図は./data/convex_hull/composition_window_input.<fig_format>に保存される.
fig_formatのデフォルトはsvgであり,[visual]セクションでpngやpdfにも変更できる.
原子種の配置は,同じく[visual]セクションのaxis_orderで指定する.
ファイル名のinputは,世代番号によらず,実行時の入力に基づく図であることを表す.
以下は2元系・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の例.
3元系では,atypeの順にt(上),l(左),r(右)を指定する.
左はaxis_order = tlr,右はaxis_order = ltrの例.
terminals)cryspy.inの[visual]セクションでterminalsに2つまたは3つの化合物組成を指定すると,それらを基準とした凸包を描画できる.
この処理にはpymatgenのCompoundPhaseDiagramを使用している.
基準となる化合物組成の選び方により,3元系を擬3元系として,4元系を擬3元系として描画することもできる.ここでは,3元系を擬2元系として描画する例を示す.
この設定はcryspy-Eplotによる事後解析用であり,探索中の凸包計算や自然選択には影響しない.
以下は,3元系のLi–Al–Oに電荷中性条件を課し,第30世代まで探索した例.[structure]セクションでは次のように設定している.
この電荷中性条件を満たす組成は,3元系の組成図ではLi2OとAl2O3を結ぶ直線上にある.そのため,これらの化合物組成を基準にすることで,Li2O–Al2O3の擬2元系として凸包を描画できる.電荷中性条件の設定については,機能 > 電荷中性条件を参照.
左は元素を基準とした3元系の凸包,右はLi2OとAl2O3を基準とした擬2元系の凸包.
右の図は,[visual]セクションを以下のように設定して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]セクションを参照.
最終更新日:2026年10月16日
EA-vcの指定世代までの結果を使って,凸包と各構造のhull distanceを再計算するコマンド.
cryspy-skipで不適切な構造を除外した後や,emin_ea・emax_eaでエネルギーの除外条件を変更した後に使用する.
CrySPYの計算ディレクトリで,世代番号を指定して実行する.
この例では,第1〜10世代の結果を使って,第10世代時点の凸包とhull distanceを再計算する.
pd_data.pklとhdist_data.pklの該当世代のデータ,hull distanceの一覧を更新し,2元系・3元系では凸包の図も出力する.
詳しい手順は機能 > 計算のスキップを参照.
最終更新日:2026年10月16日
rslt_data.pklに記録済みの計算結果を取り消し,指定した構造をskip扱いにするコマンド.
正しくない電子状態などにより,異常なエネルギーが記録された場合に使用する.
CrySPYの計算ディレクトリで,構造IDを指定して実行する.複数のIDも指定できる.
この例では,ID 198と157の最適化構造とエネルギーを無効化し,計算結果のOptをskipに更新する.
EA・EA-vcでは,エリートに登録されている場合はそのデータからも取り除く.
EA-vcでは,必要に応じてcryspy-calc-convex-hullで凸包を再計算する.
詳しい手順や,計算途中でスキップする方法は機能 > 計算のスキップを参照.
最終更新日:2026年10月16日
v1.5.0以降では,cryspy-printコマンドでdata/pkl_data/にあるpickleファイルの内容を確認できる.
CrySPY Utilityのprint_pkl.pyに代わるコマンドで,ファイルの種類に応じて内容や要約を表示する.
rslt_data.pklでは,エネルギー順の表示,表示行数の指定,組成による絞り込み,結果ファイルの再出力もできる.
入力ファイルは相対パスまたは絶対パスで指定できる.gzip圧縮したファイルも読み込み可能.
ファイルの種類はファイル名で判別するため,rslt_data.pklなどの名前を変更せずに指定する.
| 引数・オプション | 説明 |
|---|---|
infile | 表示するpickleファイル.gzip圧縮したファイル(例:rslt_data.pkl.gz)も指定可能. |
--no-sort | rslt_data.pklをソートせず,保存されている行順で表示する. |
--head N | 絞り込み・ソート後の先頭N行を表示する.Nは正の整数. |
--tail N | 絞り込み・ソート後の末尾N行を表示する.Nは正の整数. |
--all | 絞り込み・ソート後の全行を表示する. |
-c N [N ...], --composition N [N ...] | EA-vcのrslt_data.pklを,atypeの順に指定した組成比で絞り込む. |
--write | rslt_data.pklから./data/cryspy_rsltと./data/cryspy_rslt_energy_ascを再出力する. |
-h, --help | ヘルプを表示する. |
--no-sort,--head,--tail,--all,--composition,--writeはrslt_data.pkl用のオプション.
--head,--tail,--allは併用できない.--writeは表示用オプションと併用できない.
| ファイル | 表示内容 |
|---|---|
input_data.pkl | セクションごとの入力設定.値がNoneの項目は表示しない. |
init_struc_data.pkl,opt_struc_data.pkl,struc_step_data.pkl,elite_struc.pkl,init_dscrpt_data.pkl,opt_dscrpt_data.pkl | 保存されているデータの件数(Number of structures).構造ID一覧は表示しない. |
rslt_data.pkl | 計算結果の表.デフォルトはエネルギーが低い順. |
hdist_data.pkl | 最新世代と,その世代の構造数.空の場合はNo hull distance data. |
pd_data.pkl | 最新世代と,その世代の安定エントリー数・全エントリー数.空の場合はNo phase diagram data. |
cn_comb_data.pkl | 電荷中性条件の設定と,電荷中性を満たす組み合わせの数.cn_combがNoneの場合はその旨を表示する. |
以下のファイルは内容を整形して表示する.
id_queueing.pkl,id_running.pkl,energy_step_data.pkl,force_step_data.pkl,stress_step_data.pkl,kpt_data.pkl,rng_state_data.pklgen.pkl,ea_info.pkl,ea_origin.pkl,elite_fitness.pklnat_data.pkln_selection.pkl,id_select_hist.pkl,bo_mean.pkl,bo_var.pkl,bo_score.pkltot_step_select.pkl,laqa_energy.pkl,laqa_bias.pkl,laqa_score.pkl,laqa_step.pkl,laqa_struc.pkl対応していないファイル名を指定するとエラーになる.
10件のデータが保存されている場合の表示:
opt_struc_data.pklやelite_struc.pklも同様に構造数を表示する.
個々の構造を確認するには,cryspy-extract-strucの-pオプションを使用する.
input_data.pklは[basic],[structure]などのセクションごとに設定を表示する.
elite_fitness.pklは構造IDとfitnessの辞書を表示する.
Ef_eV_atom列がある場合はその値,ない場合はE_eV_atomの昇順で表示する.
100行以下なら全行を表示する.100行を超える場合は件数とソート条件を表示し,先頭100行を表示する.
それぞれ,エネルギーが低い順に並べた表の先頭10行,末尾5行,全行を表示する.
保存されている行順で表示する場合は--no-sortを指定する.表示行数の指定とも併用できる.
atypeの順で組成比が1:2の構造に絞り込み,エネルギーが低い順に先頭10行を表示する.
原子数が(1, 2),(2, 4)など,比が等しい構造が対象となる.
元素数と同じ数の非負整数を指定し,少なくとも1つは正の整数にする.
このオプションには,Num_atom列を持つEA-vcの結果が必要.該当する構造がない場合はその旨を表示する.
具体的な表示結果は,チュートリアル > EA-vc > 結果の確認 > 組成を指定して結果を確認を参照.
展開せずに読み込める.他の対応ファイルも同様にgzip圧縮したまま指定できる.
cryspy.inがある実行ディレクトリで,次のように実行する.
以下のファイルを再出力する.既存のファイルは上書きされる.
./data/cryspy_rslt:保存されている行順の結果表../data/cryspy_rslt_energy_asc:Ef_eV_atom(列がなければE_eV_atom)の昇順の結果表.出力先はコマンドを実行したディレクトリのdata/で,このディレクトリが必要.
実行内容はlog_cryspyにも記録される.
最終更新日:2026年10月16日
v1.5.0以降では,cryspy-extract-strucコマンドでinit_struc_data.pklやopt_struc_data.pklから構造を抽出し,cifファイルとして保存できる.
CrySPY Utilityのextract_struc.pyをCrySPYに組み込んだコマンド.ファイル出力せず,構造情報を画面に表示することもできる.
入力ファイルは相対パスまたは絶対パスで指定できる.cifファイルはコマンドを実行したディレクトリに保存される.
-i,-a,-tのいずれか1つを指定する.これらは併用できない.
| 引数・オプション | 説明 |
|---|---|
infile | 構造データのpickleファイル.init_struc_data.pkl,opt_struc_data.pklなど.gzip圧縮したファイルも読み込み可能. |
-i INDEX [INDEX ...], --index INDEX [INDEX ...] | 抽出する構造IDを指定する.複数指定可能. |
-a, --all_id | 入力ファイル内の全構造を抽出する. |
-t TOP, --top TOP | rslt_data.pklのE_eV_atomが低い順に,指定した構造数を抽出する. |
-p, --print | cifを出力せず,構造情報を画面に表示する. |
-r, --rank | -tと併用し,出力ファイル名の先頭に順位を付ける. |
-s, --symmetrized | 対称性情報付きのcifを出力する. |
--tolerance TOLERANCE | -sで対称性を判定する際の許容値.デフォルトは0.01. |
-h, --help | ヘルプを表示する. |
構造IDが0,1の構造を,カレントディレクトリの0.cif,1.cifに保存する.存在しないIDは警告を出してスキップする.
-pを付けると,cifファイルを作成せず,構造IDと構造情報を画面に表示する.
エネルギーが低い順に3構造を抽出する.入力ファイルと同じディレクトリにrslt_data.pklが必要.
出力ファイル名は{ID}.cifとなる.
-rも指定すると,順位を含む{rank}_{ID}.cifとなる.順位は1から始まる.
全初期構造を{ID}.cifとして保存する.
-sを付けると,空間群などの対称性情報を含むcifを出力する.--toleranceは省略可能.
対称性情報を付ける際に,セルの表現や原子数が変わる場合がある.
gzip圧縮した構造データは,展開せずに読み込める.-a,-t,-p,-sなども同様に使用できる.
-tを使う場合は,圧縮した入力ファイルと同じディレクトリにrslt_data.pklを置く.