電荷中性条件
2025年7月5日
バージョン1.4.1からEA-vcにおいて,構造生成の際に電荷中性条件を課すことが可能になった. ランダム構造生成にも進化的操作による構造生成にも適用できる.
cryspy.in
でそれぞれのatype
に対応する電荷をcharge
として入力する.
cryspy.in
の例:
...
[structure]
atype = Li Ca Cl
ll_nat = 0 0 0
ul_nat = 8 8 8
charge = 1 2 -1
...
例えばこの場合,(Li, Ca, Cl) = (4, 0, 4)や(Li, Ca, Cl) = (4, 2, 8)などの電荷中性条件を満たす構造のみ生成される.
下記のようにadd_max
やelim_max
が小さすぎると,原子を追加,削除する際に電荷中性条件を満たす原子数の組合せがゼロになって構造生成できなくなるので注意.
...
[structure]
atype = Li Ca Cl
ll_nat = 0 0 0
ul_nat = 8 8 8
charge = 1 2 -1
...
...
[EA]
add_max = 1
elim_max = 1
例えば上記の場合,add_max = 1
の場合,電荷中性条件を満たす原子数の組合せはゼロ.add_max = 2
の場合,(Li, Ca, Cl) = (1, 0, 1),つまりLiとClを1個ずつ追加する組合せは(+1) + (-1) = 0
で電荷中性条件を満たす.add_max = 3
であれば(Li, Ca, Cl) = (1, 0, 1), (0, 1, 2)の組合せがある.