産業利用に役立つXAFSによる先端材料の局所状態解析20162016.01.28

実習

FDMNESによるXANESシミュレーション

中田謙吾
JASRI/SPring-8

講習の流れ
FDMNESの紹介
FDMNESのインストール
インストール後の設定
PowerShellの起動方法

インストールと操作

PowerShellの使い方

Cu-foil の試し計算
FDMNESの基本的な流れ

入力ファイルの解説 -基礎入力ファイルの解説 -構造情報の作成入力ファイルの解説 -クラスター半径-

出力ファイルの解説 -フェルミレベル-

出力ファイルの解説 -ConvolutionCu2Oの計算(クラスター半径の違い等)
Cu2OのLDOS計算、出力ファイルの解説 -LDOSBaTiO3 の計算(Pm3-mとR3m)

時間があれば Appendix の解説

基本的な計算と解説

FDMNES
Cu-foil のお試し計算
とにかく動かしてみる

0) PowerShell を開くA) スタートメニューから検索
B) PowerShell と入力
C) PowerShellを選択して起動
Windows 7 (64bit)A) チャームを開く
B) 検索をクリック+CC) PowerShell と入力
D) PowerShellを選択して起動
Windows 8 (64bit)

PowerShell が立ち上がる

1) 計算用ディレクトリに移動する
スペース

cd ¥cal*) C: などのドライブ指定は同じドライブ内移動ならば省略できる

カレントディレクトリが C:¥cal に移動したのが確認できる

1) Cu-foil の計算用ディレクトリを作成する
スペース

mkdir Cu

2) Cu-foil の計算用ディレクトリに移動する
スペース

cd Cu

3) 計算用に必要な基本データーベースをコピーする
スペース

スペース

cp ¥fdmnes¥spacegroup.txt .
cp ¥fdmnes¥xsect.dat .

ドット

スペース

PowerShell の場合は Linux のシェルなどと異なりコピー先がカレントの場合の . (ドット) は省略できる（ただし、変な癖を付けない用に . (ドット)は付ける習慣にする)

4) Cu の計算用入力ファイルをコピーする
スペース

スペース

cp ¥fdmnes¥Sim¥Test̲stand¥in¥Cu̲inp.txt inp.txt
cp ¥fdmnes¥fdmﬁle.txt .
スペース

ドット

5) コピーされたファイルを確認する
ls

4つファイルがコピーされているのを確認する

合計４つのファイル(そのうち二つを編集する)

inp.txt
fdmﬁle.txt

spacegroup.txt
xsect.dat6) fdmﬁle.txt を編集する

start .¥fdmﬁle.txt
スペース

ドット

編集するファイルパスを誤解なく記述するためにファイル名の先頭に .¥ を付ける (これを付けないとパスの通ったところにある fdmﬁle.txtが選択される環境が場合によってはある)

windows 上で .txt に登録してあるエディターが立ち上がる(何も登録してなければ、デフォルトでは「メモ帳」が立ち上がる)6) fdmﬁle.txt を編集する・ファイル名が長くてめんどくさいとき
・誤解なく確実に目的のファイルを選択したいとき
TAB キーを活用する
スペース

TAB キー

start fdmと入力後 TAB キーを押す

カレントディレクトリに fdm から始まるファイルが複数存在しないときは、全自動で .¥ を含めたファイル名が補完される6) fdmﬁle.txt を編集する.txt にメモ帳が割り当てられているときはメモ帳が立ち上がる

スペース

start ファイル名
ファイル名をダブルクリックしたのと同じ動作をする

6) fdmﬁle.txt を編集する

Sim/Test̲stand/in/Cu̲inp.txt↓
inp.txt7) 編集した fdmﬁle.txt を名前を付けた保存する
保存する場所を明確にするために「名前を付けて保存」で保存する

7) 編集した fdmﬁle.txt を名前を付けた保存する
fdmﬁle.txt の名前のままで保存する

保存場所を確認する

この場所が違うときは異なる場所の
fdmﬁle.txt を編集している可能性があります。

7) 編集した fdmﬁle.txt を名前を付けた保存する
保存場所を確認する

上書きします8) 編集を終えた fdmﬁle.txt を閉じます9) 念のため、編集したファイルをもう一度開いてみます
fdmﬁle.txt を編集後、ファイルを閉じた状態↑キーを押す直前に入力したコマンドが画面に出てくる↑キーで履歴をたどれる
リターンキー(Enterキー) を押す

もう一度開く
(内容確認)

10) inp.txt ファイルを編集する

start .¥inp.txt

編集後は上書き保存

Sim/Test̲stand/Cu
↓
Cu

修正前

修正後

11) 計算を実行する fdmnes̲win64.exe

プログラムを実行する
32bit 版 windows の人は
fdmnes̲win32.exe を実行してください

最後にこの画面が出てくる

計算終了12) 計算後に出来たファイルを確認

計算の結果出来た３つのファ
イル (日付と時間確認）
計算後に出来たものか？

計算ログ
ファイルサイズは
fdmnes のバー
ジョン(いつダウン ロ ー ド し たか？) によってによって異なります

スナップショットは FDMNES の 2015/12/16 バージョンの結果

13) ログファイルの確認スペース

start .¥Cu̲bav.txt
Cu̲bav.txt ファイ
ルの中身を見る

ファイルの一番最後を見る
計算時間
Have a beautiful day !

FCC Cu クラスター半径R=3.0 (FDM計算) conventional cell
2.6 GHz Intel Core i5( VMware on Mac )約10秒

AMD E-450 1.65GHz

約50秒

今回の実習で一回の計算で一番重い計算は
BaTiO3 R3m (セルは cubic にする)
2.6 GHz Intel Core i5( VMware on Mac )約16秒

AMD E-450 1.65GHz

約60秒

もし、
BaTiO3 R3m (文字通りロンボのままで計算したら AMD だと 16分)

14) 計算結果をプロットする

Cu.txtCu̲bav.txt
Cu̲conv.txt
inp.txt

fdmﬁle.txt
spacegroup.txt
xsect.dat

計算結果(生)計算ログ
計算結果

14) 計算結果をプロットする( Cu̲conv.txt の編集 )スペース

start .¥Cu̲conv.txt14) 計算結果をプロットする( Cu̲conv.txt の編集 )GNUPLOT でプロットするために1行目をコメントアウトする

名前を付けて上書き保存

15) 計算結果をプロットする( GNUPLOT の立ち上げ )wgnuplot16) wgnuplot 上でプロットコマンドの入力

シングルクオートスペース(ダブルクオートでもよい)

plot ʻCu̲conv.txtʼ

16) wgnuplot 上でプロットコマンドの入力
TAB 補完について
plot ʻCuまで入力

TABキーを押す(一回目)
Cu から始まるファイル名の候補1

TABキーを押す(二回目)
Cu から始まるファイル名の候補2

TABキーを押す(三回目)
Cu から始まるファイル名の候補3

XANES の計算結果が表示される

16) wgnuplot 上でプロットコマンドの入力
スペース

スペース

スペース

plot ʻCu̲conv.txtʼ w lwith line の略17) GNUPLOT の結果を画像ファイルとして保存
gnulot 上でスペース

set terminal png

出力形式を png にする

plot ʻCu̲conv.txtʼ w lplot し直す(replot コマンドでもよい)

set output ʻCu.pngʼ
q

出力ファイル名を Cu.png にする
gunplot を閉じる

注意) プロットは画面に表示されない
画面に表示される代わりにファイルに出力される

17) GNUPLOT の結果を画像ファイルとして保存
ls

画面に表示される代わりに出力されたファイル18) Cu.png ファイルの表示
スペース

start Cu.png

拡張子 *.png に割り当てられているビューアが起動(windows7 だとフォトビューアー)FDMNES 計算の基本的な流れ

計算に必要なファイル (基本となる入力ファイル)
xsect.dat
原子のデータベース
spacegroup.txt 空間群のデータベース
fdmﬁle.txt 入力ファイルの名前を指定(複数の入力ファイルの連続実行が可能)

inp.txt

入力ファイル(構造、吸収端、クラスター半径、、、)

fdmﬁle.txt

入力ファイル名を inp.txt とする
今回の実習ではこのファ
イルはもう編集しません

第一原理計算(MD計算、構造緩和計算)の結果
CIF, PDB 構造情報
自分で作成したモデル構造
,,,,

構造の情報

計算の詳細

inp.txt

電子状態計算 (FDM or多重散乱理論)

XANESスペクトルの計算
Cu.txtXANESスペクトルの畳み込み（broadening)

Cu̲conv.txt

XANESスペクトル

基本入力ファイルの解説-基本編-

fdmﬁle.txt

入力ファイルの指定

連続して複数の入力ファイルで計算を実行できる例) ! General indata ﬁle for FDMNES! with indata ﬁles examples!

2

Sim/Test̲stand/in/Cu̲inp.txt
Sim/Test̲stand/in/VO6̲inp.txt
注意) あまりこの機能は使わない方が健全（複数のファイルを別のディレクトリで出力するのオススメしない）!

入力と出力は同じディレクトリ内で完結するべき(同じところに置くべき)連続処理をさせたいときは、スクリプト(windowsならばバッチ)を書く

inp.txt
Filout
Cu

!

!

Range
-10. 0.2 0. 0.5 10. 1. 40.
Radius3.0!

出力ファイルのベースとなる名前(パス込み)
計算するエネルギー範囲

クラスター半径

Crystal3.61 3.61 3.61 90. 90. 90.
29 0.0 0.0 0.0
29 0.5 0.5 0.0
29 0.5 0.0 0.5

計算する構造29 0.0 0.5 0.5!
!

ConvolutionEnd

畳み込み(broadening)inp.txt
FiloutCu

Filout を Cu としたとき

出力ファイルのヘッダ部分が Cu になる

inp.txt

スペースで区切る

計算するエネルギー範囲
ステップ
下限

上限

Range

-10. 0.2 0. 0.5 10. 1. 40.

下限

ステップ

上限

下限

上限

ステップ

inp.txt

計算するエネルギー範囲

スペースで区切る

Range-10. 0.2 40.

下限

ステップ

上限

入力パラメーターは複数のタグとそにれ関連付けられたパラメータで定義される
Tag

Parameter
基本ルール

コメントアウト記号は ! (半角)
タグと関連づけられたパラメータの間ににコメントは付けられない大文字と小文字は区別しない
タブは使えない
行頭のスペースは無視される

タグは全部の文字の入力が必要(省略不可)

タグやパラメーターの間には空行を開けなくてもOK
FiloutCu
Range-10. 0.2 0. 0.5 10. 1. 40.
Radius3.0

スペースの入れ方は自由

Filout ! comment

Cu

Filout

Cu

!

コメント

!

Range
-10. 0.2 0. 0.5 10. 1. 40.

!
!
Radius
!
3.0

Range

! 日本語でもOK-10. 0.2 0. 0.5 10. 1. 40.

!
Radius3.0注意) (値が必須のタグの場合)

タグと値の間にはコメントは付けられない
Fileout! Fe2O3
Sim/Test̲stand/Fe2O3
Fileout
Sim/Test̲stand/Fe2O3! Fe2O3

ダメな場合がある

問題なし

入力ファイルの改行コードは LF でも LF+CR でも OK
出力は windows のときはそれにあわせて LF+CR になる基本入力ファイルの解説-構造情報の作成-

FCC CuCrystal3.61 3.61 3.61 90. 90. 90.
29 0.0 0.0 0.0
29 0.5 0.5 0.0
29 0.5 0.0 0.5
29 0.0 0.5 0.5

原子番号a, b, c , α, β, γ
内部座標1) コンベンショナルなセルで書ける

a, b, c , α, β, γCu32) 内部座標はセル内での相対座標
Cu1

Cu4
Cu2

空間群を使った記述も可能

FCC Cu

空間群の指定225, Fm-3m

Spgroup
Fm-3m!

Crystal3.61 3.61 3.61 90. 90. 90.

セルはコンベンショナルに記述

29 0.0 0.0 0.0

4a サイト 0,0,0

空間群を使って記述
Spgroup
Fm-3m!

P1 で記述Crystal3.61 3.61 3.61 90. 90. 90.
29 0.0 0.0 0.0

Crystal3.61 3.61 3.61 90. 90. 90.
29 0.0 0.0 0.0
29 0.5 0.5 0.0
29 0.5 0.0 0.5
29 0.0 0.5 0.5

同じ構造
FCC Cu

記述方法が異なるだけ同じ構造なので同じXANESスペクトルが描ける
計算するときには内部的に自動で対称性を探す

基本入力ファイルの解説-クラスター半径-FiloutCu!

FDMNES ではクラスター計算が行われている

Range-10. 0.2 0. 0.5 10. 1. 40.

!

Radiusクラスター半径3.0!

Crystal3.61 3.61 3.61 90. 90. 90.
29 0.029 0.529 0.529 0.0

!
!

0.0
0.5
0.0
0.5

Convolution
End

0.0
0.0
0.5
0.5

構造情報

構造情報 (Crystal,Molecule)

吸収原子を中心にしてクラス
ター半径内の原子でクラスターを作る

1) 構造情報から周期的に配置される結晶を作る

バルクの計算では十分な大きさのクラス
ターが必要

R=5.0Å

2)クラスター半径を指定

吸収原子(ホールが空く)

吸収原子を中心とした半径
R=3.0Å

55原子

R=5.0ÅFCC Cu141原子

少なくともR=6Å以上で無いと二つのピーク構造が出てこない

クラスター半径を変えた計算

基本出力ファイルの解説-フェルミレベル-FCC CuFDMこれは何？
E̲edge を基準としたEnergy

計算ログ(Cu̲bav.txt)の中からフェルミレベルを取り出す
スペース

スペース

パイプ(縦棒)スペース

cat .¥Cu̲bav.txt | Select-String EfermiCu̲bav.txt ファイル中の Efermi という文字がある行を検索

Select-String
grep と同等のコマンド!

エイリアス化がオススメ
notepad $proﬁlealias grep Select-String-6.93eV あたりが EF

GNUPLOT で EF をゼロとして表示し直す
1) wgnuplot

一行目に 6.93を加える
EF = -6.93eV
コロン
スペース

2) plot ʻCu̲conv.txtʼ u ($1+6.93):2 w l

Fermi Level

unoccupied state3) plot が終わったらGNUPLOTを閉じる

計算ログ(Cu̲bav.txt)の中から Edge Energy を取り出す
スペース

スペース

スペース

cat .¥Cu̲bav.txt | Select-String E̲edge
Cu̲bav.txt ファイル中の E̲edge という文字がある行を検索≅ Fermi Level

横軸を Photon Energy 表示する
1) wgnuplot

コロン

スペース

2) plot ʻCu̲conv.txtʼ u ($1+6.93+8979):2 w l≅E̲edge

横軸が PhotonEnergy になる

3) plot が終わったらGNUPLOTを閉じる
Filout
Cu

!

!
!

!

計算結果そのものを Phtonenergy で書き出す

Range-10. 0.2 0. 0.5 10. 1. 40.
Energpho
Radius3.0

Energpho タグを追加して計算していると初めから Photonenergy で出力

Crystal3.61 3.61 3.61 90. 90. 90.
29 0.0 0.0 0.0
29 0.5 0.5 0.0
29 0.5 0.0 0.5
29 0.0 0.5 0.5!
!

Convolution
End

(例)

基本出力ファイルの解説-Convolution-

Broadening をする前のスペクトルをプロットするスペース

start .¥Cu.txt
Cu.txt を編集する

最初の2行をコメントアウトする

名前を付けて上書き保存Broadening をする前のスペクトルをプロットする
1) wgnuplot
スペース2) plot ʻCu.txtʼ w l

Cu.txt をプロットする

Broadening をする前のXANESスペクトルスペース

カンマ で区切ることにより複数のデータをプロット

3) plot ʻCu.txtʼ w l , ʻCu̲conv.txtʼ w l

Cu̲conv.txt:

core-hole の life time などを考慮してLorentzian でブロードニングしたスペクトル

Cu.txt: ブロードニングする前のXANESスペクトルスペース

コロン カンマコロン4) plot ʻCu.txtʼ u ($1+6.93):2 w l, ʻCu̲conv.txtʼ u ($1+6.93):2 w l
フェルミレベルを0にしてプロット

Efermi から
convolution がスタートしているのが判ります

5) plot が終わったらGNUPLOTを閉じる

化合物の計算実習-Cu2O の計算例-

Cu2Oの計算準備

スペース(1) cd ¥cal(2) mkdir Cu2O
(3) cd Cu2O

計算のホームへ移動

Cu2O 作業ディレクトリ作成(4) cp ..¥Cu¥spacegroup.txt .
(5) cp ..¥Cu¥xsect.dat .
(6) cp ..¥Cu¥fdmﬁle.txt .
(7) cp ..¥Cu¥inp.txt .

Cu2O 作業ディレクトリへ移動

計算に必要なファイルをコピー準備したファイルを確認

ls

現在の状況

計算用ディレクトリ(¥cal)の下

Cu と同じ階層に Cu2O ディレクトリ
Cu2O ディレクトリの下に
fdmﬁle.txt

inp.txt
spacegroup.txt

編集

xsect.dat

計算には4つのファイルが必要

Cu̲inp.txt をベースにして
inp.txt を編集
スペース

start .¥inp.txt

Filout

出力する名前をCu2Oにする

!
!

Cu2O

!

Cu

Edge

Range
-10. 0.2 0. 0.5 10. 1. 40.

!

Radius!

吸収原子を1番目とする

Range-10. 0.2 0. 0.5 10. 1. 40.

Filout!

Absorber
1!

クラスター半径5.0

KRadius5.0

FMS(Full multiple scattering)
で計算 ( Muﬃn-tin 近似 )

!

3.0

Green

Crystal3.61 3.61 3.61 90. 90. 90.

!

Crystal4.2676 4.2676 4.2676 90.0000 90.0000 90.0000

29 0.0 0.0 0.0

29 0.0000 0.0000 0.0000

29 0.5 0.5 0.0

29 0.5000 0.5000 0.0000
29 0.5000 0.0000 0.5000

29 0.5 0.0 0.5
29 0.0 0.5 0.5

29 0.0000 0.5000 0.5000!

8 0.2500 0.2500 0.2500

Convolution

!

!

End

inp.txt

K-edge8 0.7500 0.7500 0.7500

Convolution

!

End

! Cu
! Cu
! Cu
! Cu

!O
!O

inp.txt

Absorber のデフォルトは一番(何も書かなければ1番を選択したことになる)
Absorber1

吸収原子を一番目の原子とする!

Crystal4.2676 4.2676 4.2676 90.0000 90.0000 90.0000
29 0.0000 0.0000 0.0000 ! Cu
29 0.5000 0.5000 0.0000
29 0.5000 0.0000 0.5000
29 0.0000 0.5000 0.5000
8 0.2500 0.2500 0.2500
8 0.7500 0.7500 0.7500

! Cu
! Cu

! Cu
!O
!O

クラスター半径

実習では R=5.0 で計算してもらいます

R5くらいは少なくとも必要

Cu2O (R=5.0 FMS( Muﬃn-tin )) での計算

fdmnes̲win64.exe を実行します (64bit windows)
2.6 GHz Intel Core i5( VMware on Mac )計算終了後のディレクトリを見ると・・・
ls

約15秒

スペース

start .¥Cu2O̲conv.txt

Cu2O̲conv.txt の編集

コメントアウト(最初の1行)

スペース

start .¥Cu2O.txt

Cu2O.txt の編集

コメントアウト(最初の2行)

名前を付けて上書き保存

Cu2O のXANESスペクトルのプロット
1) wgnuplot
スペース

スペース

カンマ

2) plot ʻCu2O̲conv.txtʼ w l, ʻCu2O.txtʼ w l3) plot が終わったらGNUPLOTを閉じる

FDMNES: FMS(Muﬃn-tin), R=5.0
Cu-K: Cu2O
実験値
計算値(MT近似)

基本出力ファイルの解説-軌道成分の解析-Cu2O の計算例-

ε
XANES スペクトル

Unoccupiedstate

遷移確率 フェルミの黄金律

εF

2
2π
W (ω ) =δ (ε i + !ω − ε f )
f
F̂
i
∑
! f

unoccupied state
終状態

εfValencestateħωcore state
始状態

Core
state

ħω

εi
Cu-p (LDOS) with hole

FDMNES (R=7.0) FDM
終状態のLDOS

動径積分・Gaunt係数

遷移確率
2

∑ a

f F̂ i =*LMms , f(nl )cmm⋅ FLMM s ,nlmms
s ,i

LMM s mms

終状態の電子状態 内殻の電子状態

Cu-p

W (ω ) ∝ I Lnl

2

∑w
ms

EF

実験値

j µ ms

DLMms (!ω + ε i )終状態の状態密度

計算値 (Lorentzian Broadening)
Cu-K Cu-foil

計算値

XANES スペクトル≅局所状態密度

スペース

Cu-K, Cu2O, FMS
Absorber
1

inp.txt!

Filout!

Cu2O!

(5) rm Cu2O*.txt
inp.txt の編集(6) start inp.txt

Edge
K

Radius5.0!

DensityDensity!

state̲allstate̲all

Green

!

Crystal4.2676 4.2676 4.2676 90.0000 90.0000 90.0000
29 0.0000 0.0000 0.0000
29 0.5000 0.5000 0.0000

! Cu
! Cu

8 0.2500 0.2500 0.2500
8 0.7500 0.7500 0.7500!O!O

29 0.5000 0.0000 0.5000
29 0.0000 0.5000 0.5000

!

* アスタ
リスク

(3) cd Cu2O̲dos(4) cp ..¥Cu2O¥* .

Range-10. 0.2 0. 0.5 10. 1. 40.

!

(1) cd ¥cal(2) mkdir Cu2O̲dos(6) ls追加

ファイルの確認! Cu! Cu

Convolution!

End

名前を付けて上書き保存

Cu2O のDOSの計算

fdmnes̲wn64.exe を実行します (64bit windows)
2.6 GHz Intel Core i5( VMware on Mac )

約27秒

計算終了後
ls

出力ファイルが追加されている

Density タグで今回新たに作成されたファイル
Cu2O̲sd0.txt
Cu2O̲sd1.txt
Cu2O̲sd2.txt(吸収原子)
absorber の LDOS
1番目の原子の LDOS (注意)
2番目の原子の LDOS (注意)sd0 Cu*sd1 Cusd2 O

このナンバリングは物質(および対称性)によって変わってくる
詳しくはAppendix参照!! 0番以外のナンバリングに注意 !!
スペース

start .¥Cu2O̲sd0.txt

Cu2O̲sd0.txt の編集

コメントアウト(最初の1行)

スペース

start .¥Cu2O̲sd2.txt

名前を付けて上書き保存

Cu2O̲sd0.txt の編集

コメントアウト(最初の1行)

名前を付けて上書き保存

GNUPLOT でプロットする
1) wgnuplot
スペース

フェルミレベルを0にする
コロン

スペース

Cu-p軌道の指定
title を付ける

2) plot ʻCu2O̲sd0.txtʼ u ($1+5.53):13 w l t ʻCu-pʼ

Cu2O : Cu原子p軌道(LDOS)
Cu2O のフェルミレベルは？ cat Cu2O̲bat.txt | Select-String Efermi,(カンマ)後 改行せずにつなげる(1行で書く)
スペース

スペース

コロン スペース

3) plot [] [0:4] ʼCu2O̲sd0.txtʼ u ($1+5.53):13 w l t ʻCu-pʼ,ʻCu2O̲sd2.txtʼ u ($1+5.53):13 w l t ʼO-pʼ
軌道混成らしいものO-p 軌道Cu-p 軌道

4) plot が終わったらGNUPLOTを閉じる

化合物の計算実習-BaTiO3 の計算例-

cubic, 221, Pm3-m

Absorber!

常誘電相 cif̲2100863

1

Filout!

BaTiO3Range!

-15. 0.2 0. 0.5 10. 1. 45.

Edge

!

K

Convolution

!

Green

!

Radius
4.0!

Crystal4.0060 4.0060 4.0060 90.0000 90.0000 90.0000

22 0.0000 0.0000 0.0000
56 0.5000 0.5000 0.5000
8 0.5000 0.0000 0.0000!

8 0.0000 0.5000 0.0000
8 0.0000 0.0000 0.5000

End

! Ti

! Ba
!O
!O
!O

Trigonal, 160, R3m

Absorber

!

1

強誘電相

FiloutBaTiO3cif̲014230

!

Range

!

-15. 0.2 0. 0.5 10. 1. 45.

Edge
K

!

Convolution

!

Green

!

Rhombo の歪みが入っていると計算時間が爆発的に増えるので今回の実習では歪みは無くす（あとで説明)Radius

!

4.0

Crystal4.0036 4.0036 4.0036 89.8404 89.8400 89.8396

22 0.4880 0.4880 0.4880! Ti

8 0.5116 0.5116 0.0195
8 0.0195 0.5116 0.5116!O!O

56 0.0000 0.0000 0.0000!

8 0.5116 0.0195 0.5116

End

! Ba

!O

内部座標のズレ
FDM (Full-potential)

FMS (Muﬃn-tin)
cubic, 221, Pm3-m
常誘電相

強誘電相特有のpre-edge

Trigonal, 160, R3m
強誘電相計算時間 VMware on Mac
CPU: Intel Core i5-4258U 2.6G

BaTiO3̲Pm3-m-----------------

single process (using MUMPS)

fdm̲R3fdm̲R4fdm̲R5green̲R3 : 4.0s
green̲R4 : 25.0s
green̲R5 : 57.1s

実習では!
1) MT近似の FMS(green関数)を用いる
2) R=4.0Å(1) cd ¥cal

!
* アスタ
リスク

(2) mkdir BaTiO3̲Pm3-m(3) cd BaTiO3̲Pm3-m(4) cp ..¥Cu2O̲dos¥* .
(5) rm Cu*.txt(6) start inp.txt!
BaTiO3̲R3m---------------fdm̲R3 : 253.3s
fdm̲R4 : 2738.3s
fdm̲R5 : 4403.4s (1h13min)green̲R3 :6.7s
green̲R4 :42.4s
green̲R5 : 271.4s

常誘電相

Absorber

常誘電相の計算準備スペース: 5.7s: 36.4s: 49.7s

1

Filout!

BaTiO3Range!

-10. 0.2 0. 0.5 10. 1. 40.

convolution 後のEnergy 領域をどこからスタートするか

Estart
-18

Edge

!

K

Radius!

4.0

Density!

議論しやすいように

強誘電相と同じセルの取り方をする
cell歪みなし
内部座標のズレなし

state̲all

Green

!

Crystal4.0036 4.0036 4.0036 90.0 90.0 90.0

22 0.5 0.5 0.5! Ti

8 0.5 0.5 0.0!O

8 0.5 0.0 0.5!O

56 0.0 0.0 0.0
8 0.0 0.5 0.5!

Convolution

!

End

! Ba

!O

計算

(7) fdmnes̲win64.exe

2.6 GHz Intel Core i5 ( VMware on Mac )約86秒

計算結果作られるファイル
ls

スペース

start .¥BaTiO3̲conv.txt
コメントアウト(最初の1行)
スペース

start .¥BaTiO3̲sd0.txt
コメントアウト(最初の1行)
スペース

start .¥BaTiO3̲sd3.txt
コメントアウト(最初の1行)BaTiO3̲conv.txt の編集

名前を付けて
上書き保存

BaTiO3̲sd0.txt の編集

名前を付けて
上書き保存

BaTiO3̲sd3.txt の編集
名前を付けて
上書き保存

常誘電相

GNUPLOT でプロットする
1) wgnuplot

コロン

スペース

2) plot ʻBaTiO3̲conv.txtʼ u ($1+7.89):2 w l3) plot が終わったらGNUPLOTを閉じる

強誘電相の計算準備
スペース(1) cd ¥cal

* アスタ
リスク

(2) mkdir BaTiO3̲R3m(3) cd BaTiO3̲R3m!

1Filout!

BaTiO3Range!

-10. 0.2 0. 0.5 10. 1. 40.

Estart(4) cp ..¥BaTiO3̲Pm3-m¥* .

!

(6) start inp.txt!

(5) rm BaTiO3*.txt

強誘電相

Absorber

-18

Edge
K

Radius!

4.0

Density!

state̲all

Green

!

Crystalcell歪みをナシ(cubic にする)

4.0036 4.0036 4.0036 90.0 90.0 90.0

22 0.4880 0.4880 0.4880! Ti

8 0.5116 0.5116 0.0195!O

8 0.5116 0.0195 0.5116!O

56 0.0000 0.0000 0.0000
8 0.0195 0.5116 0.5116!

Convolution

!

End

! Ba

!O

内部座標の歪みを入れる

計算(7) fdmnes̲win64.exe

2.6 GHz Intel Core i5 ( VMware on Mac )約15秒

計算結果作られるファイル
ls

スペース

start .¥BaTiO3̲conv.txt
コメントアウト(最初の1行)
スペース

start .¥BaTiO3̲sd0.txt
コメントアウト(最初の1行)
スペース

start .¥BaTiO3̲sd3.txt
コメントアウト(最初の1行)BaTiO3̲conv.txt の編集

名前を付けて
上書き保存

BaTiO3̲sd0.txt の編集

名前を付けて
上書き保存

BaTiO3̲sd3.txt の編集
名前を付けて
上書き保存GNUPLOT でプロットする
1) wgnuplot

強誘電相

コロン

スペース

2) plot ʻBaTiO3̲conv.txtʼ u ($1+7.73):2 w l3) plot が終わったらGNUPLOTを閉じる

1) cd ¥cal,(カンマ)後 改行せずにつなげる(1行で書く)

2) wgnuplot

コロン スペース

3) plot ʻBaTiO3̲Pm3-m¥BaTiO3̲conv.txtʼ u ($1+7.89):2 w l t ʻPm3-mʼ,
ʼBaTiO3̲R3m¥BaTiO3̲conv.txtʼ

u ($1+7.73):2 w l t ʻR3mʼ

原子位置のわずかなズレがPre-edge に出てくる

R=4.0Å (FMS)

4) plot が終わったらGNUPLOTを閉じる1) cd ¥cal¥BaTiO3̲Pm3-m

スペース2) wgnuplot

常誘電相(Pm3-m),(カンマ)後 改行せずにつなげる(1行で書く)

3) plot [-5:45][:10] ʼBaTiO3̲sd0.txtʼ u ($1+7.89):13 w l t ʻTi-pʼ,ʻBaTiO3̲sd0.txtʼ u ($1+7.89):25 w l t ʻTi-dʼ,ʻBaTiO3̲sd3.txtʼ u ($1+7.89):13 w l t ʻO-pʼ

4) plot が終わったらGNUPLOTを閉じる

Ti-d
O-p Ti-p にはd軌道は混成してない！

1) cd ¥cal¥BaTiO3̲R3m

スペース2) wgnuplot

強誘電相(R3m),(カンマ)後 改行せずにつなげる(1行で書く)

3) plot [-5:45][:10] ʼBaTiO3̲sd0.txtʼ u ($1+7.73):13 w l t ʻTi-pʼ,ʻBaTiO3̲sd0.txtʼ u ($1+7.73):25 w l t ʻTi-dʼ,ʻBaTiO3̲sd3.txtʼ u ($1+7.73):13 w l t ʻO-pʼ

4) plot が終わったらGNUPLOTを閉じる

反転中心対称性の破れにより

Ti-d
O-p

Ti-d と O-p の反結合軌道に
Ti-p が混成する

Ti-p (Ti K-edge XANES)

常誘電相(Pm3-m)反転対称性がある場合

Ti − d V Ti − p = 0
偶

偶奇

on-siteで Ti の p 軌道 と d 軌道は混成しない

強誘電相(R3m)反転対称性がない場合

Ti − d V Ti − p ≠ 0
偶

奇奇on-siteで Ti の p 軌道 と d 軌道は混成する

E1E1 遷移(dipole-transition) でも対称性の破れにより
pre-edge が育つ

R=4.0Å (FMS)22 0.5000 0.5000 0.5000 ! Ti
56 0.0000 0.0000 0.0000! Ba

8 0.0000 0.5000 0.5000!O

8 0.5000 0.5000 0.0000
8 0.5000 0.0000 0.5000!O!O

Ti の内部座標を x,y,z 方向ΔだけシフトさせたときのXANES

R=4.0Å (FMS)

仮想的な歪みのXANESの計算

Absorber
1

多極子展開
デフォルトは Dipole transition!

FiloutBaTiO3!

Quadrupole (E1E2 and E2E2)
Octupole(E1E3 and E3E3)
Dipmag
E1E2
E1E3
E2E2
E3E3

E1M1
M1M1

No̲E1E1
No̲E2E2
No̲E1E2
No̲E1E3(E1M1) and (M1M1)

Range-15. 0.2 0. 0.5 10. 1. 45.

!

Quadrupole

!

Edge
K

四極子展開を考慮した計算!

Convolution

!

Green

!

Radius
5.0!

Crystal4.0060 4.0060 4.0060 90.0000 90.0000 90.0000
22 0.0000 0.0000 0.0000 ! Ti
56 0.5000 0.5000 0.5000 ! Ba
8 0.5000 0.0000 0.0000 ! O
8 0.0000 0.5000 0.0000 ! O
8 0.0000 0.0000 0.5000 ! O!

BaTiO3 常誘電相(Pm3-m)四極子転移によりd軌道が混ざる(非常に小さい)

デフォルトで E1E1 が自動で入ってしまうので
E2E2 のみの計算をしたけ
れば 必ずNo̲E1E1 をする必要がある双極子転移

Filout
TiO2

!

!

四極子転移

Have a beautiful day !

E2E2のみ計算

QuadrupoleNo̲E1E1
No̲E1E2

Range-10. 0.2 0. 0.5 10. 1. 40.

Appendix

構造変換 or 構造作成

(FDMNESには未対応)

助けてくれるツールたち

わりと万能な構造変換機能があるツール

Python Framework

Atomic Simulation Environment

https://wiki.fysik.dtu.dk/ase/

cif2cell http://sourceforge.net/projects/cif2cell/
C-Tools http://sourceforge.net/projects/c-tools/
Xtaledit http://pmt.sakura.ne.jp/wiki/index.php?title=XtalEdit
Python Framework+Tools(構造以外にもFDMNESの各機能にもほぼすべて対応)

Structure Analysis Environment (仮) (中田謙吾/JASRI, 公開準備中)
̶> RMC̲POT, FDMNES, 国産コードにも対応

̶> 一部機能がしょぼいので ASEと組み合わせるのが吉空間群の入力の際の注意
および
cif での入力の話

空間群にチョイスがある場合は注意
例) ダイアモンド型構造

Fd-3m
(227)

格子点を原子位置に一致

格子点を反転中心にとる

Non-Symmorphic Space Group

Symmorphic Space Group

チョイス1

チョイス2

+部分的並進操作

International Tables for Crystallography (2006) から227, Fd-3m choice 1

Non-Symmorphic Space Group
0,0,08a サイト227, Fd-3m choice 2
8a サイト

3/4, 1/4, 3/4

Symmorphic Space Group
1/8,1/8,1/8

7/8, 3/8, 3/8

spacegroup.txt (FDMNES)
Schoenﬂies

Hermann-Mauguin*227:1
Oh^7
Fd-3m:1x,y,z-x+1/4,-y+1/4,-z+1/4..

!
*227:2Oh^7x,y,z-y,x+1/4,z+1/4..

Fd-3m:2

Hall

F 4d 2 3 -1d-F 4vw 2vw 3

Spgroup
Fd-3m:1!

Diamond

チョイス1

Crystal3.567 3.567 3.567 90. 90. 90.
6.0 0.0 0.0 0.0
6.0 0.75 0.25 0.75

SpgroupFd-3m:2!

チョイス2

Crystal3.567 3.567 3.567 90. 90. 90.
6.0 0.125 0.125 0.125
6.0 0.875 0.375 0.375*) チョイスありの H-M 記号で入力
サイトの記述についての注意
SpgroupFd-3m:1!
Crystalチョイス1,パターンA

3.567 3.567 3.567 90. 90. 90.
6.0 0.0 0.0 0.0
6.0 0.75 0.25 0.75

SpgroupFd-3m:1!
CrystalDiamondサイトのwycoﬀ 位置 を全部書く

8a サイト

0,0,0

3/4, 1/4, 3/4

チョイス1,パターンB

3.567 3.567 3.567 90. 90. 90.
6.0 0.0 0.0 0.0

サイト内の代表選手のみ記述
8a サイト

0,0,0

3/4, 1/4, 3/4

空間群は指定しておく (しなくてもよい)
チョイス1,パターンC

SpgroupFd-3m:1!

Crystal3.567 3.567 3.567 90. 90. 90.
6.0 0.0 0.0 0.0
6.0 0.0
6.0 0.5
6.0 0.5

6.0 0.75
6.0 0.25
6.0 0.25
6.0 0.75

Diamond0.5 0.5
0.5 0.0
0.0 0.5

8a サイト0.25 0.75
0.25 0.25
0.75 0.75
0.75 0.25

サイト内の原子座標をP1で書く(8aサイトなので8つある)空間群を使っても使わなくても、同じ構造を記述すれば良い

コードの内部ではその構造の元で、自動で空間群を探して波動関数や電荷の対称化は行われる。

cif ファイルから直接入力は出来ないの？
FDMNES には cif 入力の機能はありません*) PDBファイルの入力機能はありますが微妙に使えません

FDMNESは2016.01.08 の update で cif に対応しましたが・・・*) cifファイルの入力機能はありますが微妙に使えません*) 対応している対称性が少ない(例:Rhombo はダメで Hexaに変換しなくてはいけない)*) 計算に必要な情報をすべて揃えているcifでないとダメ(例:チョイスなど)*) P1 の cif はダメっぽい

対応してない cif が多すぎる

原則的には
1) cifファイルを読んで構造を理解すればよい
ただし、cif ファイルの中身は実はかなり複雑
2) cifが作られた論文を読めば構造情報がわかる
3) cifを VESTA や CrystalMaker で読み込ませる
自分が理解している出力形式へエクスポート
4) FDMNES に対応した構造ツールを使う(1) 拙作 StructureAnalysisEnvironment (仮) 近日公開予定(2) pyFDMNES (FDMNES専用の Python Framework)cif ファイルの一番シンプルな内部構造̲pd̲phase̲name̲cell̲length̲a'TiO2 Rutile'4.593(2)̲cell̲length̲b̲cell̲length̲c̲cell̲angle̲alpha4.593(2)2.959(2)90̲cell̲angle̲beta90
̲cell̲angle̲gamma
90
̲symmetry̲space̲group̲name̲H-M̲symmetry̲Int̲Tables̲number!

̲atom̲site̲type̲symbol
Ti
1 0
0
O
1 0.3051(7) 0.3051(7)元素名 占有率TiO2 Rutile

cell parameter'P 42/m n m'
136

0
0

space group

Biso 0.42 Ti
Biso 0.60 O

x,y,z！！！簡単そうだ！！！
cif ファイル中でのチョイスの記述は？
(Hall記号が併記してないcifがある)

Diamond

Diamond型 C (227,Fd-3m)
̲cell̲length̲a̲cell̲length̲b̲cell̲length̲c3.56700

3.56700
3.56700

̲cell̲angle̲alpha90
̲cell̲angle̲beta90
̲cell̲angle̲gamma
90
̲symmetry̲space̲group̲name̲H-M̲symmetry̲Int̲Tables̲number'F d -3 m'

227

実は 素のHermann-Mauguin記号なのでチョイスが判らんチョイス1

よく見ると対称操作が異なるloop̲
̲symmetry̲equiv̲pos̲as̲xyz'x, y, z''-x, -y+1/2, z+1/2''-x+1/2, y+1/2, -z''x+1/2, -y, -z+1/2''z, x, y''z+1/2, -x, -y+1/2''-z, -x+1/2, y+1/2''-z+1/2, x+1/2, -y''y, z, x'+部分的並進操作

Diamond

チョイス2

loop̲
̲symmetry̲equiv̲pos̲as̲xyz'x, y, z''-x, -y, -z''-x+3/4, -y+1/4, z+1/2''x+1/4, y+3/4, -z+1/2''-x+1/4, y+1/2, -z+3/4''x+3/4, -y+1/2, z+1/4''x+1/2, -y+3/4, -z+1/4''-x+1/2, y+1/4, z+3/4''z, x, y'(Non-Symmorphic Space Group)

原理的にはチョイスが見極められるのだが・・・

手動でチョイスを並進操作を見極めるのがしんどい
一番？簡単な方法としては

Diamond

VESTA or CrystalMaker で対称性を P1 に落とすこと

VESTA

Diamond

Remove symmetry

VESTA
対称性あり

DiamondFd-3m:1 の元での 8aサイト
対称性なし

Remove symmetry

P1 にすると 8つのサイト

VESTA

注意) VESTA

Fd-3m:1

8aサイト

VESTA はサイトの代表選手以外を書いても正しく描画する

Fd-3m:1

Remove symmetry

P1

Diamond

もし 8aサイトの代表選手以外も記述してしまったら

重複してしまう
同じ座標を登録VESTAVESTA や CrystalMaker でサイトを記述するときは基本、サイトの代表選手のみ記述した方がその後に誤解が少ない

Remove symmetry

Diamond後にcif ファイルにエクスポートする
̲cell̲length̲a̲cell̲length̲b̲cell̲length̲c3.56700

3.56700
3.56700

̲cell̲angle̲alpha90
̲cell̲angle̲beta90
̲cell̲angle̲gamma
90
̲symmetry̲space̲group̲name̲H-M̲symmetry̲Int̲Tables̲number

1

'P 1'

Diamondloop̲̲symmetry̲equiv̲pos̲as̲xyz'x, y, zʼ!
省略!
̲atom̲site̲type̲symbol

恒等操作のみP1での内部座標をゲット！

C
C
C

1.0
1.0
1.0

0.000000
0.000000
0.500000

0.000000
0.500000
0.500000

0.000000
0.500000
0.000000

Biso 1.000000 C
Biso 1.000000 C
Biso 1.000000 C

C
C

1.0
1.0

0.250000
0.750000

0.750000
0.750000

0.750000
0.250000

Biso 1.000000 C
Biso 1.000000 C

C
C
C

1.0
1.0
1.0

0.500000
0.750000
0.250000

元素記号

0.000000
0.250000
0.250000

0.500000
0.750000
0.250000

x,y,z

Biso 1.000000 C
Biso 1.000000 C
Biso 1.000000 C

FDMNESを
P1の内部座標で記述
Diamond

空間群にチョイスを含んだ cif ファイルは対称性を除いて P1 にして構造を作るのが間違いない(オススメ)

Crystal3.567 3.567 3.567 90. 90. 90.
6.0 0.0 0.0 0.0
6.0 0.0 0.5 0.5
6.0 0.5 0.5 0.0
6.0 0.5 0.0 0.5
6.0 0.75 0.25 0.75
6.0 0.25 0.25 0.25
6.0 0.25 0.75 0.75
6.0 0.75 0.75 0.25

計算したい構造をうまく記述する

分子系の記述は？

Crystal のとき

FDMNES は単位胞を周期的に配置する

SpgroupFd-3m:1!

Crystal3.567 3.567 3.567 90. 90. 90.

単位胞

6.0 0.0 0.0 0.0

Molecule のとき

DiamondMolecule
2.16 2.16 2.16 90. 90. 90.
26 0.0 0.0 0.0
8 1.0 0.0 0.0
8 -1.0 0.0 0.0
8 0.0 1.0 0.0
8 0.0 -1.0 0.0
8 0.0 0.0 1.0
8 0.0 0.0 -1.0

孤立して配置される

FeO6

for FDMNES

SpgroupFd-3m:1!

Crystal3.567 3.567 3.567 90. 90. 90.
6.0 0.0 0.0 0.0
6.0 0.75 0.25 0.75

mesh parameter
unit-cell
unit-cell を単位とした
内部座標

分子系の入力はxyz(Cartesian)ではなくDirectで行う
Molecule
2.16 2.16 2.16 90. 90. 90.
26 0.0 0.0 0.0
8 1.0 0.0 0.0
8 -1.0 0.0 0.0

mesh parameter
unit-cell
箱を作る必要

8 0.0 1.0 0.0

8 0.0 -1.0 0.0
8 0.0 0.0 1.0
8 0.0 0.0 -1.0

unit-cell を単位とした
内部座標

FDMNES での分子の構造作成は
実質的には分子を含んだ単位胞の作成となる(ただし、非周期)(注意)
通常の分子系の構造情報はcartesian で書かれている

PDB形式や xyz 形式などの cell の情報を持たない

ファイルフォーマットを元にするときには注意が必要
cell の情報を mesh parameter として用意する

FDM計算には mesh parameter が必要
VESTA では…

VESTA で PDB などの分子系の構造情報を読んだとき
output する方法

) 直接 POSCAR などの周期系の形式で output する〇) 一度 cif 形式に export する。

cif への output は分子の大きさが考慮されて自動で分子を含む単位胞が作られる
単位胞情報を持った後ならば周期系の形式へ出力が自由に出来る

VESTA では…

1) [File]-[Export Data…] で cif を選び保存する

2) 保存した cif を開く
3) 再度 [File]-[Export Data…] で好きな形式に output する
Crystal Maker では[Transform]-[Molecule to Crystal] を選択lattice parameter を設定

分子の情報に箱（unit-cell）加わる

lattice alattice blattice c
α
β
γ

F

to get the final states 'f (r ) (or some related quantities). Next
nd state
we calculate the matrix elements featured by equations (1)sorption and (3). Finally we perform the sum over the states in (1)hus we and (3) and the convolution.
mmationnit cell.
uum; we 2.2. The Schrödinger-like equation
j is theFDMNES features two ways of calculating 'f (r ): the finite
sum of differences method (FDM) and the multiple scattering theory
mes, and (MST), within the limits of the muffin-tin approximatione atomic (MT). The latter Convolution
assumes a crystalについて
potential that has sphericalthe off- symmetry around the atoms (the so-called muffin-tin spheres)on term and is constant in the remaining space. A radial SE is solved
i f j′′ (ω). within each sphere. The former uses the full potential and′(ω) < consists in constructing a space grid and discretizing the SE
we deal on the points of this grid. FDM does not introduce any
ween the approximation on the form of the potential and thus provides
ne Ôout . a more accurate but more time-consuming description of thessically scattering phenomena.
me, thected and2.3. The convolution
the firstLorentzian-convolution (畳み込み)
g to the The spectrum in (1) requires the convolution with a Lorentzian
drupole: having an energy-dependent width (f (ω) in order to accountブロードニングする前のスペクトルfor the broadening due both to the core hole width (hole and to(4)ブロードニング後
the spectral width γ (ω) of the final state:
Lorentzian 型$ ∞1(f (ω)ϵ the
σ conv (ω) =d E σ nonconv(E)
(5)
2
2
π
(f (ω) + (h̄ω − E)
EF
1

f(x)

0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1

0
-10

-5

0

2
⎛1 1
⎛ π Γ max ⎛1 ⎞⎞⎞Γ f (E − EF ) = Γ Hole + Γ max ⎜ + arctan ⎜
e
−
⎜⎝
2 ⎟⎟⎟
⎠⎠⎠
2
π
3
E
e
⎝
⎝
L arg

E − EFe=
Ecentarctangent 型

O. Bunau, Y. Joly, J. Phys.: Cond. Mat. 21, 345501 (2009

5

10

⎛1 1
⎛ π Γ max ⎛1 ⎞⎞⎞Γ f (E − EF ) = Γ Hole + Γ max ⎜ + arctan ⎜⎜⎝ e − 2 ⎟⎠ ⎟ ⎟
2
π
3
E
e ⎠⎠
⎝
⎝
L arg

J. Phys.: Condens. Matter 21 (2009) 345501

arctangent 型

E − EFe=Ecent

O Bunău

the final states of the same energy E (noΓwith
終状態の最大値
max f being

Γmax

Ecent

at one state per Rydberg). In some cases the lowe
is different from the Fermi energy E F , aΓthisholeintegral
ホールの幅
discuss in section 5.1.

arctangent の幅
3. The multiple scattering theory
Ecent arctangent の中心

ELarg

In this paper we will focus on the MST as an alte
the SE for an electron moving in a potentia
Esolvefermi Fermi Level
show the link with the electronic density, which w
our self-consistent procedure. Only non-magnetic
considered; we therefore make no further referenelectron spin. In this approach we calculate thel ′ m ′ ;( j )Figure 1. !f has an arctangent-like form, centred at E ctr and whose(E), also know
scattering
amplitude
matrix τl,mO.
Bunau,Y.
Joly,
J.
Phys.:
Cond.
Mat.
21,
345501(2009
defining parameters are the slope !max /E l at E ctr and the total heighttransmission t matrix, for each atomic scatterer j and!max .
on the spherical harmonics basis. As the t matrix isthe full Green function Ĝ , we thus have a complete dconvolution(畳み込み)
ofthe interacting system
[19]:
with
!f (ω) = !hole + γ (ω).
(6)
Filout##l ′ m ′ ;( j )G (r , r ′ ; E) =&l∗′ ,m ′ (r ′ ; E)τl,m(E)&l,mnonconv
conv(ω) and σ (ω) are the unconvoluted andHere σCu
Cu.txt′′l,l m,mthe! convoluted absorption signal, respectively. In practise, one
Cu̲bav.txt
uses the standard, tabulated [17], edge-dependent and energyEquation (9) is valid in the interior of the muffinRange
independent (i.e. the screening is treated statically) values for for the j scatterer,Cu̲conv.txt
where the wavefunction describing-10.
0.2energy
0. 0.5
10. 1. 40.
!hole
. The
dependenceof the broadening is entirely
states can be expanded in the spherical harmonics ba
inp.txt
due! to γ and is a signature of the inelastic electron scattering
We use the expansion
phenomena.
Radius
fdmﬁle.txt#
We agree to set γ according to the arctangent model, anf&f (r ; E) =al,m(E)bl (r, E)Ylm (r̂ ).
3.0 model close to the Seah–Dench formalism [18]:empirical
spacegroup.txt
出力l,m!!f (E − E F ) = !hole + !max
!
!
"""
!
(r̂ ) are the spherical harmonics (whic
Here Ylmxsect.dat
π !max1
11
Crystale− 2;×+ arctantakeineitherthe real or the complex basis, depe
2 3.61π
3 E90.
l3.61
3.61
90.e 90.
the symmetry) and φl (r ; E) = r bl (r, E) is theE − EFf29e =0.0 0.0
0.0(7) of the radial SE at energy E . al,m(E) are theE ctr
dependent atomic amplitudes chosen to ensure the c
29 E
0.5is the
0.5
0.0
where
Fermi
energy and the parameters describingFof のthe solution
in the などを考慮
muffin-tin sphere with the fcore-hole
life time29
0.5 0.0
inflection
thearctangent
are: the0.5
total height !max = 15 eV, thewavefunction. The latter is normalized to the density= 30 0.5
eV and the inclination El = 30 eV of thepoint
ctr − E F0.5
29 E0.0of the continuum, hence &f (r ; E) has the adequate
arctangent (figure 1). As far as the calculations in this paper アークタンジェント型の!
are concerned, we maintained these parameters unchanged. In practise, we cut this expansion at a maximum value l
Lorentzian でブロードConvolution
figure1, the inflection point corresponds to the emergence of the l quantum number, which depends on the energy
to the rulethescale is referenced to the Fermi ニングしたスペクトルを%√! plasmons. The energy
convolution 畳み込みをする
lmax (lmax + 1) = E rMTlevel E F whereas its zero points to vacuum energy. To haveEnd
an approximate indication on the energy of the photon, one 出力する
where both the energy E and the muffin-tin radiu
should add the energy of the edge.
expressed in atomic units.
We use the same !f as in the sum over the states for the

傾き= Γmax/ELarg

計算後に convolution パラメーターを変えて再convolution する

現在の Convolution パラメーターを確認
スペース

スペース

1) Select-String Gamma̲ *.txt(Gamma 値を検索)

Gamma̲max = 15.00

デフォルトでは固定値

Gamma̲hole = 1.55
Efermi = -6.93 eV(元素毎に規定値が用いられている)

Ecent = 30.00
Elarg = 30.00(計算値: convolution スタート)

Cu ディレクトリのしたに ReConvolution ディレクトリを作ってconvolutin 用の計算をする準備をする
スペース

tree /F ¥cal
ディレクトリやファイルのツリー表示
スペース

tree /F
計算結果をコピー

カレントディレクトリ以下をツリー表
示 (/F を付けるとファイルも表示)

スペース

スペース

tree /F 指定ディレクトリ
指定ディレクトリ以下をツリー表示(/F を付けるとファイルも表示)

計算後に convolution パラメーターを変えて再convolution するスペース1) cd ¥cal¥Cu2) mkdir ReConvolution3) cd ReConvolution4) cp ..¥Cu.txt .
5) cp ..¥fdmﬁle.txt .

6) cp ..¥spacegroup.txt .
7) cp ..¥xsect.dat .
8) cp ..¥inp.txt .

Cu の計算結果があるディレクトリへ
再convolution 用のディレクトリ作成

Cu の計算結果をコピーする計算に必要な基本ファイルのコピー

入力ファイルのひな形をコピー

Convolution 用の入力ファイルの編集と設定
スペース

start .¥inp.txt

inp.txt の編集

inp.txt!

!

!

Calculation
Cu.txtConv̲outCu̲conv̲2.txt
Gamma̲max
5.

Cu の計算結果を用いる
convolution に用いる計算結果
出力ファイル名入力に必要な値はこれだけです
それ以外は消してください

Gamma̲max
終状態のボケ幅の最大値!
Convolution!
End

GNUPLOT用にコメントアウトしていた Cu.txt を元に戻す

スペースstart .¥Cu.txt
Cu.txt の編集

コメントアウトを外す
名前を付けて上書き保存

Cu 以下の ReConvolution ディ
レクトリで作業しています

自分が作業しているディレクトリ、編集しているファイルの確認

ls（編集しているファイル、場所は意図しているものものですか？)再Convolution 計算します

fdmnes̲wn64.exe を実行します (64bit windows)

一瞬で計算が終わります

計算後の画面再Convolution 後に出来るファイル
ls

inp.txt 中の Conv̲out タグで指定したファイル
再Convolution 結果

ʻCu̲conv̲2.txtʼ コメントアウト忘れずにスペースstart .¥Cu̲conv̲2.txt

Cu̲conv̲2.txt の編集

コメントアウト(最初の1行)

名前を付けて上書き保存

再Convolution の結果と、それ以前の結果を比較プロット
1) wgnuplot
スペース

スペース

カンマ

一つ上のディレクトリ

2) plot ʻCu̲conv̲2.txtʼ w l, ʻ..¥Cu̲conv.txtʼ w lスペクトルのボケ具合を調整することができるΓmax=5

Γmax=153) plot が終わったらGNUPLOTを閉じるΓmax = 1 〜 9 変化

Γmax = 15.0 固定

Γhole = 1.55 固定

Γhole = 1 〜 5 変化

Γmax を変化(Γmax は規定値のまま)(Γhole は固定値)

Γhole を変化

後半部分のスペクトルの変化

全体的なスペクトルのボカし
実験値

実験値

R=7.0 FDM

Convolution パラメーターの実験値へのフィット

FCC Cu
green R4

Efermi を変更するとconvolution 後の結果が変わる

Efermiconvolution パラメーターを実験に合わせるよう ﬁt する(Rファクターでミニマム)

Metric̲out
Cu̲ﬁt.log!

Experiment

Cu̲K̲Cu̲foil̲Si311̲50ms̲140625.txt.nor

Gen̲shift-20. 20. 100!

Parameter

!

!
自動ﬁt

!

!

Par̲ecent
0. 50. 100.

Centra energy for the arctangentsPar̲elarg
0. 50. 100.

Energy width for the arctangents

Elarg

Par̲efermi-10. 10. 100.

Fermi energy

EfermiPar̲gamma̲hole

Hole widthΓhole

0. 10. 100.

!

Ecent

Maximum width for the final statesPar̲gamma̲max
Γmax
0. 20. 100.

Cu2O の DOS(sd*.txt) のナンバリングについて

Cu2O̲sd0.txt
Cu2O̲sd1.txt
Cu2O̲sd2.txt

どの原子のLDOSなのか？

計算ログ(Cu2O̲bav.txt)の中を見る
Crystalngroup =6, ntype = 2

入力した構造情報の確認

a, b, c = 4.2676000 4.2676000 4.2676000
alfa, beta, gamma = 90.000 90.000 90.000
Z Typ
posx
posy
posz
29 1 0.0000000000 0.0000000000 0.0000000000
29 1 0.5000000000 0.5000000000 0.0000000000
29 1 0.5000000000 0.0000000000 0.5000000000
29 1 0.0000000000 0.5000000000 0.5000000000
8 2 0.2500000000 0.2500000000 0.2500000000
8 2 0.7500000000 0.7500000000 0.7500000000

2種類
6原子

FDMES は入力の結晶/分子構造からクラスターを自動作成

入力構造
入力構造

入力構造での対称性のファインダー

クラスター

吸収原子を中心とした半径Rのクラスターの作成

構造

クラスター内での対称性のファインダー

入力した構造情報の対称性の確認

入力した結晶の通しの原子の番号---- Symsite!
ipr = 1, Z = 29, natomsym =
!
igr
1
2
3
4

!
!

4

posx
posy
posz
sym code
0.00000 0.00000 0.00000
E
10.50000 0.50000 0.00000
C3̲1-1140.50000 0.00000 0.50000
C3̲-11160.00000 0.50000 0.50000-C3̲1-11

2

igr

sym

5
6

posy

posz

0.25000 0.25000 0.25000
0.75000 0.75000 0.75000(等価な原子が4つ)

5

ipr=2

ipr = 2, Z = 8, natomsym =
posx

ipr=1

code

(等価な原子が2つ)E
1C2̲110 10系の対称性から二種類のサイトが見つかる

作成したクラスター構造の確認元になった結晶で対称性での分類番号(ipr)元になった結晶の通し番号(igr)クラスターの通し番号(ia)Cluster: atom positions in order, in the internal R2 bases
Z
posx
posy
posz
29 0.000000 0.000000 0.000000 !
8 0.000000 0.000000 -1.847925 !
8 0.000000 0.000000 1.847925
29 -3.017649 0.000000 0.000000
29 -1.508824 -2.613361 0.000000
29 1.508824 0.871120 -2.463900
29 3.017649 0.000000 0.000000

!
!
!
!
!

dista
ia igr ity ipr chargat
0.000000 1
1 0 0 0.00000
1.847925 2
6 2 2 0.00000
1.847925
3.017649
3.017649
3.017649
3.017649

3
4
5
6
7

5
2
3
4
2

2
1
1
1
1

2 0.00000
1 0.00000
1 0.00000
1 0.00000
1 0.00000

クラスターは absorber が原点に作られる

Atom̲selec 項目のチェック元になった結晶の通し番号(igr)---- Atom̲selec!

Rsort =

Absorber

4.651 Anx = 25
natome = 7, igrpt = 17, Cluster̲comp = T, Cluster̲mag = F

No Full̲atom mode

!

ia

Z

it igr ipr iap

posx

posy

posz

1 29 01 0

5

6 2 21 3.01765 1.74224 0.61598

2 8 2
3 29 1
4 29 18 2

6 29 1
7 8 2

igrpt PtGrName Comp

1 0.00000 0.00000 0.00000 17

5 2 3 0.00000 0.00000 1.84793 16
2 1 7 3.01765 0.00000 0.00000
1
2 1 12 0.00000 1.74224 2.46390
1
1 1 27 3.01765 1.74224 2.46390
6 2 31 0.00000 3.48448 3.07988

1

1
1

-3

T

T

F

3
1
1

T
T
T

T
F
F

F
F
F

1
1

T
T

F
F

F
F

1

T

F

sd0
sd2
sd1

Cu*
O
Cu

F

O原子のLDOSは Cu2O̲sd2.txt ファイルに記述される元構造では５番目の原子Cu2O のDOS(sd*.txt) の中身について

Cu2O̲sd0.txt ファイルの中身

先頭の三行だけを詳しく見る

Cu2O̲sd0.txt ヘッダ情報を三行だけ抜き出す
1行目

EnergyInt̲tn(1,-1)
Intn(1,-1)n̲l(1)
Intn̲l(1)n(2,0)
Intn(2,0)n(0,0)
n(1,0)n(2,-2)n(2,1)

Intn(0,0)Intn(1,0)Intn(2,-2)
Intn(2,1)n̲l(0)
Intn̲l(0)n(1,1)
Intn(1,1)n(2,-1) Intn(2,-1)n(2,2)
Intn(2,2)n̲l(2)
Intn̲l(2)-10.0000 1.62013E-02 1.80092E-03 2.64731E-05
3.60185E-03 5.29462E-05 3.02240E-02 4.44284E-04
4.51506E-02 6.63701E-04 3.02240E-02 4.44284E-04

2行目

3行目

2.11197E-01 3.10454E-03 2.22016E-02 3.26358E-04
1.91143E-012.80975E-03 1.69865E-02 2.49697E-04
1.91143E-01 2.80975E-03 2.22016E-02 3.26358E-04
8.87353E-01 1.30438E-02-9.8000 2.10233E-02 1.72160E-03 5.17802E-05
3.44320E-03 1.03560E-04 1.25301E-03 4.62703E-04
5.65732E-03 7.46862E-04 1.25301E-03 4.62703E-04

1.63267E-02 3.34454E-03 2.87245E-02 7.48600E-04
4.02563E-02 3.40151E-03 1.61685E-02 4.87370E-04
4.02563E-02 3.40151E-03 2.87245E-02 7.48600E-04
3.08260E-01 1.75752E-02

int̲t に対応しているのは 二列目
1行目

EnergyInt̲tn(1,-1)
Intn(1,-1)n̲l(1)
Intn̲l(1)n(2,0)
Intn(2,0)n(0,0)
n(1,0)n(2,-2)n(2,1)

Intn(0,0)Intn(1,0)Intn(2,-2)
Intn(2,1)n̲l(0)
Intn̲l(0)n(1,1)
Intn(1,1)n(2,-1) Intn(2,-1)n(2,2)
Intn(2,2)n̲l(2)
Intn̲l(2)-10.0000 1.62013E-02 1.80092E-03 2.64731E-05
3.60185E-03 5.29462E-05 3.02240E-02 4.44284E-04
4.51506E-02 6.63701E-04 3.02240E-02 4.44284E-04

2行目

3行目

2.11197E-01 3.10454E-03 2.22016E-02 3.26358E-04
1.91143E-012.80975E-03 1.69865E-02 2.49697E-04
1.91143E-01 2.80975E-03 2.22016E-02 3.26358E-04
8.87353E-01 1.30438E-02-9.8000 2.10233E-02 1.72160E-03 5.17802E-05
3.44320E-03 1.03560E-04 1.25301E-03 4.62703E-04
5.65732E-03 7.46862E-04 1.25301E-03 4.62703E-04

1.63267E-02 3.34454E-03 2.87245E-02 7.48600E-04
4.02563E-02 3.40151E-03 1.61685E-02 4.87370E-04
4.02563E-02 3.40151E-03 2.87245E-02 7.48600E-04
3.08260E-01 1.75752E-02

n(0,0) に対応しているのは 三列目
1行目

EnergyInt̲tn(1,-1)
Intn(1,-1)n̲l(1)
Intn̲l(1)n(2,0)
Intn(2,0)n(0,0)
n(1,0)n(2,-2)n(2,1)

Intn(0,0)Intn(1,0)Intn(2,-2)
Intn(2,1)n̲l(0)
Intn̲l(0)n(1,1)
Intn(1,1)n(2,-1) Intn(2,-1)n(2,2)
Intn(2,2)n̲l(2)
Intn̲l(2)-10.0000 1.62013E-02 1.80092E-03 2.64731E-05
3.60185E-03 5.29462E-05 3.02240E-02 4.44284E-04
4.51506E-02 6.63701E-04 3.02240E-02 4.44284E-04

2行目

3行目

2.11197E-01 3.10454E-03 2.22016E-02 3.26358E-04
1.91143E-012.80975E-03 1.69865E-02 2.49697E-04
1.91143E-01 2.80975E-03 2.22016E-02 3.26358E-04
8.87353E-01 1.30438E-02-9.8000 2.10233E-02 1.72160E-03 5.17802E-05
3.44320E-03 1.03560E-04 1.25301E-03 4.62703E-04
5.65732E-03 7.46862E-04 1.25301E-03 4.62703E-04

1.63267E-02 3.34454E-03 2.87245E-02 7.48600E-04
4.02563E-02 3.40151E-03 1.61685E-02 4.87370E-04
4.02563E-02 3.40151E-03 2.87245E-02 7.48600E-04
3.08260E-01 1.75752E-02(注意)
計算した物質の原子種に応じて、このヘッダは毎回異なる( lmax が異なるため)
EnergyInt̲tn(1,-1)
Intn(1,-1)n̲l(1)
Intn̲l(1)n(2,0)

Intn(2,0)n(0,0)
n(1,0)n(2,-2)n(2,1)n̲l(2)

Intn(0,0) n̲l(0)Intn̲l(0)Intn(1,0)n(1,1)
Intn(1,1)Intn(2,-2) n(2,-1) Intn(2,-1)

Intn(2,1)
Intn̲l(2)n(2,2)

Intn(2,2)

ここでのn(0,0) などの意味はreal spherical harmonics を意味しているreal spherical harmonics
l=1
m=-1: p̲ym= 0: p̲z
m= 1: p̲x!

l=2

m=-2: d̲xym=-1: d̲yz

m= 0: d̲z2
m= 1: d̲xz
m= 2: d̲x2-y2

局所状態密度

積分局所状態密度n(1,-1)intn(1,-1)n(1,0)

intn(1,0)n(1,1)

intn(1,1)

局所状態密度

積分局所状態密度n(2,-2)intn(2,-2)n(2,-1)intn(2,-1)n(2,0)

intn(2,0)n(2,1)

intn(2,1)n(2,2)

intn(2,2)

復習

complex spherical harmonics

Yl m (θ , φ ) = (−1)(m+ m )/2

2l + 1 (l − m )! mPl (cosθ )eimφ
4π (l + m )!

real spherical harmonics⎧⎪⎪⎪
Ylm = ⎨
⎪
⎪
⎪⎩

(

i
Yl m − (−1)m Yl − m
2)

if m = 0

Yl m

(

1
Yl − m + (−1)m Yl m
2

if m < 0)

if m > 0orbitalcomplex spherical harmonics

real spherical harmonics

py

Y1−1 =

pz
px

Y10
Y11 =

d xy

Y2−2

d yz

Y2−1 =

d3z2 −r 2

Y20

d xz

Y21 =

d x 2 −y2

Y22

s軌道

(

)

(

)

i
Y1−1 + Y11
2
1
Y1−1 − Y11
2

=

=

(

)

(

)

(

)

i
Y2−2 − Y222i
Y2−1 + Y21
2

1
Y2−1 − Y21
2
1
Y2−2 + Y2−22

局所状態密度()

局所積分状態密度n̲l(0)

intn̲l(0)p軌道n̲l(1)

intn̲l(1)d軌道n̲l(2)

intn̲l(2)Cu2O̲sd0.txt ヘッダ情報を一行目
EnergyInt̲tn(1,-1)
Intn(1,-1)n̲l(1)
Intn̲l(1)n(2,0)
Intn(2,0)n(0,0)
n(1,0)n(2,-2)n(2,1)n̲l(2)

Intn(0,0) n̲l(0)Intn̲l(0)Intn(1,0)n(1,1)
Intn(1,1)Intn(2,-2) n(2,-1) Intn(2,-1)
Intn(2,1)n(2,2)
Intn(2,2)
Intn̲l(2)１行５列: n̲l(0) ̶> s軌道

１行13列: n̲l(1) ̶> p軌道

１行25列: n̲l(1) ̶> d軌道

復習

Cu2O̲sd0.txt の1行目をコメントアウト
Energyn(1,0)n(2,-1)Int̲t

Intn(1,0)Intn(2,-1)n(0,0)n(1,1)n(2,0)

Intn(0,0)n̲l(0)

Intn̲l(0)n(1,-1)

Intn(1,-1)

Intn(1,1) n̲l(1)Intn̲l(1)n(2,-2)Intn(2,-2)
Intn(2,0)n(2,1)
Intn(2,1)n(2,2)
Intn(2,2)n̲l(2)
Intn̲l(2)-10.0000 1.62013E-02 1.80092E-03 2.64731E-05 3.60185E-03 5.29462E-05
3.02240E-02 4.44284E-04 4.51506E-02 6.63701E-04 3.02240E-02,,,# EnergyInt̲tn(1,0)
Intn(1,0)n(2,-1)

Intn(2,-1)n(0,0)n(1,1)n(2,0)

Intn(0,0) n̲l(0)Intn(1,1) n̲l(1)Intn̲l(0)Intn̲l(1)n(1,-1)n(2,-2)Intn(1,-1)
Intn(2,-2)

Intn(2,0)n(2,1)
Intn(2,1)n(2,2)
Intn(2,2)n̲l(2)
Intn̲l(2)-10.0000 1.62013E-02 1.80092E-03 2.64731E-05 3.60185E-03 5.29462E-05
3.02240E-02 4.44284E-04 4.51506E-02 6.63701E-04 3.02240E-02
4.44284E-04 2.11197E-01 3.10454E-03 2.22016E-02 3.26358E-04,,,

O原子のLDOSを確認する (Cu2O̲sd2.txt)
Energyn(1,-1)Int̲t

Intn(1,-1)n(0,0)

n(1,0)n̲l(1)

Intn(0,0)Intn(1,0)Intn̲l(1)n̲l(0)n(1,1)

Intn̲l(0)Intn(1,1)

１行５列: n̲l(0) ̶> s軌道

１行13列: n̲l(1) ̶> p軌道

wgnuplot を開く
plot [] [0:4] ʼCu2O̲sd0.txtʼ u ($1+5.52618):13 w l,
ʻCu2O̲sd2.txtʼ u ($1+5.52618):5 w l,
ʻCu2O̲sd2.txtʼ u ($1+5.52618):13 w l

BaTiO3 のDOS(sd*.txt) の中身について

pre-edge の起源を探る

局所状態密度の解析

BaTiO3̲Pm3-m の BaTiO3̲bav.txt の確認元になった結晶の通し番号(igr)---- Atom̲selec!

Rsort =

3.467 Anx = 19
natome = 5, igrpt = 8, Cluster̲comp = F, Cluster̲mag = F

No Full̲atom mode

!

ia Z

it igr ipr iap

4

4 3

posx

posy

posz igrpt PtGrName Comp Axe Mag

1 22 0
2 8 3
3 8 3

1 0
3 3
5 3

1 0.00000 0.00000 0.00000
5 0.00000 0.00000 2.00180
6 0.00000 2.00180 0.00000

8
6
6

mmm F
mm
F
mm
F

T
T
F

F
F
F

5 56 22 2 15 2.00180 2.00180 2.00180

1

1

F

F

8 3

7 2.00180 0.00000 0.00000

sd0 ̶> Ti のLDOS
sd2 ̶> Ba のLDOS
sd3 ̶> O のLDOS

6

mm

F

F

F

F

ログファイルの確認

sd0 ̶> Ti のLDOS
EnergyInt̲tn(1,0)
Intn(1,0)n(2,-1) Intn(2,-1)n(0,0)n(1,1)n(2,0)

Intn(0,0)Intn(1,1)Intn(2,0)n̲l(0)n̲l(1)
n(2,1)

Intn̲l(0)Intn̲l(1)Intn(2,1)n(1,-1)n(2,-2)n(2,2)

Intn(1,-1)
Intn(2,-2)
Intn(2,2)

Intn(0,0)Intn(1,1)Intn(2,0)n̲l(0)n̲l(1)
n(2,1)

Intn̲l(0)Intn̲l(1)Intn(2,1)n(1,-1)n(2,-2)n(2,2)

Intn(1,-1)
Intn(2,-2)
Intn(2,2)n̲l(0)
Intn̲l(0)Intn(1,1) n̲l(1)n(1,-1)Intn̲l(1)Intn(1,-1)n̲l(2)

Intn̲l(2)sd2 ̶> Ba のLDOS
EnergyInt̲tn(1,0)
Intn(1,0)n(2,-1) Intn(2,-1)n̲l(2)n(3,0)n(0,0)n(1,1)n(2,0)

Intn̲l(2)n(3,-3)Intn(3,0) n(3,1)

Intn(3,-3)
Intn(3,1)n̲l(3)n(3,-2)Intn(3,-2)n(3,2)
Intn(3,2)
Intn̲l(3)n(3,-1)n(3,3)

Intn(3,-1)
Intn(3,3)

sd3 ̶> O のLDOS
EnergyInt̲tn(1,0)n(0,0)
Intn(0,0)Intn(1,0)n(1,1)

Ti-p : sd0 13行目

Ti-d : sd0 25行目

O-p : sd3 13行目

FDMNES のLinux での並列化版のビルド
およびMUMPSライブラリでの高速化について
OpenMPI + Intel Compiler + MKL

lso
of
tio

in
ray
tra
he

atom,1i,3 forming thus a new fundamental diagnostic tool in
Articlecondensed matter physics and chemistry.4 Among such codes
pubs.acs.org/JCTC
567multiple scattering FEFF-9, XKDQ, CONTINUUM, SPR8
9
10
KKR,
periodicbasis
set
Wien2k,and
PARATEC
should be
Optimized Finite Diﬀerence Method for the Full-Potential XANES
mentioned.Application
Several density
functional
theory Geometries(DFT)-based
Simulations:to Molecular
Adsorptionin
MOFs and Metal−Ligand Intersystem Crossing Transients

Sergey A. Guda,† Alexander A. Guda,*,‡ Mikhail A. Soldatov,‡ Kirill A. Lomachenko,‡,§ Aram L. Bugaev,‡
Received: April 7, 2015
Carlo Lamberti,‡,§ Wojciech Gawelda,∥ Christian Bressler,∥,⊥ Grigory Smolentsev,‡,#‡Alexander
V. Soldatov,
and28,
Yves2015
Joly∇,○
Published:
July

Publication Date (Web): August 11, 2015 | doi: 10.1021/acs.jctc.5b00327†

Faculty of Mathematics, Mechanics and Computer Science and ‡International Research Center “Smart Materials”, Southern Federal
University, 344090 Rostov-on-Don, Russia
4512§Department of Chemistry, NIS and CrisDi Centers, Turin University and INSTM Reference
DOI: 10.1021/acs.jctc.5b00327
Center, 10125 Turin, Turin, Italy
J.
Chem.
TheoryComput.
2015, 11, 4512−4521∥
European XFEL, Albert-Einstein-Ring 19, 22761 Hamburg, Germany⊥
The Hamburg Centre for Ultrafast Imaging (CUI), Universität Hamburg, Luruper Chaussee 149, 22761 Hamburg, Germany#
Paul Scherer Institute, Villigen, 5232, Switzerland∇
Inst NEEL, Université Grenoble Alpes, 38042 Grenoble, France○Institut NEEL, CNRS, 38042 Grenoble, France

MUMPS 等の疎行列ソルバーを使ったFDMNESの高速化について

S Supporting Information*

ABSTRACT:
Accurate modeling of the X-ray absorption near-edge(XANES) is
2015.07.03以降のFDMNESには spectra
彼らの仕事がマージされている
required to unravel the local structure of metal sites in complex systems and theirstructuralchanges upon chemical or light stimuli. Two relevant examples are reported
とてつもなく高速化される
here concerning the following: (i) the eﬀect of molecular adsorption on 3d metals hosted
inside metal−organic
frameworks and (ii) light induced dynamics of spin crossover in
ただし、ビルドがかなり煩雑になっているので注意が必要
metal−organic complexes. In both cases, the amount of structural models for simulation
can reach a hundred, depending on the number of structural parameters. Thus, the choiceof an accurate but computationally demanding ﬁnite diﬀerence method for the ab initio
X-ray absorption simulations severely restricts the range of molecular systems that can beanalyzed by personal computers. Employing the FDMNES code [Phys. Rev. B, 2001, 63,
125120] we show that this problem can be handled if a proper diagonalization scheme is applied. Due to the use of dedicatedsolvers for sparse matrices, the calculation time was reduced by more than 1 order of magnitude compared to the standard
Gaussian method, while the amount of required RAM was halved. Ni K-edge XANES simulations performed by the accelerated
version of the code allowed analyzing the coordination geometry of CO and NO on the Ni active sites in CPO-27-Ni MOF. The
Ni−CO conﬁguration was found to be linear, while Ni−NO was bent by almost 90°. Modeling of the Fe K-edge XANES ofphotoexcited aqueous[Fe(bpy)3]2+ with a 100 ps delay we identiﬁed the Fe−N distance elongation and bipyridine rotation upon
3つの外部ライブラリが必要
transition from the initial low-spin to the ﬁnal high-spin state. Subsequently, the X-ray absorption spectrum for the intermediate
triplet state with expected
100 fs lifetime
was theoretically predicted.
+ さらに
BLAS/BLACS/ScaLAPACK

2015.07.03以降のFDMNES にはpresence/absencedirectof certain ﬁngerprintfeatures and comparing
MUMPS Library: a parallel sparse
solver

1. INTRODUCTION

the data with the spectra of model compounds.2 The
appearance of progressively more sophisticated codes, together
ユーザー登録が必要
with the increased computational
capabilities, has made XANESa spectroscopy able to quantitatively conﬁrm or discard a
structural model for the environment of the X-ray absorbing
atom,1i,3 forming thus a new fundamental diagnostic tool incondensed matter physics and chemistry.4 Among such codes
multiple scattering FEFF-9,5 XKDQ,6 CONTINUUM,7 SPRKKR,8 periodic basis set Wien2k,9 and PARATEC10 should be
mentioned. Several density functional theory (DFT)-based

The knowledge about local atomic and electronic structure of
the active center is required for understanding the elementary
steps of chemical reaction. Experimental tools such as X-ray
absorption near-edge spectroscopy (XANES) or resonant X-ray
diﬀraction (RXD) can extract information not only about theelectronic structure of the absorbing atom of interest but also
about its local coordination environment. The interpretation ofthese experiments is often impossible without quantum ab initio
simulations.
Much progress has been made over the past two decades in
the understanding of the near-edge features of the X-ray
absorption spectra (XANES region).1 Earlier XANES spectra
were used mainly in a qualitative way, considering the

http://mumps.enseeiht.fr/

SCOTCH libraryhttps://www.labri.fr/perso/pelegrin/scotch/ 説明
http://gforge.inria.fr/projects/scotch/
Received: April 7, 2015

METIS library© 2015 American Chemical Society

DL

Published: July 28, 20154512

DOI: 10.1021/acs.jctc.5b00327
J. Chem. Theory Comput. 2015, 11, 4512−4521

http://glaros.dtc.umn.edu/gkhome/metis/metis/
downloadMUMPS 5.0.1

Makeﬁle.INTEL.PAR ベース
CC = mpicc

FC = mpif90
FL = mpif90
makeﬁle.inc
makemake z
4つのライブラリが作られる

必要ライブラリ
OpenMPIBLAS

BLACS
ScaLAPAC

lib/libdmumps.a
lib/libmumps̲common.alib/libpord.alib/libzmumps.a

scotch 6.0.4
cd srcMakeﬁle.inc
Make.inc/Makeﬁle.inc.i686̲pc̲linus2 ベース
LDFLAGSmake
make esmumps= -lz -lm -pthread -lrt

追加

libscotch/libscotch.alibscotch/libscotcherr.aesmumps/libesmumps.a

METIS library CMake 2.8 以上が必要

make conﬁg cc=icc preﬁx=~/lib/metis
make~/lib/metis/lib/libmetis.amake install

FDMNES の MakeﬁleIntel Compiler, MKL and OpenMPI.SUFFIXES: .f90!

FC = mpif90
EXEC = fdmnes
FFLAGS = -c -Iincludemumps

MUMPS

!

OBJ = main.o clemf0.o coabs.o convolution.o dirac.o fdm.o fprime.o general.o lecture.o mat.o metric.o \minim.o optic.o potential.o selec.o scf.o spgroup.o sphere.o tab̲data.o tddft.o tensor.o \mat̲solve̲mumps.o!

all: $(EXEC)!

$(EXEC): $(OBJ)$(FC) -o $@ $^ -Llibmumps -ldmumps -lmumps̲common -lpord -lzmumps \-Llibscotch -lscotch -lscotcherr \MUMPS

scotch-Llibesmumps -lesmumps \metis-L$(HOME)/lib/metis/lib -lmetis \-mkl \
BLAS, LAPACK-lmkl̲scalapack̲lp64 -lmkl̲blacs̲openmpi̲lp64-lpthread!

BLACS, ScaLAPACK

sphere.o: sphere.f90$(FC) -O1 -c $*.f90[今の場合の想定しているディレクトリ構成]%.o: %.f90

libmumps -> ../mumps/lib

includemumps -> ../mumps/include
libesmumps -> ../scotch/src/esmumps!

libmumpsseq -> ../mumps/libseq$(FC) -O2 -o $@ $(FFLAGS) $?

libscotch -> ../scotch/src/libscotch

libscotchmetis -> ../scotch/src/libscotchmetis

FCC CuFDM R=3.0
FDMNES 2015.01.05
FDMNES 2015.10.06 (with MUMPS)

34.8 sCPU
7.6 sCPU

4倍〜5倍 速度向上

FDM R=4.0

FDMNES 2015.01.05
FDMNES 2015.10.06 (with MUMPS)

240.9 sCPU
18.8 sCPU

13倍 速度向上

ZrO2 表面構造
FDMNES 2015.01.05

33 h, 9 min, 56 sCPU

FDMNES 2015.10.06 (with MUMPS)

0 h, 10 min, 24 sCPU
190倍 速度向上