*STATE-Senri [#o8d6bfa0] Simulation Tool for Atom TEchnology // Thank you for visiting us. Access Number (today/total)= &counter(today); / &counter; #contents **STATEとは [#t3758201] STATE (Simulation Tool for Atom TEchnology)は密度汎関数法に基づく、ノルム保存/ウルトラソフト擬ポテンシャル、平面波基底を用いた第一原理計算パッケージです。STATEを用いて以下のような計算が可能です。 -電子状態の最適化 --Davidson法 --DIIS (Direct Inversion in Iterative subspace)法 -電子状態解析 --状態密度、部分状態密度、局所状態密度 --バンド構造 --Crystal orbital overlap population --STMシミュレーション -構造最適化 --Quenched Molecular dynamics法 --Generalized Direct Inversion in Iterative Subspace (GDIIS)法 -反応経路探索 --Nudged Elastic Band (NEB) 法 --Climbing Image nudged elastic band (CINEB) 法 -分子動力学 --NVE ensemble --NVT ensemble (velocity-scaling,Nose-Hoover) -自由エネルギーサンプリング --Blue moon ensemble --Metadynamics -非局所ポテンシャルの実空間での取り扱い(King-Smith, et al.) -Neugebauer+Schefflerによる電場(双極子)補正 -有効遮蔽媒質 (Effective Screening Medium: ESM) 法により高精度なスラブ計算とバイアス印加下でのスラブ計算 k点はMonkhorst-Packまたは通常のガンマ点を含む一様なメッシュ上で生成することが可能で、Brillouine zone積分にはスメアリング法(Fermi-Dirac、Hermite-Gaussian)あるいは(修正)四面体法を用いることができます。 STATEはf90で書かれておりMPIを用いて並列化されています。最新バージョンではOpenMPを用いたハイブリッド並列化も行われています。 **バージョン [#q0ac0d80] - 5.6.1 **[[コンパイル方法>計算コードの使い方/STATE/コンパイル]] [#k0b8c35c] コンパイルにはfortran90コンパイラとMPI,lapack,FFTW3(あるいは環境に応じたFFTライブラリ)が必要です。またバージョンによりコンパイルの方法(Makefile)が異なるので注意が必要です。 -[[5.6.1>計算コードの使い方/STATE/コンパイル/5.6.1]] -[[5.6.3>計算コードの使い方/STATE/コンパイル/5.6.3]] // **How to STATE (0)Dependence on computer systems [#wd8f20fe] // - [[Hello STATE>計算コードの使い方/STATE/centers]] **実行方法[#ra14171b] - 先ず擬ポテンシャルを所定の場所よりコピーあるいはダウンロードします。今CO分子を例とし、ソースディレクトリを /home/hamada/STATE/src/STATE_5.6.1 擬ポテンシャルのディレクトリを以下 /home/hamada/STATE/gncpp CとOの擬ポテンシャルをそれぞれpot_C_pbe1、pot_O_pbe1とします。ワーキングディレクトリにおいて ln -s /home/hamada/STATE/src/STATE_5.6.1/STATE および ln -s /home/hamada/STATE/gncpp/pot_C_pbe1 fort.37 ln -s /home/hamada/STATE/gncpp/pot_O_pbe1 fort.38 を実行します。STATEおよび擬ポテンシャルの場所は自分の環境に合わせて適切に指定しましょう。 次にCO分子の計算のための入力ファイルをnfinp_1(以下の計算例を参照)、出力ファイルをnfout_1として mpirun -np 2 STATE < nfinp_1 > nfout_1 を実行します。ここで"-np 2"の2は使用するプロセッサーの数であり、"mpirun -np 2"のコマンドは環境によって異なります。 **計算例 [#k753e388] - [[CO分子>計算コードの使い方/STATE/CO molecule]] - [[シリコン>計算コードの使い方/STATE/Si]] - [[バンド計算>/計算コードの使い方/STATE/BandStructure]] - 表面吸着系 - [[分子動力学シミュレーション>計算コードの使い方/STATE/Molecular dynamics]] - [[双極子補正>計算コードの使い方/STATE/Dipole correction]] - [[LDA+U>計算コードの使い方/STATE/TiO2 with LDA+U]] - [[Nudged Elastic Band法による反応経路探索>計算コードの使い方/STATE/NEB]] - [[拘束条件下での構造最適化とポテンシャルエネルギー表面>計算コードの使い方/STATE/PES]] - [[有効遮蔽媒質 (ESM)法によるスラブ計算>ESM]] - [[帯電した系の計算>計算コードの使い方/STATE/ChargedSystem]] - [[半経験的van der Waals補正法>計算コードの使い方/STATE/vanderWaals]] - [[SCF van der Waals密度汎関数>Self-consistent vdW-DFの使い方]] ** 解析方法 [#tee7f8dc] -[[分子動力学計算結果等のアニメーション化>計算コードの使い方/STATE/原子構造のアニメーション化]] -[[実空間での電荷密度/波動関数の表示>計算コードの使い方/STATE/plot]] -Atomic Orbital (AO) projected Density Of States (PDOS) (AO_LDOS, or PDOS) -[[Bader解析>計算コードの使い方/STATE/AIM]] -[[振動解析>計算コードの使い方/STATE/Vibration]] -[[Crystal Orbital Overlap Population (COOP)>計算コードの使い方/STATE/COOP]] -[[バンド計算>計算コードの使い方/STATE/BandStructure]] -[[K-integrated AOLDOS >計算コードの使い方/STATE/AOLDOS]] -[[K-resolved layer DOS (ALDOS_K) >計算コードの使い方/STATE/ALDOS_k]] -[[k-resolved PDOS on to AO (COOP_K) >計算コードの使い方/STATE/COOP_k]] -[[k-resolved AOLDOS on to AO (AOLDOS_K) >計算コードの使い方/STATE/AOLDOS_k]] -[[動径分布関数の集計 >動径分布関数の統計的集計]] -[[STMの計算方法 >STM]] **ユーティリティ [#oad6bc99] - chkinpf: 入力ファイルをチェックしてXSF形式のファイルを出力するプログラム(f90コンパイラが必要)~ 使用例: chkinpf nfinp_1 - state2*.pl, state2*.sh STATEの出力ファイルから構造やポテンシャルを取り出すperlとshで書かれたスクリプト群 -- state2xsf.pl, state2axsf: XCrySDen形式の構造データ(xsf)とアニメーション用データ(axsf)をSTATEの出力から取り出すスクリプトです。~ 使用例: state2xsf.pl nfout_1 > nfout_1.xsf -- state2xyz.pl, state2axyz: XMOL XYZ形式の構造データを取り出すスクリプトです。使用法は上と同じです。 -- ChargeUtil: STATEで出力された電荷密度をXSFなどのフォーマットに変換するためのfortraで書かれたプログラム群です。 -- CubeUtil: Gaussian cube形式のファイルを操作するプログラム群です。 -- state2pdos.pl: STATEで計算したPDOSを各原子ごとに取り出すperlスクリプト。花岡くん(草部グループ)作。~ オリジナルのソースはstate_pdos.plです。機能を強化予定です。 得られた構造データはXCrySDenやVMDで可視化することが可能です。~ スクリプト群は~ smith:~hamada/STATE/tools以下に置いてあります。~ (web上にこれらのツールをアップデートする予定) -- chg2xsf_2d_3d: chg2xsfに、少し機能を付け足したもの。STATEからのnfchgt_r.dataを実空間3次元可視化する(chg2xsf)のと、スラブ平行方向(x,y)の各点で等電荷密度面を計算し、2次元可視化する。STM像の解析に有用かもしれない。インプットとしてnfchgt_r.dataに加えて、stmset.data(真空準位のエネルギーと、等電荷密度面をプロットする値を含む)が必要。~ ** ファイルフォーマット [#rd4608ac] --[[ファイルフォーマット>計算コードの使い方/STATE/format]] --[[フォートラン I/O>計算コードの使い方/STATE/io]] // **Downloads [#c36aaaaa] // --[[資料のダウンロード>計算コードの使い方/STATE/資料のダウンロード]] **TODO [#n0da7ef6] -Manual --印刷可能版の作成 --英語版の作成 **参考文献 [#da871dae] 密度汎関数理論: - P. Hohenberg and W. Kohn, Phys. Rev. 136, B864 (1964). - W. Kohn and L. J. Sham, Phys. Rev. 140, A1133 (1965). Ultrasoft pseudopotential法に関して: - D. Vanderbilt, Phys. Rev. B41, 7892 (1990). - A. Pasquarello, et al., Phys. Rev. Lett. 69, 1982 (1992). - K. Lassonone, et al., Phys. Rev. B47, 10142 (1993). STATEにimplementされているiterative diagonalizationの方法に関しては - G. Kresse and J. Furthmuller, Phys. Rev. B54, 11169 (1996). - G. Kresse and J. Furthmuller, Comp. Mat. Sci. 6. 15 (1996). と、ここで引用されている論文を読むと良いでしょう。 Kresse&Furthmuller論文で引用されていますが、Davidson法、DIIS法に関するoriginalの論文が以下です。 - E.R. Davidson, J. Comp. Phys. 17. 87 (1975). - D. M. Wood and A. Zunger, J. Phys. A: Math. Gen. 18, 1343 (1985). 非局所ポテンシャルの実空間での実装に関して: -R. D. King-Smith, et al., Phys. Rev. B44, 13063 (1991). k点サンプリングに関して: - H. J. Monkhorst and J. D. Pack, Phys. Rev. B13, 5188 (1976). 双極子補正 - J. Neugebauer and M. Scheffler, Phys. Rev. B 46, 16067 (1992). - L. Bengtsson, Phys. Rev. B 59, 12301 (1999) ESM法 - M. Otani, O. Sugino, Phys. Rev. B 73, 115407 (2006) - I. Hamada, M. Otani, O. Sugino, Y. Morikawa, Phys. Rev. B 80, 165411 (2009) **連絡先 [#a5359853] 不具合等ありましたら下記メールアドレスまでご連絡ください。(下記アドレスの@は日本語文字なので注意) --state_admin@cp.prec.eng.osaka-u.ac.jp