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状態密度モンテカルロ解析常微分方程式odeトランジスタインターフェースDOSスイッチング回路定電流PDS5022分散関係半導体シェルスクリプトレベルシフト乱数HP6632AR6452Aブレッドボード温度解析トランジスタ技術可変抵抗I2Cバンドギャップ数値積分セミナー確率論反強磁性バンド構造偏微分方程式非線形方程式ソルバ絶縁熱設計A/DコンバータシュミットトリガPWscfマフィンティン半径フォトカプラ三端子レギュレータLM358カオスGW近似LEDISO-I2C補間74HC4053TL431アナログスイッチサーボ数値微分発振回路カレントミラーPC817CUSB直流動作点解析標準ロジックアセンブラVESTAbzqlty電子負荷パラメトリック解析2ちゃんねるチョッパアンプ単振り子量子力学BSch開発環境トレーナーバトルFFTスーパーリーグ基本並進ベクトルブラべ格子LDAイジング模型ポケモンGOQuantumESPRESSOキュリー温度Quantum_ESPRESSO仮想結晶近似Maxima六方最密充填構造熱伝導スピン軌道相互作用抵抗失敗談相対論GGA繰り返しラプラス方程式VCAコバルトgfortran状態方程式不規則合金スイッチト・キャパシタTLP621ランダムウォークQSGWFETewidth最適化位相図SMPcygwinスレーターポーリング曲線シュレディンガー方程式固有値問題条件分岐Writer509awkデータロガーマントル自動計測ガイガー管詰め回路MCU三角波ダイヤモンド過渡解析ハーフメタルubuntu格子比熱UPSQNAPFXA-7020ZR井戸型ポテンシャルテスタ熱力学LM555平均場近似UbuntuNE555最大値第一原理計算最小値TLP521フェルミ面ZnOCIF差し込みグラフ起電力ゼーベック係数TLP552fsolveスーパーセルブラウン運動OpenMPxcrysden不純物問題擬ポテンシャルハイパーリーグgnuplotc/a全エネルギー状態図multiplot合金P-10磁気モーメントcif2cellPWgui半金属BaOOPA2277ウルツ鉱構造edelt2SC1815リジッドバンド模型ナイキスト線図岩塩構造スワップ領域PGA二相共存重積分ノコギリ波ルチル構造CapSenseSICデバイ模型quantumESPRESSOフィルタフォノン電荷密度Excel円周率初期値ヒストグラムGimpシンボル凡例線種interp1不規則局所モーメントウィグナーザイツ胞縮退疎行列文字列PvP入出力軸ラベルグラフの分割specx.fifort正規分布マテリアルデザインヒストグラム確率論等高線ジバニャン方程式境界条件連立一次方程式両対数グラフ片対数グラフHiLAPW熱拡散方程式Crank-Nicolson法陰解法化学反応三次元トラックボールMAS830LCK1026PC直流解析TS-112TS-110トランスPIC16F785MBEEAGLEAACircuit固定スピンモーメントLMC662FSM等価回路モデルパラメータ・モデルフラクタルマンデルブロ集合L10構造fcc面心立方構造クーロン散乱キーボードRealforce最小二乗法日本語関数フィッティングTeX非線型方程式ソルバ結晶磁気異方性負帰還安定性

最新コメント
リンク

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