地域密着型エリア広告配信リクルートの地域密着型広告ドコイク?アドネットワーク Ads by ドコイク?[無料でホームページを作成] [通報・削除依頼]
[無料でホームページを作成] [通報・削除依頼]

ABINIT(光触媒研究用)

--------------------------------------------------------------------------------
■ ABINITでの入力ファイルのQ&A
  http://herschel.dsf.unica.it/cgi-bin/dwww//usr/share/doc/abinit-doc/users/FAQ.html 
Tutrial:
  http://www.abinit.org/documentation/helpfiles/for-v6.10/tutorial/welcome.html 
Input Variables: 下記のHPから使用しているvarsion を選択して調べる。
  http://www.abinit.org/documentation/input-variables 
Community: 下記のHPでのAbinit Forum や Mailing Lists も調べてみるとよい。
  http://www.abinit.org/community 
http://pitp.physics.ubc.ca/confs/sherbrooke/archives/pitpcifar_sherbrooke2008_dft_abinit_gonze.pdf
--------------------------------------------------------------------------------
2 Ry = 1 Hartree = 27.2113845 eV
1 bohr = 1 a.u. = 0.05291772108 nm
--------------------------------------------------------------------------------
■ 元素置換した試料の評価方法
  1) VESTA + cif2cell にて 元素置換した構造を作成
  2) cif2cell で足りない部分を追加(構造最適化に関する Variable を追加)
  3) case.out または case.log で、認識された空間群とVariableの設定状況の確認
  4) 状態密度分布(DOS)
  5) バンド図
  6) GW近似でのギャップの評価
  7) その他の評価
--------------------------------------------------------------------------------
1) VESTA + cif2cell にて 元素置換した構造の作成
--------------------------------------------------------------------------------
cif2cell の使用方法
a) ABINIT: ciff2cell -p abinit -f SrTiO3.cif -o SrTiO3.in
b) CASTEP: ciff2cell -p castep -f SrTiO3.cif -o SrTiO3.cell
※ cif2cell -h でヘルプを表示。
※ conventional unit cell の場合: --no-reduce を最後に付ける。
学習(学生向け):
  http://www.geocities.jp/gchembio/kb2/pdf/2011_kb2_lecture_2.pdf
※ ファイル名を変える場合: -o 別のファイル名
※ cifs 中に 動作テスト用の cif ファイルが入れられている。
※ cif 形式でも受け付けないことがあるので、VESTAに入れて cif 形式で書き出すとよい。

□ スーパーセルを作成する場合1
1) VESTA に構造を入力させる。(cif データを読み取らせてもよい)
2) 「Objects」→「Bounary...」→「Ranges of fractional coordinates」で拡張させたい倍率を入力。
3) 「Edit Data」→「Structure parameter」→「Remove duplicate atoms」
4) 「File」→「Export Data...」→右下を「xtl file(*.xtl)」にしてSAVE。
5) Excel, OpneOffice Calc, Liveroffice Calc で xlt ファイルを開く。
Liveroffice Calc: Liveroffice Calc を開いて、xlt ファイルをドラッグして入れる。
Fixed width などで区切る。(もっとよい方法も模索中)
6) 右側の空いている列にNAME の列をコピーして、後はその右側を下記のようにして、X, Y, Z を計算する。
7) a, b, c に対応する座標において、「Ranges of fractional coordinates」で拡張させた倍率だけ、各原子の座標を割る。
8) 元のファイルにNAMEからEOFの前までをコピー&ペーストする。
9) VESTAで取り込み、a, b. c はそのままの値なので、「Ranges of fractional coordinates」で拡張させた倍率を掛けた値を入力する。
10) cif 形式で保存する。
11) ciff2cell -p abinit -f SrTiO3.cif -o SrTiO3.in
参考:http://www.mail-archive.com/siesta-l@uam.es/msg02999.html

□ スーパーセルを作成する場合2
1) cif2cell -p castep -f SrTiO3.cif -o SrTiO3.cell --supercell=2,1,1
2) SrTiO3.cell を VESTA に入れて 同じ名称で cif ファイル形式で保存。
VESTAでの手順:「VESTA」→「SrTiO3.cellファイルを画面の中に入れる」→上の欄にある「File」→「Export Data...」→「Browse for other folders」→「Nameにファイル名を入力」→「Plasesなどから保存したい場所を選択」→「右下を CIF File (*.cif)にする」→「SAVE」
3) cif2cell -p castep -f SrTiO3.cif -o SrTiO3.cell --supercell=1,2,1
4) SrTiO3.cell を VESTA に入れて 同じ名称で cif ファイル形式で保存。
VESTAでの手順:上記 2) と同様。
5) cif2cell -p castep -f SrTiO3.cif -o SrTiO3.cell --supercell=1,1,2
6) SrTiO3.cell を VESTA に入れて 同じ名称で cif ファイル形式で保存。
ドープした系を作る場合:上の欄にある「Edit」→「Edit Data」→「Structure Parametars...」→「Structure Parametars」→「下の欄にある NoAtom から置換したい場所の原子を選択」→「Symbol... を押して置換する元素名を選択」→「Labelも元素名にする」→「Apply を押して画面を確認」→問題が無ければ「OK」→「Cif 形式で保存」
7) cif2cell -p abinit -f SrTiO3.cif -o SrTiO3.in

※ 6) でのcif形式での保存は上記2)と同じ。」(「File」→「Export Data...」→「Browse for other folders」→「Nameにファイル名を入力」→「Plasesなどから保存したい場所を選択」→「右下を CIF File (*.cif)にする」→「SAVE」)

-------------------------------------------------------------------------------
2) cif2cell で足りない部分を追加(構造最適化に関する Variable を追加)
--------------------------------------------------------------------------------
  case.files
  --------------------------------------------------
  case.in
  case.out
  casei
  caseo
  case
  ../Psps_for_tests/paw/sr_ps.abinit.paw
  ../Psps_for_tests/paw/ti_ps.abinit.paw
  ../Psps_for_tests/paw/o_ps.abinit.paw 
  --------------------------------------------------

構造最適化
   x, y, z 方向とも同じ構造になる場合に、optcell 1 を選択。それ以外は、optcell 2 にする。
   PWscf で擬ポテンシャルが無い場合、下記のようにABINIT での構造最適化を検討してみるのもよい。
case.in
-------------------------------------------------
  ###################################
  #Define the methodology to find the minimum
  ionmov 3 # Use the modified Broyden algorithm
  ntime 10 # Maximum number of Broyden "timesteps"
  #tolmxf 5.0d-5 # Stopping criterion for the geometry optimization : when
  # the residual forces are less than tolmxf, the Broyden 
  # algorithm can stop

  toldff 5.0d-6 # Will stop the SCF cycle when, twice in a row, 
  optcell 1 # 1:length only, 2: full optimize
  ecutsm 0.5 # Variable での解説にある推奨値
  dilatmx 1.1 # Variable での解説にある値

  nsym 1 # P1 structure

  #Unit cell
  acell 7.38 7.38 7.38 # bohr
  chkprim 0 # 0: do not check if uc primitive
  rprim 1.00 0.00 0.00
  0.00 1.00 0.00
  0.00 0.00 1.00

  #Definition of the atom types
  ntypat 3
  znucl 38 22 8

  #Definition of the atoms
  natom 5
  typat 1 2 3 3 3 # Sr Ti O O O
  xred
  0.0 0.0 0.0
  0.5 0.5 0.5
  0.5 0.5 0.0
  0.5 0.0 0.5
  0.0 0.5 0.5

  ixc 11 # GGA + PBE

  # SO calculation
  #nspinor 2 # nspinor 2 nsppol 1

  #Spin polarizatin
  nsppol 2 #1 unpolarized / 2 polarized
  spinat 0.0 0.0 0.0
  0.0 0.0 0.0
  0.0 0.0 0.0
  0.0 0.0 0.0
  0.0 0.0 0.0

  # smearing
  occopt 7
  tsmear 0.005

  ecut 30.0 # cutoff energy

  # add PAW calculation
  pawecutdg 60 # pawecutdg > 2*ecut 

  #Definition of the k-point grid
  kptopt 1 # 1: automatic generation of k points
  ngkpt 3 3 3 # n x n x n # recommend ngkpt 6 6 6
--------------------------------------------------
  計算の実行は、abinit < case.files > case.log となる。 

--------------------------------------------------------------------------------
3) case.out または case.log で、認識された空間群とVariableの設定状況の確認
--------------------------------------------------------------------------------
  入力された Variable の確認(下記の2通りの方法がある)
  A) case. out で下記を確認
    1) Symmetries : space group 空間群 (# 空間群の番号)を調べる。
    2) Values of the parameters that define the memory need of the present rum
      直ぐ下にある This job should need less than の後の使用メモリも見ておくと良いだろう。
    3) -outvars: echo values of preprocessed input variables ------
    4) 以上で自動で設定された値も含めて、入力された variable の値が分かる。
     目的のものと違っていた場合は、case.in に書き入れる。
    5) 上記になかった variable は ctrl + F で検索して、どのように使われているか調べる。
  B ) case.log での下記を確認
    1) symspgr : spgroup= で空間群の番号を調べる。
    2) Values of the parameters that define the memory need of the present rum
      直ぐ下にある This job should need less than の後の使用メモリも見ておくと良いだろう。
    3) -outvars: echo values of preprocessed input variables ------ 
    4) 以上で自動で設定された値も含めて、入力された variable の値が分かる。
      目的のものと違っていた場合は、case.in に書き入れる。
    5) 上記になかった variable は ctrl + F で検索して、どのように使われているか調べる。
  ※ mband = nband * nsppol
※ Fermi energy は case.out に記載されている。

--------------------------------------------------------------------------------
4) DOSを描く
--------------------------------------------------------------------------------
  dos.files
--------------------------------------------------
dos.in
  dos.out
  caseo
  doso
  dos
  ../Psps_for_tests/paw/sr_ps.abinit.paw
  ../Psps_for_tests/paw/ti_ps.abinit.paw
  ../Psps_for_tests/paw/o_ps.abinit.paw 
  --------------------------------------------------

  dos.in
-------------------------------------------------
  ###################################
  iscf -2 # non self-consistent
  #Output of the total DOS
  prtdos 1
  #Output of the projected DOS (with PAW contribs)
  #prtdos 3 pawprtdos 0
  
  #nband 21 # number of bands o calc.
  tolwfr 1.0e-10 # wf tolerance
  # toldfe 1.0d-6
 
  #I/O parameters
  # optforces 2 optstress 1
  # prtwf 0 prtden 0 prteig 0

  nsym 1 # P1 structure

  #Unit cell
  acell 7.4108331914E+00 7.4108331914E+00 7.4108331914E+00 Bohr
  chkprim 0 # 0: do not check if uc primitive
  # rprim は case.log にある最後の値をコピー&ペースト
  rprim 1.00 0.00 0.00
  0.00 1.00 0.00
  0.00 0.00 1.00

  #Definition of the atom types
  ntypat 3
  znucl 38 22 8

  #Definition of the atoms
  natom 5
  typat 1 2 3 3 3 # Sr Ti O O O
  # xred は case.log にある最後の値をコピー&ペースト
  xred 3.0338335679E-08 -5.3596711116E-08 -2.3908866932E-08
  5.0000001341E-01 5.0000002713E-01 4.9999999277E-01
  4.9999997563E-01 5.0000001005E-01 7.0166820848E-10
  4.9999996407E-01 -2.1093385364E-08 5.0000001187E-01
  1.6551856110E-08 5.0000003751E-01 5.0000001857E-01

  ixc 11 # GGA + PBE

  #Spin polarizatin
  nsppol 2 #1 unpolarized / 2 polarized
  #spinat 0.0 0.0 0.0
  # 0.0 0.0 0.0
  # 0.0 0.0 0.0
  # 0.0 0.0 0.0
  # 0.0 0.0 0.0

  # smearing
  occopt 7
  tsmear 0.005
  
  ecut 30.0 # cutoff energy

  # add PAW calculation
  pawecutdg 60 # pawecutdg > 2*ecut

  #Definition of the k-point grid
  kptopt 1 # 1: automatic generation of k points
  ngkpt 3 3 3 # n x n x n, recommend ngkpt 6 6 6
  
  # ngfft と ngfftdg は case.log にある最後の値をコピー&ペースト
  ngfft 45 45 45
  ngfftdg 60 60 60
  --------------------------------------------------
  計算の実行は、abinit < dos.files > dos.log となる。
  ※ 上記で得られた DOS を igor などでグラフにし、 EF の値を書き込む。さらに、1 Hartree = 27.2113845 eV なので、energy の欄を 27.2113845 にして、eV 単位に変える。
  ※ 状態密度分布の形状が気に入らなければ、SCF計算時でのk点数を増やしたり、dos の計算時に occopt やtsmear の値を変えてみたりする。

--------------------------------------------------------------------------------
5) バンド図を描く
--------------------------------------------------------------------------------
6) GW近似でのギャップの評価
--------------------------------------------------------------------------------
7) その他の評価
--------------------------------------------------------------------------------
アクセス数
ページビュー数