ecaljで銅のフェルミ面

ecaljでは、ポスト処理としてフェルミ面の描画が可能です。より具体的に言うと、xcrysdenのbxsf形式でフェルミ面のデータファイルの出力が可能です。どちらかというとecaljでフェルミ面のデータを出力するよりもxcrysdenを使うほうが面倒なのですが、今回はそのあたりについて書きます。

Screenshot from 2017-09-22 193A253A51
Fig.1: 銅のフェルミ面



Ubuntuへのxcrysdenのインストール


Ubuntuへxcrysdenをインストールするのは簡単です。apt-getからインストールできます。

sudo apt-get install xcrysden


銅のフェルミ面の計算


ecaljでフェルミ面の計算をするのは極めて簡単で、通常のLDA計算を行った後、ポスト処理として job_fermisurfaceを実行します。今回はテスト計算ということで面心立方構造の銅のフェルミ面を描いて見ます。コントロールファイル ctrl.cu~/ecalj/MATERIAL/CuMLWF からコピーしてきました。LDA計算を含めて全部書くと以下のようになります。

cp ~/ecalj/MATERIAL/CuMLWF/ctrl.cu .
lmfa cu
mpirun -np 2 lmf-MPIK cu
job_fermisurface cu -np 2 10 10 10


最後の行がフェルミ面のデータを出力するポスト処理です。最後の 10 10 10 は計算するk点メッシュの分割数です。今回はテスト計算なので小さめの値にしていますが、実際にはもっと大きな数にしたほうがよいでしょう。
fermiup.bxsf というファイルが出来ているはずです。これがフェルミ面のデータが保存されたファイルです。

xcrysdenを用いたフェルミ面の描画


bxsf形式のファイルをxcrysdenで表示する前に注意点があります。それはUbuntuサーバー上で実行したxcrysdenをsshのX転送を使ってWindows上で表示しようとするとxcrysdenが落ちる点です。とりあえず私はクライアントマシンとしてWindows上のVirtualBoxにインストールしたUbuntuの上でxcrysdenを使うことにしました。

以下のコマンドでxcrysdenにフェルミ面のデータを読み込ませることが出来ます。

xcrysden --bxsf fermiup.bxsf


コマンドを打ち込むとxcrysdenのロゴとともに"Specify the Fermi Energy:"というダイアログが表示されます。値はあとから変更できるので、そのままOKをクリックします。

Screenshot from 2017-09-22 193A243A06

Screenshot from 2017-09-22 193A243A46
Fig.2-3: xcrysdenのロゴとフェルミエネルギー指定ダイアログ。値は気にせずOKをクリックする。


次にBARGraphとSelect bandsのウインドウが表示されます。BARGraphウインドウでは、1番から7番のバンドがどのエネルギー幅を持っているのかを示しています。水平な赤の破線で示されているのがフェルミエネルギー(E=0)です。フェルミエネルギーを横切っているバンドは6番だけです。従ってSelect bandsのBand number:6にだけチェックを入れてSelectedをクリックします。(フェルミエネルギーを横切るバンドが複数ある場合は、複数チェックを入れます。)

Screenshot from 2017-09-22 193A253A21

Screenshot from 2017-09-22 193A253A07
Fig.4-5: 1~7番の各バンドのエネルギー範囲と表示するバンドを選択するダイアログ。今回はフェルミエネルギーを横切っているのが6番だけなので6番だけを選択する。


するとフェルミ面が描画されます。Degree of Interpolationの値を大きくしてsubmitをクリックするとフェルミ面の表面が多少滑らかになります。

右下の薄ピンクの背景の部分に-0.026と書かれています。これが現在プロットされているフェルミエネルギーの値です。本来ゼロですが、若干ずれています。この値を変更することによって、フェルミエネルギー以外のエネルギーに対する波数空間での等エネルギー面をプロットすることが出来ます。

関連エントリ




参考URL




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: ecalj フェルミ面 xcrysden 

AkaiKKRで銅と銅亜鉛合金のフェルミ面

AkaiKKR(Machikaneyama)を用いると状態密度やバンド構造が簡単に描画できます。いくつかの第一原理計算パッケージには、これらに加えてフェルミ面の描画機能があります。しかしながら、AkaiKKRにはおそらくその機能はありません。そこで力任せにBlochスペクトル関数を計算してCuとCu70Zn30のフェルミ面の断面図を作成しました。

その結果は金属電子論〈上〉で紹介されている実験結果をよく再現しました。


金属のフェルミ面


金属の電子構造の個性を表現するために「状態密度(DOS)」や「エネルギー分散(バンド構造)」などがよく図としてプロットされます。「エネルギー分散」は電子の持っている波数とエネルギーの関係をプロットしたもので「状態密度」はエネルギーとそのエネルギーを持つ電子の個数をプロットしたものです。これらは共に、電子の状態をエネルギーの関数として表現しています。

しかしながら、実際の金属の物性は、その多くがフェルミエネルギーの電子の性質だけで決まります。そこで、フェルミ準位だけに限って波数ベクトルを表示した「フェルミ面」も金属の電子状態を表現するために利用されます。

純金属のフェルミ面は、非常によく研究されており、その一覧はウエブ上のデータベースでも見ることができます。(参考: Fermi Surface ExplorerThe Fermi Surface Database)

Cu.jpg
Fig.1: 銅のフェルミ面


Fig.1に示したのはThe Fermi Surface Databaseから引用した銅のフェルミ面です。銅のフェルミ面は、ほとんど自由電子的な球に近い形状をしています。しかしながらブルリアンゾーンのL点の周囲でフェルミ面がブリルアンゾーンに接触しています。

AkaiKKRでフェルミ面の描画


AkaiKKR(Machikaneyama)には標準ではフェルミ面を描画する機能は、ありません(多分)。そもそも不規則合金では、純金属と異なり、フェルミ面という概念自体が必ずしも妥当なものではなくなります。これは電子のエネルギー分散(バンド構造)を考えた際に不規則合金では、各バンドがにじんでしまったことと同じです。(参考: 密度汎関数法の発展 -マテリアルデザインへの応用)

バンド分散に関しては、Blochスペクトル関数を各k点に対して計算したものをプロットすることで表現できました。
同様にして、力まかせに片っ端からBlochスペクトル関数を計算し、フェルミエネルギー(近く)のものだけプロットするという方法でフェルミ面の断面の描画を行う事を考えます。

今回は純金属であるCuと、不規則合金でありながら比較的きれいにフェルミ面の残るCu70Zn30合金のフェルミ面の断面を描いてみることにします。これらの金属のフェルミ面の断面に関する実験的結果は金属電子論〈上〉に紹介されています。

シェルスクリプト


詳しい説明は、別のエントリにで行いたいと思いますが、おおよそ次のような事を行うシェルスクリプトを作成します。

  1. 波数空間上のベクトルPA, PBを2辺とする平行四辺形を考える
  2. 2つのベクトルをそれぞれn分割、m分割した空間メッシュを作成する
  3. spc計算用の入力ファイルのテンプレートから上記のk点を加えた入力ファイルを作成しspecxを起動
  4. 計算結果のspcファイル群からGNUPLOTに適したdatファイルの作成


結果


CuのXΓX断面とKΓX断面を計算したものがFig.2-3です。

XGXCu.png
Fig.2: Cuのフェルミ面のXΓX断面

XGKCu.png
Fig.3: Cuのフェルミ面のKΓX断面


XΓX断面におけるフェルミ面は、自由電子的な真円に近い形状をしています。黒のラインで示したのが第一ブリルアンゾーンの境界で、図中に書き込んではありませんが、斜めになっている角がW点、斜面の真ん中がL点です。

KΓX断面におけるフェルミ面は、前述したとおり円形からひずみ、第一ブルリアンゾーンの境界に触れています。触れている中心がL点で斜めの部分の上の角がU点です。

同様にCu70Zn30の断面図をプロットしたのがFig.4-5です。

XGXCuZn.png
Fig.4: Cu70Zn30のフェルミ面のXΓX断面

XGKCuZn.png
Fig.5: Cu70Zn30のフェルミ面のKΓX断面


金属電子論〈上〉で解説されている通り、Znの合金化によって1原子あたりの平均価電子数e/aが増加します。この結果として、フェルミ面が大きくなっていることがわかります。このことはXΓX断面では円の半径が大きくなっていること、KΓX断面では第一ブリルアンゾーンに触れている領域が広がっていることとして表れています。

関連エントリ






参考URL




参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: AkaiKKR machikaneyama KKR CPA フェルミ面 

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoC強磁性CPAPICOPアンプecalj状態密度モンテカルロ解析常微分方程式トランジスタodeDOSインターフェースPDS5022定電流スイッチング回路分散関係半導体シェルスクリプトレベルシフト乱数HP6632A可変抵抗トランジスタ技術R6452AI2C温度解析ブレッドボードバンドギャップ確率論反強磁性セミナーバンド構造数値積分偏微分方程式非線形方程式ソルバ熱設計絶縁三端子レギュレータISO-I2CA/DコンバータシュミットトリガフォトカプラカオスPWscfGW近似LM358LEDマフィンティン半径発振回路USB数値微分TL431PC817Cサーボアナログスイッチ直流動作点解析補間カレントミラー74HC4053bzqltyチョッパアンプFFT2ちゃんねる開発環境量子力学単振り子電子負荷VESTAQuantumESPRESSO標準ロジックパラメトリック解析ブラべ格子イジング模型アセンブラLDA基本並進ベクトルBSchSMPTLP621失敗談六方最密充填構造コバルト位相図QSGWGGAスイッチト・キャパシタewidth状態方程式VCAキュリー温度繰り返し最適化仮想結晶近似不規則合金熱伝導gfortran相対論抵抗FETMaximaQuantum_ESPRESSOcygwinランダムウォークラプラス方程式スピン軌道相互作用スレーターポーリング曲線マントルシュレディンガー方程式ZnO自動計測QNAP固有値問題ダイヤモンドデータロガー井戸型ポテンシャルTLP552CIFxcrysdenゼーベック係数熱力学条件分岐MCU最小値UPS格子比熱最大値ガイガー管平均場近似過渡解析Writer509スーパーセルFXA-7020ZR差し込みグラフ第一原理計算テスタ起電力OpenMP三角波ubuntuLM555NE555ブラウン運動詰め回路ハーフメタルawkfsolveUbuntuフェルミ面TLP521トランスMAS830LPGACK1026OPA2277フィルタトレーナーバトルEAGLEノコギリ波負帰還安定性ナイキスト線図MBEP-10LMC6622SC1815CapSenseAACircuitPIC16F785入出力固定スピンモーメントFSMTeX結晶磁気異方性全エネルギーc/a合金multiplotgnuplot非線型方程式ソルバL10構造正規分布等高線ジバニャン方程式ヒストグラム確率論初期値interp1fcc面心立方構造ウィグナーザイツ胞半金属デバイ模型磁気モーメント電荷密度重積分SIC不純物問題擬ポテンシャル状態図cif2cellPWgui二相共存ウルツ鉱構造edeltquantumESPRESSOフォノンリジッドバンド模型スワップ領域BaO岩塩構造ルチル構造マテリアルデザインspecx.fフラクタルマンデルブロ集合キーボードRealforceクーロン散乱三次元疎行列縮退化学反応関数フィッティング最小二乗法Excel直流解析PCTS-110TS-112日本語パラメータ・モデル等価回路モデル文字列ポケモンGO熱拡散方程式HiLAPW両対数グラフ片対数グラフ陰解法Crank-Nicolson法ifort境界条件連立一次方程式グラフの分割軸ラベルヒストグラム不規則局所モーメントスーパーリーグ円周率Gimp凡例線種シンボルトラックボール

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ