デフォルトのファイルは、下記のようになっている。
シェル変数の部分は、上位のスクリプトで定義されている。
iatpfl
に1が入っている場合にのみ、このファイルは有効であり、
cpvo.sh
でiatpfl=0
と指定している場合は、このファイルの編集は
行なわなくてよい。
cp ${srcdir}/atp.x ${rundir} cp ${srcdir}/molatp.x ${rundir} ${rundir}/atp.x > ${rundir}/atp0 << end ${iatpfl} ${ibrav} ${cdm1} ${cdm2} ${cdm3} ${cdm4} ${cdm5} ${cdm6} 1 NSP 2 NA(IS) 0.0 0.0 0.0 TAU0(3,IA,IS) 0.25 0.25 0.25 0 IFMOL 0 IFSPG end if test ${ifmol0} = 0 then exit fi cat > ${rundir}/molatp0 << end 2 NATM 1 0.0 0.0 -1.151690000000000E+00 ISP DTAU0(3,IA,IS) 1 0.0 0.0 1.151690000000000E+00 end if test ${ifmol0} = 1 then ${rundir}/molatp.x > ${rundir}/atp1 << end ${rundir}/atp0 ${rundir}/molatp0 1 NSP 2 NA(IS) end mv ${rundir}/atp0 ${rundir}/atp3 cp ${rundir}/atp1 ${rundir}/atp0 fi exit前半部分の
IFMOL
には常に、0を与える。
IFSPG
は、0または1を与える。1のときは、ファイルspg0
から空間群に生成元を読み込んで、結晶の対称性を反映させた場所に原子が
置かれていないときにはその原子の座標と原子数を補って(20)に原子座標を出力し、
cpvo
でその結果を使用する。
後半部分のifmol0=1
に関係する部分は、分子を配置したい場合に用いる
ことができる。
使用する場合は、cpvo.sh
中でifmol0=1
と指定する。
atp.x
の入力で指定した各座標に、分子を配置する。
上記の例では、1番目の原子種の原子で作られる2原子分子を方向に向けて
配置する例である。合計で2分子、4原子の計算をすることになる。
入力座標
DTAU0
は、a.u.単位で入力する。中段のISP
には、原子の種類
番号を指定する。現在は、同一方向に配向した分子を配置する場合だけに
対応している。
下記は、CaSiO(ペロブスカイト型構造)の例である。
この場合
ifmol=1
に関係する部分は必要ないので、削除してある。
${rundir}/atp.x > ${rundir}/atp0 << end ${iatpfl} ${ibrav} ${cdm1} ${cdm2} ${cdm3} ${cdm4} ${cdm5} ${cdm6} 3 NSP 3 NA(IS) 0.0 0.5 0.5 TAU0(3,IA,IS) 0.5 0.0 0.5 0.5 0.5 0.0 1 NA(IS) 0.5 0.5 0.5 TAU0(3,IA,IS) 1 NA(IS) 0.0 0.0 0.0 TAU0(3,IA,IS) end exit原子種が複数ある場合(
NSP
に2以上を指定する場合)は、
上記の例のように、
NA(IS), TAU0(3,IA,IS)
をセットにして
データを作成する。