PWscfでMg2Siのゼーベック係数

UbuntuにBoltzTraPをインストールではUbuntuでPWscf(Quantum ESPRESSO)と連携することを前提にBoltzTraPをインストールしました。今回は Mg2Si を例にゼーベック係数を計算してみます。

300K.png
Fig.1: Mg2Si の 300 K でのゼーベック係数のエネルギー依存性



構造緩和計算


PWscfの入力作成補助にあるように xtl2pw.py がインストールされているという前提でMg2Si の CIF ファイルから PWscf (Quantum ESPRESSO) の入力ファイルを作成します。

最初にMg2SiのCIFファイルを入手します。今回はMaterials projectのページから Primitive Cell のモノをダウンロードしました。このCIFファイルを VESTA で開いて xtl 形式でエクスポートします(Mg2Si.xtl)。

DFT計算用のマシンに Mg2Si/ ディレクトリを作成し、そこに Mg2Si.xtl を置きます。これを xtl2pw.py に渡して入力ファイルのひな型を作ります。

xtl2pw.py Mg2Si.xtl vc-relax 1


作成された入力ファイルのひな型を基に、構造緩和計算用の入力ファイルを作成します。

mv Mg2Si.in Mg2Si.relax.in
emacs -nw Mg2Si.relax.in


擬ポテンシャルファイルやカットオフを正しく設定することに加えて system に以下を追記します。

    occupations = 'smearing' ,
degauss = 0.005 ,


私の環境では、以下のような入力ファイルになりました。

&control
calculation='vc-relax' ,
restart_mode='from_scratch' ,
prefix='Mg2Si' ,
outdir = './Mg2Si/' ,
wfcdir = './Mg2Si/' ,
pseudo_dir = './' ,
disk_io='default' ,
forc_conv_thr= 0.001 ,
verbosity = 'default' ,
nstep = 100 ,
/
&system
ibrav= 5 ,
celldm(1) = 8.50304569 ,
celldm(4) = 0.50000000 ,
nat = 3 ,
ntyp = 2 ,
ecutwfc = 50.0 ,
ecutrho = 250.0 ,
occupations = 'smearing' ,
degauss = 0.005 ,
/
&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
Mg 24.305 Mg.pbe-n-kjpaw_psl.0.3.0.upf
Si 28.086 Si.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS crystal
Mg 0.750000 0.750000 0.750000 0 0 0
Mg 0.250000 0.250000 0.250000 0 0 0
Si 0.000000 0.000000 0.000000 0 0 0
K_POINTS automatic
4 4 4 0 0 0


これを pw.x に渡して構造緩和計算を行います。

mpirun -np 4 pw.x < Mg2Si.relax.in > Mg2Si.relax.out


nscf計算


次にnscf計算を行います。まずは構造緩和計算の入力ファイルを基にnscf計算の入力ファイルを作成します。

cp Mg2Si.relax.in Mg2Si.nscf.in
emacs -nw Mg2Si.nscf.in


変更点は以下です。
    calculation='nscf' ,
verbosity = 'high' ,
K_POINTS automatic
10 10 10 0 0 0


k点はもっと細かく採った方がいいかもしれませんが、今回は練習なのでこの程度にしておきます。

&control
calculation='nscf' ,
restart_mode='from_scratch' ,
prefix='Mg2Si' ,
outdir = './Mg2Si/' ,
wfcdir = './Mg2Si/' ,
pseudo_dir = './' ,
disk_io='default' ,
forc_conv_thr= 0.001 ,
verbosity = 'high' ,
nstep = 100 ,
/
&system
ibrav= 5 ,
celldm(1) = 8.50304569 ,
celldm(4) = 0.50000000 ,
nat = 3 ,
ntyp = 2 ,
ecutwfc = 50.0 ,
ecutrho = 250.0 ,
occupations = 'smearing' ,
degauss = 0.005 ,
/
&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
Mg 24.305 Mg.pbe-n-kjpaw_psl.0.3.0.upf
Si 28.086 Si.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS crystal
Mg 0.750000 0.750000 0.750000 0 0 0
Mg 0.250000 0.250000 0.250000 0 0 0
Si 0.000000 0.000000 0.000000 0 0 0
K_POINTS automatic
10 10 10 0 0 0


これを実行します。

mpirun -np 4 pw.x < Mg2Si.nscf.in > Mg2Si.nscf.out


BoltzTraPの実行


BoltzTraP に渡すためのファイルを作成します。最初にnscf計算の結果からフェルミエネルギーを読み出します。

grep "Fermi" Mg2Si.nscf.out


つぎに qe2boltz.py を用いて BoltzTraP に与えるバンド構造の数値データや計算の設定ファイルを作成します。

qe2boltz.py Mg2Si pw 4.5310 0


4.5310の部分は、先ほど読みだしたフェルミエネルギーの値です。
これを走らせると Mg2Si.intrans や Mg2Si.energy が出力されます。
Mg2Si.intrans が BoltzTraP に与える計算の設定が書かれたファイルなので、適宜編集します。

emacs -nw Mg2Si.intrans


編集したら以下のように BoltzTraP を実行します。

x_trans BoltzTraP


300Kのデータのプロット


色々なファイルが出力されますが、もっとも重要なのは Mg2Si.trace です。
開いてみると1列目にエネルギー(フェルミエネルギーと書いてありますが、ただのエネルギーだと思います、状態密度の横軸とおなじ意味での)、2列目に温度、3列目以降に色々な物性が出力されており、今回の目的のゼーベック係数は5列目にあります。
今回は300Kにおけるゼーベック係数をエネルギーの関数としてプロットしてみます。そのままだとプロットしにくいので300Kのデータだけ抜き出します。

awk '{if($2 == 300){print $0}}' Mg2Si.trace > 300K.txt


こうして得られたデータをプロットするためのgnuplot用のpltファイルを下記のように準備しました。

set terminal pngcairo size 520,390
set output "300K.png"

set ylabel "Seebeck coefficient (uV/K)"
set title "Seebeck coefficient of Mg2Si at 300 K"

set xlabel "Energy (eV)"
set xrange [-2:2]
plot "300K.txt" u (($1-0.334102802189)*13.6058):($5*1E6) w l not


関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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

tag: PWscf QuantumESPRESSO ゼーベック係数 

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 分散関係 

PWscfでZnOの構造緩和

PWscf(Quantum ESPRESSO)を用いてウルツ鉱構造のZnOの高圧力下での構造最適化を行いました。

003_201807261443018d6.png

Fig.1: ウルツ鉱構造ZnOの格子定数の圧力変化



入力ファイルのテンプレート


まずPWscfの入力作成補助で紹介したxlt2pw.pyを利用して、ZnOの入力ファイルの雛形を作ります。入力の元になるxtlファイルは、CIFからVESTAを通じて出力します。CIFはDFT計算用データベース MatNaviで紹介した無機材料データベース(AtomWork)などからダウンロードします。

xtl2pw.py ZnO.xtl vc-relax 1
cp ZnO.in ZnO.relax.in


擬ポテンシャルとカットオフエネルギー


PWscfの擬ポテンシャルを参考に入力ファイルを編集します。
擬ポテンシャルの種類には PAW ポテンシャルを選びました。

ATOMIC_SPECIES
Zn 65.38 Zn.pbe-dnl-kjpaw_psl.1.0.0.UPF
O 15.999 O.pbe-n-kjpaw_psl.0.1.UPF


カットオフエネルギーは、擬ポテンシャルファイルに書かれている推奨値を参考にします。波動関数のカットオフの推奨値は酸素の方が大きく、電荷密度の推奨値は亜鉛の方が大きいことに注意が必要です。それぞれ大きいほうの1.5倍ぐらいを選びました。

    ecutwfc = 75.0 ,
ecutrho = 420.0 ,


圧力


圧力下の構造最適化を行うこともできます。その場合は press に圧力を設定します。単位は kbar です(1 GPa = 10 kbar)。

原子位置の制約


xtl2pw.py の最後の入力パラメータは、原子位置の制約の有無に関連しています。
0 を入力すると全ての原子について位置の最適化を行います。
1 を入力すると結晶学的に動かなさそうな原子を固定して計算します。

下記は xtl2pw.py の最後のパラメータに 1 をしていた場合の入力ファイルです。原子の座標の後ろに更に3つの数字が続いていますが、これが原子を動かすか否かのフラグになっていて 0 なら固定、1 なら動かせることを意味しています。今回の例では、酸素原子のz方向だけ原子を最適化するようになっていることが分かります。

ATOMIC_POSITIONS crystal
Zn 0.333333 0.666667 0.000000 0 0 0
Zn 0.666667 0.333333 0.500000 0 0 0
O 0.333333 0.666667 0.389010 0 0 1
O 0.666667 0.333333 0.889010 0 0 1


入力ファイル


結局、入力ファイルは以下のようにしました。

&control
calculation='vc-relax' ,
restart_mode='from_scratch' ,
prefix='ZnO' ,
outdir = './ZnO/' ,
wfcdir = './ZnO/' ,
pseudo_dir = './' ,
disk_io='default' ,
forc_conv_thr= 0.001 ,
verbosity = 'default' ,
nstep = 100 ,
/
&system
ibrav= 4 ,
celldm(1) = 6.14709011 ,
celldm(3) = 1.60158627686 ,
nat = 4 ,
ntyp = 2 ,
ecutwfc = 75.0 ,
ecutrho = 420.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
Zn 65.38 Zn.pbe-dnl-kjpaw_psl.1.0.0.UPF
O 15.999 O.pbe-n-kjpaw_psl.0.1.UPF
ATOMIC_POSITIONS crystal
Zn 0.333333 0.666667 0.000000 0 0 0
Zn 0.666667 0.333333 0.500000 0 0 0
O 0.333333 0.666667 0.389010 0 0 1
O 0.666667 0.333333 0.889010 0 0 1
K_POINTS automatic
6 6 4 0 0 0


結果


圧力を変化させながら格子定数がどのように変化するかを調べた結果が Fig.1 です。40 GPaまでは正常に圧縮されていっていますが 50 GPa で異常が見られます。
pwout2xtl.pyをもちいて出力したxtlファイルをVESTAで描画してみると、酸素原子のz位置が大きく動いて、結晶全体がc軸方向につぶれたことが良く分かります。

001_20180726144258855.jpg
002_20180726144259aba.jpg

Fig.2-3: ZnOの結晶構造の変化


関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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

tag: PWscf QuantumESPRESSO 最適化 ZnO 

PWscfの入力作成補助

Quantum ESPRESSO(PWscf)の入力ファイル作成支援に使えるソフトウエアとして、以下の3つがあげられます。


cif2cell


cif2cellCIFからecalj入力の作成
でCIFファイルからecaljの入力ファイルを作成するために利用しました。インストール方法はそちらのエントリに書いてあります。

cif2cellがインストールしてあれば、格子定数や原子位置が記入された入力ファイルの雛形を作成することが出来ます。
フォーマットは以下の通りです。
cif2cell -p プログラム -f CIFファイル -o PWscf入力ファイルの雛形


例えばシリコンのCIFファイル Si.cif の場合は、以下のようにします。

cif2cell -p pwscf -f Si.cif -o Si.in


他にも cif2cell -h とタイプすることによってヘルプを表示することが出来ます。

とはいえ、擬ポテンシャルの設定などの自明でないパラメータは一切出力されないため、追加の編集が必要になります。私は、追加の編集をPWguiで行いたいと考えたのですが、非自明なパラメータが一切出力されないため、そのまま PWgui で開くことが出来ないようです。

xtl2pw.py


他の入力支援用のPythonスクリプトがQuantum-ESPRESSOとVestaの連携QuantumESPRESSO_空間群入力で公開されています。

ダウンロードした後、適当にPATHの通ったディレクトリへ置いて実行権限を付けます。

wget http://www.misasa.okayama-u.ac.jp/~masami/xtl2pw.py
mv xtl2pw.py ~/bin/
chmod +x ~/bin/xtl2pw.py


wget http://www.misasa.okayama-u.ac.jp/~masami/pwout2xtl.py
mv pwout2xtl.py ~/bin/
chmod +x ~/bin/pwout2xtl.py


wget http://www.misasa.okayama-u.ac.jp/~masami/vesta2pw.py
mv vesta2pw.py ~/bin/
chmod +x ~/bin/vesta2pw.py


xtl2pw.py は cif2cell と異なり、色々なパラメータをとりあえず埋めてくれるため、直接 PWgui で開くことが出来ます。ただし変換するのは cif ファイルからではなく xtl ファイルからなので、 VESTA で xtl ファイルをあらかじめ出力しておく必要があります。
具体的には、以下の手順になると思います(シリコンの例)。

  1. VESTA で cif ファイルを xtl ファイルへ変換する。
    File → Export data → Fractional Coordinate (*.xtl) のファイル形式で保存
  2. xtl2pw.py Si.xtl scf 1
    2つ目の引数は scf, relax, vc-relax が選べる
    3つ目の引数は原子位置の制約
     0:制約を点けない
     1:制約をつける
  3. 出力された入力ファイル Si.in をpwgui で編集


Ubuntu への PWgui のインストール


PWguiのページから Self-contained standalone executables つまりコンパイル済みのバイナリをダウンロードします。
そのまえに iwidgets4 をインストールしておく必要があるかもしれません。

sudo apt-get update
sudo apt-get install iwidgets4
wget http://www-k3.ijs.si/kokalj/pwgui/download/pwgui-6.1-linux-x86_64.tgz
tar xzvf pwgui-6.1-linux-x86_64.tgz


必要に応じて pwgui を PATH に追加します。

Windows への PWgui のインストール


Linuxサーバー上で動作する PWgui の GUI を転送して Windows クライアントで動作させるのは重いので、Windows 上で PWgui が動作するとありがたいのですが、ネットで探してみても最新版の PWgui に関しては失敗報告しか見かけません。古いバージョンの2.1.3ならWindows版がPWgui の旧バージョンのダウンロードページから入手できますが、最新版は無いようです。

恐ろしく回りくどい方法ですが、現状では VirtualBox 上で Ubuntu を動かして、そこで PWgui を動かすのが一番マシかもしれません。

関連エントリ




参考URL




参考文献/使用機器





フィードバック



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

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


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


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

tag: Quantum_ESPRESSO PWscf VESTA PWgui cif2cell 

PWscfの擬ポテンシャル

AkaiKKR(machikaneyama)ecaljが全電子法を採用しているのに対して、Quantum ESPRESSO(PWscf)は擬ポテンシャル法を採用しています。そのためバンド計算を行うためには、入力ファイルとは別に擬ポテンシャルファイルを用意する必要があります。さらにカットオフエネルギーというパラメータを設定しなければいけません。今回のエントリでは、PWscfの擬ポテンシャルファイルに関する基礎知識について書きます。


同じ元素に対しても擬ポテンシャルファイルには色々な種類があるようです。

交換相関汎関数


AkaiKKRやecaljの場合と同様に、交換相関汎関数にどのタイプを使うかを選択できます。計算結果は、どの汎関数を利用するかによって変わってきます(参考: AkaiKKRでLDAとGGA その1, その2)。
どれを使うかのが一番よいのかは、ケースバイケースなのでしょう。とりあえず PBE から試すのが最近の流行なのでしょうか。

擬ポテンシャルファイルの種類


擬ポテンシャルファイルには、以下の3種類の分類があるようです。

  • ノルム保存型
  • ウルトラソフト
  • PAW(Projector Augmented-Wave)


それぞれに特徴があるので、目的によってどのタイプを使うのかを決めます。ただし擬ポテンシャルの種類によって選択できる元素の種類が限定されます。擬ポテンシャルファイルを自作することも可能らしいですが、そうでなければ計算したい化学組成についてどのタイプの擬ポテンシャルが使えるのかはよく確認しておく必要がありそうです。元素ごとに異なるタイプの擬ポテンシャルファイルを混在させることも可能ですが、出来れば避けたほうが良いだろうと思います。

PAWポテンシャルは、おそらく3つの中で最も新しい方法で、計算の高速さと正確さの両方を同時にあげることが出来るらしいです。ただし新しい手法なので(?)選べる元素の種類は少なそう(?)です。

ノルム保存型は3つの中ではおそらく最も古く、そのため選べる元素の種類も多そうです。

ウルトラソフト擬ポテンシャルは、ノルム保存型よりもカットオフエネルギーを小さく出来る、したがって計算速度を上げることが出来るメリットがあるようです。

カットオフエネルギー


カットオフエネルギーは、計算精度に関するパラメーターです。大きくするほど計算結果が正確になりますが、計算時間が掛かるようになります。したがって、必要充分な値を設定する必要があります。この値は擬ポテンシャルファイルの先頭部分に書いてあることが多いようです。以下は Siの擬ポテンシャルファイル の冒頭部分です。

Generated using "atomic" code by A. Dal Corso  v.5.0.2 svn rev. 9415
Author: ADC
Generation date: 11Sep2012
Pseudopotential type: PAW
Element: Si
Functional: SLA PW PBX PBC

Suggested minimum cutoff for wavefunctions: 38. Ry
Suggested minimum cutoff for charge density: 151. Ry
The Pseudo was generated with a Scalar-Relativistic Calculation
L component and cutoff radius for Local Potential: 2 2.0000


波動関数のカットオフエネルギーの最小値は 38 Ry で、電荷密度のカットオフエネルギーの最小値は 151 Ry であると書かれています。利用する全ての擬ポテンシャルファイルの中で、一番大きな値の 1.5 倍程度が目安な様です。


関連エントリ




参考URL




参考文献/使用機器




フィードバック



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

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


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


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

tag: Quantum_ESPRESSO PWscf 擬ポテンシャル 

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凡例線種シンボルトラックボール

最新コメント
リンク

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