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%まで拡張して構造生成を試みる.それでもうまくいかない場合は,親個体を変更する.