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カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoCOPアンプCPA強磁性PICモンテカルロ解析常微分方程式odeトランジスタecalj状態密度DOSインターフェース定電流スイッチング回路PDS5022半導体シェルスクリプト乱数レベルシフトHP6632A温度解析分散関係I2Cトランジスタ技術R6452A可変抵抗ブレッドボードセミナーバンドギャップ数値積分確率論反強磁性偏微分方程式バンド構造絶縁熱設計非線形方程式ソルバフォトカプラシュミットトリガLEDLM358カオスISO-I2C三端子レギュレータGW近似A/Dコンバータカレントミラーアナログスイッチ数値微分マフィンティン半径TL431発振回路サーボPC817CUSB直流動作点解析74HC4053補間FFTBSch開発環境パラメトリック解析2ちゃんねるチョッパアンプ量子力学bzqlty電子負荷イジング模型LDA標準ロジックアセンブラ基本並進ベクトルブラべ格子単振り子熱伝導位相図TLP621キュリー温度繰り返し状態方程式MaximaVESTAスイッチト・キャパシタ相対論FETランダムウォークスピン軌道相互作用SMP六方最密充填構造抵抗不規則合金ewidthスレーターポーリング曲線GGAラプラス方程式cygwingfortranQSGW失敗談コバルト条件分岐TLP521テスタLM555Writer509TLP552格子比熱マントルデータロガー自動計測詰め回路ガイガー管ダイヤモンドQNAPMCUFXA-7020ZR過渡解析三角波UPSNE555固有値問題熱力学ブラウン運動フェルミ面awk起電力第一原理計算OpenMPfsolveubuntu最大値xcrysden最小値最適化仮想結晶近似VCA差し込みグラフスーパーセル井戸型ポテンシャル平均場近似シュレディンガー方程式FSMフラクタルOPA2277固定スピンモーメント2SC1815全エネルギー合金multiplotgnuplotc/aTeX結晶磁気異方性interp1ウィグナーザイツ胞初期値マンデルブロ集合疎行列面心立方構造fcc不純物問題非線型方程式ソルバフィルタL10構造PGA半金属二相共存SICZnOウルツ鉱構造BaO重積分クーロン散乱磁気モーメント電荷密度三次元CIF岩塩構造CapSenseノコギリ波デバイ模型ハーフメタル正規分布フォノンquantumESPRESSOルチル構造スワップ領域リジッドバンド模型edelt縮退キーボード軸ラベルグラフの分割凡例トラックボールPC不規則局所モーメント片対数グラフトランス両対数グラフCK1026MAS830L直流解析Excel円周率パラメータ・モデルヒストグラム日本語最小二乗法等価回路モデルGimp線種シンボルTS-110TS-112PIC16F785LMC662化学反応文字列specx.f入出力ifortマテリアルデザインヒストグラム確率論Realforce等高線ジバニャン方程式P-10Ubuntuナイキスト線図Crank-Nicolson法陰解法熱拡散方程式HiLAPWAACircuit連立一次方程式負帰還安定性境界条件EAGLEMBE関数フィッティング

最新コメント
リンク

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