*Crystal Orbital Overlap Population (COOP) [#m656b473] -吸着系における電荷の解析(Mulliken電荷解析の結晶(吸着)系への拡張) **HOWTO [#nac8d788] -古いバージョンの場合(5.3.0以前) --ソースファイルの変更(main.f90) --pdos_coop.f90のパラメータを計算した系に合わせて変更する。 --プログラムの再コンパイル --ICOND=16にして実行 -最近のバージョン(5.3.1以降) --計算に必要なファイルの準備(STATEの実行) ---zaj.data:吸着系の波動関数(例 : CO/Pt(111)) ---zak1.data:吸着子の波動関数(例 : CO ) ---zak2.data :今のバージョンでは二種類の吸着子(共吸着系)を考慮できる。~ 二種類目の吸着子があれば計算し、波動関数をzak2.dataとリネームする。 ---zak3.data:基板金属の波動関数(例 : Pt(111) )~ 上記の波動関数のデータを吸着系と孤立系について個別にSTATEを実行して生成する。~ このとき、孤立系(吸着子、基板金属)のユニットセル、k点、カットオフエネルギーは 吸着系と同じになるように注意する。~ さらにバンド数NEGについて、~ NEG(zaj.data) = NEG(zak1.data) + NEG(zak2.data)+NEG(zak3.data)、~ となる必要がある。すなわち、孤立系のバンドの和が吸着系のものと一致していないといけない。~ ~ ---eko.data:吸着系の固有値やFermiエネルギーを記述したデータ。~ フォーマットは以下の通り~ 1行目:Fermi energy~ (以下、k点の数だけ繰り返し)~ 2行目:k点のインデックス、Gベクトルの数、k点、k点の重み~ 3行目:固有値~ ...~ ~ (以下、eko.dataに関するコメント) zaj.dataを出力した同計算のnfoutより FERMI LEVEL以下からOCCUPATIONまでの数値(k点の値や重み、EIGEN VALUEなど)を各k点ごとに抜き出したデータ。EIGEN VALUEなどの数値のない行は詰める。~ 例: NKP= 3 NGP= 22102 K=( 0.19421 0.00000 0.00000) WKP= 0.0625~ → 3 22102 0.19421 0.00000 0.00000 0.0625 ~ ~ rafiki:/home/hamada/STATE/tools/state2eg.pl というスクリプトを作りました。STATEの出力ファイルからeko.dataを作成することが可能です。~ 使用例:~ state2eg.pl nfout_1 > eko.data~ --nfcoop.data : 参照 subroutine pdos_coop3 @ pdos_coop.f90 kspin !データは用いられていないかも knv3 !データは用いられていないかも npdosmo1, kpdosmo1, katm_1, klmta_1 ! 1番目の吸着子 npdosmo2, kpdosmo2, katm_2, klmta_2 ! 2番目の吸着子がない場合は 0 0 0 0 を入力する npdosmo3, kpdosmo3, katm_3, klmta_3 ! 基板 epdos(1), epdos(2), epdos(3), npdose ! DOSのEnergyの下限, 上限, Gaussianによるピークのぼかし幅, Energyのグリッド数 1行目:~ kspin:スピンの種類:1:非磁性、2:磁性~ 2行目:~ knv3:k点の数~ 3-5行目:~ npdosmoX(X=1,2,3):coop_analysisで使用する波動関数のバンド数~ kpdosmoX(X=1,2,3): 波動関数のバンドの次元(最大次元)~ katm_X(X=1,2,3):各系(吸着系、孤立系)における原子数~ klmta_X(X=1,2,3):ノンローカルポテンシャルの角運動量成分の数と原子数のインデックスの総和。~ 各系における計算での出力ファイルからklmtaを探し記入すること。 ~ epdos(1:3):計算する状態密度のエネルギーの下限と上限、Gaussianのぼかしの幅、エネルギーのグリッドの数~ (comment)~ nfcoop.dataはSTATEの計算とCOOP analysisの計算の両方で使用できるように設計されています。~ npdosmo*はCOOP解析で用いる分子軌道の数、kpdosmo*は分子軌道の数の上限、即ち、プログラムでの配列の次元を指定するパラメータになります。ですから~ npdosmo* < kpdosmo*~ となります。~ COOPの解析は吸着系の波動関数を吸着子と基板の分子軌道の線形結合で表現し軌道の結合状態とpopulationの計算を行うものです。従ってSTATEの計算で求めた分子軌道が多すぎる場合にはovercompletenessの問題が生じます。その問題はnpdosmo*を減らすことにより解消できます。~ ~ --Overlapの計算 ---ICOND=17にして再度STATEを実行~ この際CPU数は必ず1にすること!!!!!!!!!! --出力ファイル:coop_sij.data, coop_bij.data --coop analysisの実行 ---Input files : nfcoop.data, coop_sij.data, coop_bij.data~ ---実行~ %> coop_analysis > coop.out~ ----後処理 ----解析 **NOTE [#gd4ea20a] -古いバージョンでは無理でしたが、最新版のSTATEではCOOPは並列化されています。濱田にバージョンを確認して下さい。 **WARNING [#ed9c0a57] -COOP解析の前のSCF計算には必ずDavidson法を使って下さい。RMMを使用する際にはかならず非局所ポテンシャルを逆格子空間で取り扱うようにして下さい。~ (pdos_coop*は実空間の射影に対応していません) **Reference [#y8fa79f7] -R. Hoffmann, Rev. Mod. Phys. 60, 601 (1988). -H. Aizawa and S. Tsuneyuki, Surf. Sci. 399, L364 (1998). ---- 更新履歴 -2007-10-11 (木) 17:57:02 I. Hamada (comment) -2007-10-07 (金) 18:35:00 N.Mitsuda (nfcoop.dataについて、加筆修正) -2007-09-11 (火) 17:10:21 S. Yanagisawa (若干、加筆訂正) -2007-09-05 (水) 17:06:49 I. Hamada (misc. modif.) -2007-08-31 (金) 18:12:00 N.Mitsuda (柳澤さんから教えていただいた説明の追加) -2006-11-29 (水) 12:22:11 I. Hamada (created)