計算のスキップ

2025年7月15日

計算途中でskip

DFT計算などで電子状態がどうしても収束しない場合や,明らかに不安定な構造で途中で計算をやめたい場合,下記の手順でskipできる.

  1. qdelなどでジョブを止める
  2. ./work/xxx/stat_jobの3行目をskipに書き換える
  3. 通常通りcryspyを実行

これで,この構造は切り捨てられて,計算が次へ進む.

cryspy_rslt (rslt_data.pkl) に記録された後にskip

CrySPY version 1.4.2以上

正しくない電子状態等で計算が終わった場合,エネルギーが過剰に低く出力されて,rslt_dataに記録されてしまうことがある.例えば下記の結果は,ID 198のエネルギーが低くなりすぎてしまっている.

cryspy_rslt_energy_asc

     Gen  ...  E_eV_atom  Ef_eV_atom ...
198   10  ...  -5.542899   -1.800631 ...
157    8  ...  -5.598984   -0.356639 ...
186   10  ...  -6.323099   -0.330717 ...
95     5  ...  -6.317931   -0.325549 ...

このデータを取り消してskipするためには,バージョン1.4.2から自動でインストールされるコマンドを使う.

cryspy-skip 198

もしskipさせたい構造が複数あるなら,複数のIDを入力する.

cryspy-skip 198 157

これでデータが更新される.

EAまたはEA-vcの場合

EAやEA-vcの場合,skipする構造がエリート構造として登録されている可能性もある.cryspy-skipコマンドを使うとelite_struc.pklelite_fitness.pklに保存されているデータからskipする構造を取り除く.

EA-vcの凸包の再計算

EA-vcの場合,skipする構造のエネルギーが凸包計算に影響を与える場合がある.そのため,skipさせたあとは,下記コマンドで凸包の再計算を行っておく.

cryspy-calc-convex-hull 10

上記入力の10は世代を表し,10世代時点での凸包の再計算,凸包プロットを行う.