分子動力学を行う場合でも、原子の位置を固定してまず電子系をその
原子配置での基底状態に波動関数を収束させる。このプログラムでは、
全て分子動力学の手法を使ってそれを実行する。
つまり、力学変数の運動の自由度を、運動方程式にしたがって運動さ
せるのだが、運動方程式に速度に比例する摩擦を導入して系からエネルギーを
除いてゆく。その摩擦の度合を指定するパラメーターがFRICE
である。
(ちなみに原子系の摩擦の度合を指定しているのがFRICP
である。)
elemetal.sh
またはelesimple.sh
にその主要な手順が書き
込まれている。収束させるときに適切な,
FRICE
などの値は、
系によって異なるが、=10,
FRICE=0.10
程度がよい。
FRICE
については、収束してきたら小さな値に変えてさらに収束させ
るとよいが、必ずしもその必要性はない。
上記のファイルをそのまま使っても多くの場合収束するはずであるが、
時間刻と摩擦係数に関係するパラメター
FRICE
(TMETAL
が.true.
の時は、FRICH
も関係する)が、かみ合っていないときは、
収束が異常に遅くなることがある。そのような時は、摩擦係数を変えて試して
みて、速く収束する値を見つけておくとよい。
少々系が変化してもその値が有効な場合が多い。FRICE
は、0.10程度、
FRICH
については、0.05程度が目安である。
電子系の収束は、波動関数の運動エネルギーEKINC
の
大きさでおおよそ
判断することができる。常にこの値が減少して行けば収束していることを
示している。この値が、小さなクラスターの場合、10程度でそれ以上
減少しないことが起こる場合がある。このときは、収束しない原因がある。
大抵の場合、10
程度まで収束する。さらに固有値の収束を期待するときは、
さらに
FRICE
を小さくして、電子系の収束をおこなう。10程度
なると縮退すべき固有値の縮退している様子が数値を見ただけでも容易に
判断できるようになる。
電子系の収束では、収束した波動関数ファイルwfs.2
と
収束させた最後の標準出力screen
を確保しておけばよい。
ある程度自動的に計算を実行するために、スクリプトex_opte.sh
が
用意されている。