Addition

2025年7月7日 更新

現在の原子数が ul_nat で指定された上限を超えない原子種をランダムに選択し,その原子をランダムな位置に1個追加する.

バージョン1.4.1からは複数の原子を追加する機能を搭載.追加する原子数はadd_max以下の自然数からランダムに選択される. デフォルトではadd_max = 3

  • 原子を1個追加し,それが mindist で指定される最小原子間距離の制限を満たしているかチェック.
  • 距離の条件を満たさない場合は,別のランダムな位置に再配置する.この処理は最大 maxcnt_ea 回まで繰り返される.
  • (since version 1.4.1) ランダムに決められた原子数(add_max以下)が追加されるまで繰り返す.
  • 有効な子個体が得られなければ,体積を10%拡張して,同じ処理を最大 maxcnt_ea 回まで再試行する.
  • それでも失敗した場合は,体積を最大20%まで拡張して構造生成を試みる.それでもうまくいかない場合は,親個体を変更する.

fig_EA-vc_addition.svg fig_EA-vc_addition.svg