バージョン情報のサブセクション

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が残る問題を修正.

Version 1.4.3

Fixed

  • Elimintion in EA-vc: 途中で原子数がゼロを下回る問題を修正
  • Substitution in EA-vc: 原子数が下限を下回るバグを修正

Version 1.4.2

Important change

Added

Changed

ジョブファイルの自動書き換え

構造最適化入力ファイル名の優先順位

xはステージ数.

  1. x_ase_in.py
  2. ase_in.py_x
  3. ase_in.py

以前のバージョンでは2番目のase_in.py_xのスタイル.

Fixed

  • 構造最適化後のmindistのチェック時のバグ修正(構造データがうまく取れない時)

Version 1.4.1

Important change

EA-vc

Added

Charge neutral condition

Subcommand

Version 1.4.0

Important change

New algorithm: EA-vc

インタラクティブモード

EA

  • EAではtot_strucを不使用にした.第1世代の構造数もn_popを利用するように変更

構造最適化後の原子間距離チェック

  • cryspy.inの[option]セクションにcheck_mindist_optを追加.
  • デフォルトでcheck_mindist_opt = True.
  • 構造最適化後に最小原子間距離の制限を満たしているかチェックする.

Common

  • cryspy.inのnatotを廃止
  • Ctrl_extの廃止

Fixed

  • BOでscoreにTSを使うときのバグを修正
  • その他いくつかマイナー修正

Version 1.3.0

Important change

Common

  • workingディレクトリ名の変更
    work000000 –> work0
  • いくつかのデータをタプルにまとめてpickle化して保存していたが,それぞれ個別にデータをpickle化するように変更
    For example, rs_id_data.pkl –> id_queueing.pkl and id_running.pkl

BO

Fixed

soiap

  • 最近のpymatgenで動くように修正

Added

  • ランダム構造生成と進化的アルゴリズムによる構造生成はライブラリとして使用可能に. (version 1.5.0で廃止)

for developer

  • グローバル変数を廃止 (rin), 入力変数にはdataclassを採用
  • リストとして使っていた入力変数の多くはタプルに変更

Version 1.2.5

Bug fix

  • simple bug fix

Version 1.2.2

エンタルピー

VASPとQEでは全エネルギーの代わりにエンタルピーが利用可能.

See also

Version 1.2.1

ASE interface

Bug fixed for multiple stages.

Version 1.1.1

spg_errorのバグ修正

ランダム構造生成時,ある空間群で構造生成ができない時にsgp_errorという変数にその空間群番号を記録し,以降その番号はスキップするようにしていたが,ごく稀に間違って登録されてしまうバグが見つかった.よってこのspg_errorという機能は削除した.

Version 1.1.0

MPI並列

MPIを用いたランダム構造生成が利用可能.

詳細は下記を参照.

LAQA

ストレス項を考慮に入れたスコアが利用できるように更新 (T. Yamashita and H. Sekine, Sci. Technol. Adv. Mater. Meth. 2, 84 (2022).).

詳細は下記を参照.

Backup

日付でディレクトリを作ることでバックアップの履歴が残るように変更. 詳細はfeatures/backup.

Version 1.0.0

Install and run

CrySPY is now available in PyPI. You can install by

pip install csp-cryspy

The executable script, cryspy is automatically installed in your PATH. To run CrySPY, just type cryspy:

cryspy &

CrySPY stops once before going to next selection (BO, LAQA) or next generation (EA). For example, EA case:

[old version]

  • cryspy run
    • check jobs (finish current generation?)
    • structure generation by EA automatically starts

[CrySPY 1.0.0]

  • cryspy run
    • check jobs (finish current generation?)
    • stop
  • cryspy run
    • auto backup
    • structure generation by EA automatically starts

Auto and manual backup

Automatically backup:

  • before going to next selection or next generation
  • structure generation

To manually back up:

cryspy -b

See features/backup in detail.

Clean

cryspy -c

See features/clean in detail.

Directory tree

Changed the directory tree.

  • genstruc/RS –> RS/
  • genstruc/EA –> EA/
  • genstruc/struc_util.py –> util/
  • utility.py –> util/

IO

  • Fixed standard output file and standard error file: log_cryspy and err_cryspy
  • cryspy.out is obsoleted

Moved to CrySPY Utility

With the change in installation method, examples and cal_fingerprint have been moved to the CrySPY Utility.

COMBO

The python library COMBO is now optional in CrySPY. If you do not use Bayesian optimizaion, you do not need to install it.

New calc_code

  • ext: Deprecated in version 1.4.0.

cryspy.in

fppath

New input variable for cal_fingerprint. See Instllation/cryspy/cryspy_1.0

fwpath

New input variable for find_wy. See Instllation/requirements/find_wy

mindist

  • mindist can be omitted in cryspy.in
  • mindist_ea is obsoleted
  • added mindist_mol_bs and mindist_mol_bs_factor in cryspy.in

Version 0.10.3 or earlier

  • [2022 May 17] version 0.10.3 released
    • Bug fixed: LAMMPS IO.
  • [2022 January 24] version 0.10.2 released
    • Added nrot: maximum number of times to rotate molecules in mol_bs
  • [2021 September 30] version 0.10.1 released
    • Fixed the problem of numpy.random.seed in multiprocessing
  • [2021 July 25] version 0.10.0 released
    • Support PyXtal 0.2.9 or later
    • LAQA can be used with QE
    • Upper and lower limits of energy for EA and BO
  • [2021 July 13] paper published
    • Our paper on CrySPY software has been published in STAM:Methods
  • [2021 March 18] version 0.9.2 released
    • Support pymatgen v2022.
  • [2021 February 7] version 0.9.0 released
    • Interfaced with OpenMX
    • Employ PyXtal library to generate initial structures
    • If you use PyXtal (default), find_wy program is not required
    • LAQA can be used with soiap
    • Change the name: [lattice] section –> [structure] section
    • Several input variables move to [structure] section
      • natot: [basic] –> [structure]
      • atype: [basic] –> [structure]
      • nat: [basic] –> [structure]
      • maxcnt: [option] –> [structure]
      • symprec: [option] –> [structure]
      • spgnum: [option] –> [structure]
    • New features
      • Molecular crystal structure generation
      • Scale volume
  • [2020 March 19] paper published
  • [2020 February 16] version 0.8.0 released
    • Migrate to Python 3
    • CrySPY logo created
    • Change several variable names and data formats
    • Change style of output for energy: eV/cell –> eV/atom
    • IDs of working directories corresponds to structure IDs
    • New features
      • recalculation
      • manual select in BO
  • [2018 December 5] version 0.7.0 released
    • New features
      • Evolutionary algorithm
  • [2018 August 20] version 0.6.4 released
  • [2018 July 2] version 0.6.3 released
  • [2018 June 26] Version 0.6.2 released
  • [2018 March 1] Version 0.6.1 released
  • [2018 January 9] paper published