STATE 5.5.4で動作確認済み。
スクラッチ(icond=0)から以下のパラメータでSCF計算を10回行う。ここではある程度最適化された原子座標を用いているが、通常は実験で得られた結合距離から原子座標を推測する。
0 0 0 0 0 0 : dummy 6.00 20.00 2 12 12 : gmax gmaxp ktyp katm katm2 1 0 : num_space_group type 30.00 30.00 30.00 90.0 90.0 90.0 : a b c alpha beta gamma 1 1 1 1 1 1 : knx kny knz kp-shift 1 0 : ncord ninv; pos iwei imdtyp ityp 2.637228811524 -0.000002425186 0.000000348057 1 1 1 -2.637222169313 -0.000001003548 0.000000277255 1 1 1 1.318591613133 2.283687623770 0.000000263836 1 1 1 1.318591235450 -2.283688901987 0.000000457435 1 1 1 -1.318586117781 2.283685100113 0.000000135817 1 1 1 -1.318586286255 -2.283690015781 0.000000464746 1 1 1 4.696962569946 -0.000000757460 0.000000056806 1 1 2 -4.696952834413 -0.000001354580 0.000000034892 1 1 2 2.348376543391 4.067711631763 0.000000043809 1 1 2 2.348376103171 -4.067713721835 0.000000108911 1 1 2 -2.348369000003 4.067709739932 -0.000000006005 1 1 2 -2.348369706154 -4.067712530417 0.000000105510 1 1 2 6 0.1500 1.00794 3 1 0.d0 : ityp alfa amion iloc ivan zeta1 1 0.1500 1.00794 3 1 0.d0 : ityp alfa amion iloc ivan zeta1 0 0 0 0 0 : icond inipos inivel ininos iniacc 0 1 : ipre ipri 10 1000 0 57200.00 0 : nmd1 nmd2 iter_last cpumax ifstop 1 1 : waymix mix_what 0 1 0.01 : iter_start kbxmix mix_alpha 0.60 0.50 0.60 0.70 1.00 : dtim1 dtim2 dtim3 dtim4 dtim 500.00 4 1 0.10D-08 : dtio imdalg iexpl edelta 0.0010 1.00D+03 0 : width forccr istress ggapbe 1 : xctype kspin 1.00 : destm 101 : nbztyp 0 0 0 : nkx nky nkz 0 0 0 : nkx2 nky2 nkz2 20 : keg 1 : nextst 0 : n_temp 2 : imsd 0 : evaluate_eko_diff 0 : npdosao; ipdost(1:npdosao) 0 0.0 : sm_n dopping
継続(icond=1)でSCFのパラメータを調節し、さらにSCF計算を10回行う。
$ diff nfinp_1 nfinp_2 21c21 < 0 0 0 0 0 : icond inipos inivel ininos iniacc --- > 1 0 0 0 0 : icond inipos inivel ininos iniacc 25c25 < 0 1 0.01 : iter_start kbxmix mix_alpha --- > 0 1 0.10 : iter_start kbxmix mix_alpha 35c35 < 1 : nextst --- > 0 : nextst 37c37 < 2 : imsd --- > 1 : imsd
さらにパラメータを調節して200回のSCF計算のうちに波動関数を収束させる。原子に働く力のしきい値をforccr=0.003として構造最適化を行う。今の場合、ある程度最適化された原子座標を用いているのでgdiis(imdalg=4, dtio=500)で構造最適化を行う。
$ diff nfinp_2 nfinp_3 23,25c23,25 < 10 1000 0 57200.00 0 : nmd1 nmd2 iter_last cpumax ifstop < 1 1 : waymix mix_what < 0 1 0.10 : iter_start kbxmix mix_alpha --- > 200 1000 0 57200.00 0 : nmd1 nmd2 iter_last cpumax ifstop > 6 1 : waymix mix_what > 0 30 0.50 : iter_start kbxmix mix_alpha 28c28 < 0.0010 1.00D+03 0 : width forccr istress --- > 0.0010 1.00D-03 0 : width forccr istress