Skip to the content.

原子空孔を入れた計算

概要

AkaiKKRでの計算において、稠密構造でなくて原子のいない大きな領域が残っている場合にはそこに原子空孔を置く必要がある。AkaiKKRには原子空孔の位置が自動で得られるモードが実装されており、結晶構造が複雑で自分でインプットファイルを編集することが難しい状況でもソフトウェアの支援を受けることができる。本稿ではこの”vc”(Vacancy)モードの使い方とその出力、その結果を利用し作成したinputでの原子空孔を含んだ計算について解説する。

サンプル

“vc”モードを行うサンプルファイル”in/cos2_vc”は以下となる。計算モードに”vc”を指定する。

vc  data/cos2
 sc  10.80 1.0 1.0, , , ,
 0.001 2.0 nrl mjw mag 2nd
 update 2 100 0.022
 2
 Co  1 0 0 2  27 100
 S   1 0 0 2  16 100
 12
  0.00000 0.00000 0.00000  Co
  0.00000 0.50000 0.50000  Co
  0.50000 0.00000 0.50000  Co
  0.50000 0.50000 0.00000  Co
  0.39100 0.39100 0.39100  S
  -.39100 -.39100 -.39100  S
  0.89100 0.10900 -.39100  S
  0.10900 0.89100 0.39100  S
  -.39100 0.89100 0.10900  S
  0.39100 0.10900 0.89100  S
  0.10900 -.39100 0.89100  S
  0.89100 0.39100 0.10900  S

計算の実行は以下で行える。

$ ./specx < in/cos2_vc > out/cos2_vc

実行すると原子空孔位置の候補の一覧が表示される。

   Possible vacancy positions

   #     radius                  position                id
   -------------------------------------------------------------
   1     0.13665   0.2013306a   0.2986694b   0.0761061c  Vc8
   2     0.13665   0.7013306a   0.2013306b   0.9238939c  Vc8
   3     0.13665   0.7986694a   0.7986694b   0.4238939c  Vc8
   4     0.13665   0.2986694a   0.7013306b   0.5761061c  Vc8
   5     0.13665   0.0761061a   0.2013306b   0.2986694c  Vc8
   6     0.13665   0.7986694a   0.4238939b   0.7986694c  Vc8
   7     0.13665   0.2013306a   0.9238939b   0.7013306c  Vc8
   8     0.13665   0.4238939a   0.7986694b   0.7986694c  Vc8
   9     0.13665   0.2986694a   0.0761061b   0.2013306c  Vc8
  10     0.13665   0.9238939a   0.7013306b   0.2013306c  Vc8
  11     0.13665   0.5761061a   0.2986694b   0.7013306c  Vc8
  12     0.13665   0.7013306a   0.5761061b   0.2986694c  Vc8
  13     0.13665   0.7986694a   0.7013306b   0.9238939c  Vc8
  14     0.13665   0.2986694a   0.7986694b   0.0761061c  Vc8
  15     0.13665   0.2013306a   0.2013306b   0.5761061c  Vc8
  16     0.13665   0.7013306a   0.2986694b   0.4238939c  Vc8
  17     0.13665   0.9238939a   0.7986694b   0.7013306c  Vc8
  18     0.13665   0.2013306a   0.5761061b   0.2013306c  Vc8
  19     0.13665   0.7986694a   0.0761061b   0.2986694c  Vc8
  20     0.13665   0.5761061a   0.2013306b   0.2013306c  Vc8
  21     0.13665   0.7013306a   0.9238939b   0.7986694c  Vc8
  22     0.13665   0.0761061a   0.2986694b   0.7986694c  Vc8
  23     0.13665   0.4238939a   0.7013306b   0.2986694c  Vc8
  24     0.13665   0.2986694a   0.4238939b   0.7013306c  Vc8

原子空孔を入れた計算の実行

得られた原子空孔をインプットファイルに追加することで、各種計算が行える。基本的なgoモードでの計算のサンプル”in/cos2”は以下となる。

go  data/cos2
 sc  10.80 1.0 1.0, , , ,
 0.001 2.0 nrl mjw mag 2nd
 update 2 100 0.022
 3
 Co  1 0 0 2  27 100
 S   1 0 0 2  16 100
 Vc  1 0 0 0  0  100
 36
  0.00000 0.00000 0.00000  Co
  0.00000 0.50000 0.50000  Co
  0.50000 0.00000 0.50000  Co
  0.50000 0.50000 0.00000  Co
  0.39100 0.39100 0.39100  S
  -.39100 -.39100 -.39100  S
  0.89100 0.10900 -.39100  S
  0.10900 0.89100 0.39100  S
  -.39100 0.89100 0.10900  S
  0.39100 0.10900 0.89100  S
  0.10900 -.39100 0.89100  S
  0.89100 0.39100 0.10900  S
  0.2013306a   0.2986694b   0.0761061c  Vc
  0.7013306a   0.2013306b   0.9238939c  Vc
  0.7986694a   0.7986694b   0.4238939c  Vc
  0.2986694a   0.7013306b   0.5761061c  Vc
  0.0761061a   0.2013306b   0.2986694c  Vc
  0.7986694a   0.4238939b   0.7986694c  Vc
  0.2013306a   0.9238939b   0.7013306c  Vc
  0.4238939a   0.7986694b   0.7986694c  Vc
  0.2986694a   0.0761061b   0.2013306c  Vc
  0.9238939a   0.7013306b   0.2013306c  Vc
  0.5761061a   0.2986694b   0.7013306c  Vc
  0.7013306a   0.5761061b   0.2986694c  Vc
  0.7986694a   0.7013306b   0.9238939c  Vc
  0.2986694a   0.7986694b   0.0761061c  Vc
  0.2013306a   0.2013306b   0.5761061c  Vc
  0.7013306a   0.2986694b   0.4238939c  Vc
  0.9238939a   0.7986694b   0.7013306c  Vc
  0.2013306a   0.5761061b   0.2013306c  Vc
  0.7986694a   0.0761061b   0.2986694c  Vc
  0.5761061a   0.2013306b   0.2013306c  Vc
  0.7013306a   0.9238939b   0.7986694c  Vc
  0.0761061a   0.2986694b   0.7986694c  Vc
  0.4238939a   0.7013306b   0.2986694c  Vc
  0.2986694a   0.4238939b   0.7013306c  Vc

計算モードはgoモードとしている。原子の種類に空孔Vcを指定するため、ntypは3となっている。そして原子の種類にVcを用意し、最大軌道角運動量(mxl)と原子番号(anclr)を0としている。natmはCo, Sの原子数と原子空孔の数の和である36としている。最後に、vcモードにより得られた空孔位置がCo, Sの原子座標が書かれている個所の後ろに貼り付けられている。

計算の実行は以下で行える。

$ ./specx < in/cos2 > out/cos2

実行すると以下の様に64イタレーションで収束する。

   itr= 63 neu=    0.0000  moment=  3.2071  te= -17392.45054195  err= -5.582
   itr= 64 neu=   -0.0000  moment=  3.2071  te= -17392.45054196  err= -6.214
   interval= 64     cpu time=     92.46 sec
   sdftyp=mjw     reltyp=nrl     dmpc= 0.10000
      Co_4S_8Vc_24
   itr= 64  neu -0.0000  chr,spn  84.0000000   3.2070952  intc,ints 15.4512  0.0076
   rms err= -6.222 -6.858 -6.719 -6.214 -6.861 -6.722

   ef=   0.6726930   0.6725258  def=    18.5548614    88.3365829
   band energy=   24.039482865   total energy= -17392.450541963
   magnetization=   0.2002 T