PWscfでシリコンのバンド構造

3. グラフェンのバンド構造と状態密度を参考に Quantum ESPRESSO(PWscf)を用いてシリコンのバンド構造を計算してみました。

Si-band.png
Fig.1: シリコンのバンド構造



セルフコンシステント計算


以下のようにシリコンの入力ファイルを作ります。
何らかの作成補助を使うとラクかもしれません(参考: PWscfの入力作成補助)。
今回は構造緩和を行うため vc-relax を利用しました。

xtl2pw.pw Si.xtl vc-relax 1


このままだと単位胞に原子を8個含む単純立方格子なので、ブラベ格子を fcc (ibrav=2)にして ATOMIC_POSITIONS もそれに倣うように編集し、これを走らせます。

mpirun -np 4 pw.x < Si.relax.in | tee Si.relax.out


&control
calculation='vc-relax' ,
restart_mode='from_scratch' ,
prefix='Si' ,
outdir = './Si/' ,
wfcdir = './Si/' ,
pseudo_dir = './' ,
disk_io='default' ,
forc_conv_thr= 0.001 ,
verbosity = 'default' ,
nstep = 100 ,
/
&system
ibrav= 2 ,
celldm(1) = 10.26221441
nat = 2 ,
ntyp = 1 ,
ecutwfc = 50.0 ,
ecutrho = 250.0 ,
/
&electrons
electron_maxstep = 100 ,
mixing_beta = 0.7 ,
! use smaller conv_thr for better results ,
conv_thr = 1.0d-12 ,
/
&ions
ion_dynamics='bfgs' ,
/
&CELL
cell_dynamics = 'bfgs' ,
press = 0.001,
press_conv_thr = 0.05 ,
! cell_dofree = 'xyz' ,
/
ATOMIC_SPECIES
Si 28.086 Si.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS crystal
Si 0.000000 0.000000 0.000000 0 0 0
Si 0.250000 0.250000 0.250000 0 0 0
K_POINTS automatic
4 4 4 0 0 0


nscf計算


セルフコンシステント計算の入力ファイルをコピーして nscf 計算の入力ファイルを作成します。

cp Si.relax.in Si.nscf.in


その後、以下の点を編集します。

  • calculation='bands'
  • nbnd=12
  • K_POINTS {crystal_b}


nbnd はバンドの数です。省略すると価電子数の半分×原子の個数(Siの場合はnbnd=4)となります。そうすると、半導体の場合は、価電子帯のみが計算されることになるので、少し大きめに取っておくほうがいいと思います。今回は nbnd=12 としました。

K_POINTS {crystal_b} の後の L 20 とかは、バンド構造をプロットする特徴的なk点のパスです。
最初の数字が特徴的なk点の数(だと思う)で、文字の後の数字が分割数(だと思う)です。LはL点、gGはΓ点で、この標記で使える点の名前は Doc/brillouin_zones.pdf を参照との事です。

mpirun -np 4 pw.x < Si.nscf.in | tee Si.nscf.out


なお nscf 計算用の入力ファイルの格子定数などは、構造緩和をする前の値のままですが、実際の nscf 計算では、ちゃんと構造緩和後の値を使ってくれます。

&control
calculation='bands' ,
restart_mode='from_scratch' ,
prefix='Si' ,
outdir = './Si/' ,
wfcdir = './Si/' ,
pseudo_dir = './' ,
disk_io='default' ,
forc_conv_thr= 0.001 ,
verbosity = 'default' ,
nstep = 100 ,
/
&system
ibrav= 2 ,
celldm(1) = 10.26221441
nat = 2 ,
ntyp = 1 ,
ecutwfc = 50.0 ,
ecutrho = 250.0 ,
nbnd = 12 ,
/
&electrons
electron_maxstep = 100 ,
mixing_beta = 0.7 ,
! use smaller conv_thr for better results ,
conv_thr = 1.0d-12 ,
/
&ions
ion_dynamics='bfgs' ,
/
&CELL
cell_dynamics = 'bfgs' ,
press = 0.001,
press_conv_thr = 0.05 ,
! cell_dofree = 'xyz' ,
/
ATOMIC_SPECIES
Si 28.086 Si.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS crystal
Si 0.000000 0.000000 0.000000 0 0 0
Si 0.250000 0.250000 0.250000 0 0 0
K_POINTS {crystal_b}
5
L 20
gG 20
X 20
W 20
gG 20


プロット用データの出力


このまででバンド計算は完了しています。次に gnuplot でプロットしやすい形式に直します。
以下のように Si.band.in を用意します。

&bands
outdir = './Si/' ,
prefix='Si' ,
filband='Si.band' ,
lsym=.true.
/


実行ファイルは bands.x です。

mpirun -np 4 bands.x < Si.band.in | tee Si.band.out


実行後に作成された Si.band.gnu が gnuplot 用の数値データです。

プロット


gnuplot でプロットするための plt ファイルとして以下のようなものを準備しました。

set terminal pngcairo size 520,390
set output "Si-band.png"

## *** Plot range ***
x1=0.8585
x2=1.8499
x3=2.3455
xmax=3.4539
set xrange [0:xmax]
set yrange [-15:10]

ef=5.9827

set xzeroaxis
set grid x

set ylabel "Energy (eV)"
set xtics ("{L}" 0, "{/Symbol G}" x1, "{X}" x2, "{W}" x3, "{/Symbol G}" xmax)
set x2tics ("{L}" 0, "{/Symbol G}" x1, "{X}" x2, "{W}" x3, "{/Symbol G}" xmax)

plot "Si.band.gnu" u 1:($2-ef) w lp not


特徴的なk点の座標は Si.band.out の中を見ると、以下のように書かれています。

     high-symmetry point:  0.4957 0.4957 0.4957   x coordinate   0.0000
high-symmetry point: 0.0000 0.0000 0.0000 x coordinate 0.8585
high-symmetry point: 0.0000 0.9913 0.0000 x coordinate 1.8499
high-symmetry point: 0.4957 0.9913 0.0000 x coordinate 2.3455
high-symmetry point: 0.0000 0.0000 0.0000 x coordinate 3.4539


エネルギーの単位は eV のようです。

Too many bands... と言われる場合


バンド計算をすると Too many bands are not converged from nscf calculation というメッセージが出て計算が止まることがあります。Google 検索をすると対策として下記の[Pw_forum] Too many bands are not converged from nscf calculationがヒットします。

Hi,Zhiting Tian
"Too many bands are not converged" can be solved for two way:
1.increase ecutwfc
2.decrease conv_thr
or both do them.

Best
Regards
--
Yun Song,Kang
Physical Science and Technology of Inner Mongolia University.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.democritos.it/pipermail/pw_forum/attachments/20110926/8f5f3309/attachment.htm


ここに書かれている通り ecutwf を大きくするか、conv_thr を小さくすると計算できるようになります。

関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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


tag: バンド構造 QuantumESPRESSO PWscf 分散関係 

comment

Secret

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

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

最新コメント
リンク

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