Version 1.5.0
Important change
EA-vcにおける組成制限
min_compとmax_compで,各原子種の組成比の下限・上限を指定できるようになった.電荷中性条件との併用も可能.- 機能 > 組成制限
入力ファイル
Common
- 必要なPythonのバージョンを3.10以上,PyXtalのバージョンを1.0.7以上に変更.
- ランダム構造生成と進化的アルゴリズムによる構造生成を,単独のライブラリとして使用する機能を廃止.
Added
Subcommand
- cryspy-print:pickleファイルの内容や要約を表示する.
rslt_data.pklでは表示行数の指定,組成による絞り込み,テキスト結果ファイルの再出力も可能. - cryspy-extract-struc:構造データから構造を抽出し,cifファイルとして保存,または構造情報を画面に表示する.
- CrySPY Utilityの
print_pkl.pyとextract_struc.pyに代わるコマンドとしてCrySPYに組み込んだ.
描画・再描画
cryspy-EplotでRS・EAのエネルギープロットにも対応.- EA・EA-vcで,描画対象の世代範囲と基準となる世代を分けて指定できるようになった.
- EA-vcで,
axis_orderによる原子種の配置変更と,許容組成範囲の表示に対応. cryspy-Eplot -cで,探索前でも入力した組成制限の許容範囲を確認できる.terminalsで化合物を基準とした凸包を描画できるようになった.- コマンド > cryspy-Eplot,入力ファイル > [visual] Section
入力パラメータ
Niggli reduction
結果・画像の出力
rslt_outでcryspy_rsltとcryspy_rslt_energy_ascの出力タイミングを指定できるようになった.デフォルトはalways.energy_output_intervalで,EAのエネルギープロット,EA-vcの凸包の図とhull distanceのファイルの出力間隔を指定可能.デフォルトは1(毎世代),0で自動出力を無効化する.- EA-vcの凸包とhull distanceの計算自体は,出力間隔によらず毎世代行う.
- 入力ファイル > [option] Section
電荷中性条件
- 電荷中性条件を満たす原子数の組合せの計算手法を改良.
- 多価の原子種(multivalent species)に対応.例:
charge = (2 3) -2. cn_modeで原子数の組合せの列挙・サンプリングを選択可能.autoでは,max_cn_grid_pointsに応じて切り替える.- 機能 > 電荷中性条件
バックアップ
backup_intervalで自動バックアップの間隔を指定できるようになった.- バックアップディレクトリ名に進行番号と単位を付加.手動バックアップにはさらに
manualを付加する. - 機能 > バックアップ
Changed
EA-vcのデフォルト値
初期構造の読み込み
load_struc_flag = Trueで読み込むデータのチェックを強化.構造ID,構造数,原子種・原子数に加え,EA-vcでは組成制限や電荷中性条件も確認する.- 必要な構造数に満たない場合は,不足分をランダム生成で補完する.
- 機能 > 初期構造の読み込み
Fixed
- EAの親選択で,同じ親が繰り返し選ばれ,異なる2個体を選ぶ処理が無限ループになる問題を修正.
- ルーレット選択で,全候補のfitnessが同じ場合にも選択確率を正しく計算するように修正.
- EA-vcで,原子数・組成制限や
n_eliteを変更した後に,過去の結果からエリートを選び直すように修正. - EA-vcで,凸包計算から除外された構造をエリートや親候補として扱う際にエラーになる問題を修正.
- crossoverの原子追加処理に指定した乱数生成器が渡されず,再現性が損なわれる問題を修正.
- インタラクティブモードで,入力エラー時に
lock_cryspyが残る問題を修正.