電子系の収束の後に、状態密度を計算する。状態密度の計算には、四面体法を
用いる。そのために、フェルミ面を計算するときと同様のk点を使用する。
全状態密度、原子に付随する軌道角運動量量子数で分類した成分()を
計算する。途中の計算データとして
prjao
を作成し、そのファイルを
読み込んで、caldos.x
にて状態密度を計算する。
GNUPLOTに対する入力データを出力する。(項目6.1.3参照)
MK1,MK2,MK3
nopartial
ex_eig.sh
では、1を指定する。項目1.3.8参照)
cnt, natm
cnt=1
とし、炭素原子数をnatm
に指定する。フェルミ準位付近
のDOSがゼロとならないように補正する。
上記の場合以外は、cnt=0
とする。
isymfs
jtetra
jupdw, iupsta0, nupsta0, idwsta0, ndwsta0
jupdw
に1を指定する。0を指定すると
電子系の収束で用いたすべてのバンドに対して、状態密度を計算する。
状態密度を計算する始まりバンド指数iupsta0
と
バンドの本数nupsta0
を指定する。
NSPIN=2
の場合は、ダウンスピンに対しても
idwsta0, ndwsta0
に同様に指定する。
それ以外の場合(NSPIN=1,4
)は、それぞれ0としておく。
ダウンスピンの始まりidwsta0
は、ダウンスピンの始まりから
数えたバンドの番号を指定する。
NSPIN=2
で、
アップスピンの軌道とダウンスピンの軌道がそれぞれ10個および12個合計
22個のKS軌道を計算しているときに、全ての軌道の状態密度を計算する場合、
iupsta0=1
, nupsta0=10
, idwsta0=1
,
ndwsta0=12
の数値を指定する。
einit, efin, edel, ewth
einit
とefin
には、計算するエネルギー状態密度のエネルギー
範囲を始まりと終りをeV単位で指定する。
edel
には、エネルギーに対するデータの刻幅を指定する。
ewth
には、ガウス型関数の幅をeV単位で指定する。
NPDOS, ISPDOS, NAPDOS, IA1,IA2,..
NPDOS
には、状態密度の本数を指定し、ISPDOS
に原子の種類を
指定し、NAPDOS
には原子の個数を指定し、IA1,IA2,..
には、
その個数分の番号を指定する。
jobstart
prjao
が計算されている場合は、
jobstart
に対して
echo '0' > jobstart
として計算を行うことにより、状態密度だけを
再計算
caldos.x
)することができる。
prjao
について
echo '1' > jobstart
として計算を行なうと、
バンドの固有値と部分状態密度を計算するためのLM成分が書き込まれる。
prjao
を作る計算は、少し大きな系になると、計算時間が非常に
かかる。