例として、図 74にグラフェンのベリー曲率を示します。 ベリー曲率の大きさの絶対値はバンドギャップの逆数の平方におおよそ比例するので、 スピン軌道相互作用を考慮すれば 重いディラック点が出現するK点とK'点の周辺に大きなベリー曲率が出現します。 ディレクトリ「work」に収容された入力ファイル「Graphene-Chern.dat」を用いて、 計算の手続きを以下に説明します。
SCF計算
ディレクトリ「work」に収容された入力ファイル「Graphene-Chern.dat」を用いてグラフェンに対してSCF計算を実行します。
キーワード「HS.fileout」を以下のように「on」に設定します。
HS.fileout on #on|off, default=offSCF計算が正常に終了すると、出力ファイル「Graphene-Chern.scfout」が得られます。
チャーン数とベリー曲率の計算
次に、ポストプロセスコード「calB」を用いてチャーン数とベリー曲率の計算に進みます。
ディレクトリ「source」に移動し、コード「calB」のコンパイルを以下の様に実行します。
% make calBコンパイルが正常に完了するとディレクトリ「work」内に実行ファイル「calB」が生成されます。 次に、ディレクトリ「work」に移動して、以下のように「calB」を実行します。
% ./calB graphene.scfout or % ./calB graphene.scfout < calB.in > calB.out or % mpirun -np 4 ./calB graphene.scfout < calB.in > calB.out
calBのパラメタ
以下の内容を持つ入力ファイル「calB.in」を用意します。
1 0 0 0 1 100 100各パラメータの意味を以下に説明します。
出力ファイル
「calB」の計算の後に以下のファイルが生成されます。
計算で得られたベリー曲率とチャーン数がこのファイルに記録します。 ここでファイル名のBerryCの前の「*」は含まれるバンドの数です。 グラフェンの例では「*」は「8」です。 ベリー曲率の単位はÅです。 グラフェンの例における「BerryC8.dat」の一部を以下に示します。
#Mesh Number:100*100 #Band Number:8 #ChernNumber = 0.000000 #k1 k2 F (ang-2) 0.005000 0.005000 -1.59799534e-05 0.015000 0.005000 1.94455630e-05 0.025000 0.005000 3.58476883e-05 .... ..以下のようにGnuplotを用いてデータを可視化できます。
% splot "BerryC8.dat" w l図74は平面でのベリー曲率を示します。
このファイルは入力ファイルのコピーです。 これはSCF計算に用いられたもので、scfoutファイルから再構築されました。