XAFS 順問題ソルバー¶
最初に、チュートリアルを行うために必要な FEFF のインストールおよびテストを行います。
ダウンロード・インストール¶
odatse-XAFS のソースコードをリポジトリから取得します。
$ git clone https://github.com/2DMAT/odatse-XAFS.git
$ cd odatse-XAFS
FEFF 8.5 light のソースコード一式を配布サイトのリポジトリから取得し、ビルドします。 セットアップスクリプトが sample/feff/setup.sh に用意されています。
$ cd sample/feff
$ sh ./setup.sh
ビルドが成功すると、現在のディレクトリ内に feff85L
が作成されます。
注釈
intel Fortran コンパイラを利用する場合は、setup.sh の内容を書き換えて実行してください。
注釈
上記のセットアップスクリプトでは、FEFFが出力する中間ファイルのサイズを減らすため、不要なファイルの出力を抑制するパッチを適用しています。
計算実行¶
このチュートリアルでは実際に FEFF を使った計算をしてみます。
サンプルとなる入力ファイルは odatse-XAFS の sample/solver
以下にあります。
$ cd sample/solver
次に feff85L
を現在のディレクトリにコピーします。
$ cp ../feff/feff85L .
feff85L
を実行します。入力ファイルは feff.inp
(ファイル名は固定) です。
$ ./feff85L
以下のログが表示され、多数の出力ファイルが生成されます。
Feff 8.50L
Sample_data
Calculating potentials ...
free atom potential and density for atom type 0
free atom potential and density for atom type 1
free atom potential and density for atom type 2
initial state energy
overlapped potential and density for unique potential 0
overlapped potential and density for unique potential 1
overlapped potential and density for unique potential 2
muffin tin radii and interstitial parameters
iph, rnrm(iph)*bohr, rmt(iph)*bohr, folp(iph)
0 1.52927E+00 1.20700E+00 1.15000E+00
1 1.64543E+00 1.30998E+00 1.15000E+00
2 1.24843E+00 9.73397E-01 1.15000E+00
mu_old= -0.301
Done with module 1: potentials.
Calculating cross-section and phases...
0.579139710436025 4.256845921991644E-004 2.895698552180123E-002
10
absorption cross section
dx= 5.000000000000000E-002
phase shifts for unique potential 0
phase shifts for unique potential 1
phase shifts for unique potential 2
Done with module 2: cross-section and phases...
Preparing plane wave scattering amplitudes...
Searching for paths...
WARNING: rmax > distance to most distant atom.
Some paths may be missing.
rmax, ratx 6.00000E+00 0.00000E+00
Rmax 6.0000 keep and heap limits 0.0000000 0.0000000
Preparing neighbor table
Paths found 2 (maxheap, maxscatt 1 1)
Eliminating path degeneracies...
Plane wave chi amplitude filter 2.50%
Unique paths 2, total paths 2
Done with module 4: pathfinder.
Calculating EXAFS parameters...
doing ip = 1
Curved wave chi amplitude ratio 4.00%
Discard feff.dat for paths with cw ratio < 2.67%
path cw ratio deg nleg reff
1 0.1000E+03 1.000 2 1.8833
2 0.3835E+02 1.000 2 2.1978
2 paths kept, 2 examined.
Done with module 5: F_eff.
Calculating chi...
feffdt, feff.bin to feff.dat conversion Feff 8.50L
Sample_data Feff 8.50L
POT Non-SCF, core-hole, AFOLP (folp(0)= 1.150)
Abs Z=28 Rmt= 1.207 Rnm= 1.529 K shell
Pot 1 Z=16 Rmt= 1.310 Rnm= 1.645
Pot 2 Z= 8 Rmt= 0.973 Rnm= 1.248
Gam_ch=1.576E+00 H-L exch Vi= 0.000E+00 Vr=-5.000E+00
Mu=-3.013E-01 kf=1.695E+00 Vint=-1.125E+01 Rs_int= 2.140
PATH Rmax= 6.000, Keep_limit= 0.00, Heap_limit 0.00 Pwcrit= 2.50%
2 paths to process
path filename
1 feff0001.dat
2 feff0002.dat
Use all paths with cw amplitude ratio 4.00%
S02 1.000 Global sig2 0.00160
Done with module 6: DW + final sum over paths.
$ ls
atoms.dat feff0002.dat fpf0.dat log1.dat misc.dat mod5.inp pot.bin
chi.dat feff85L geom.dat log2.dat mod1.inp mod6.inp run.log
feff.bin files.dat global.dat log4.dat mod2.inp mpse.dat s02.inp
feff.inp fort.38 list.dat log5.dat mod3.inp paths.dat xmu.dat
feff0001.dat fort.39 log.dat log6.dat mod4.inp phase.bin xsect.bin
計算結果の可視化¶
出力ファイルのうち、分光スペクトルで参照するデータは chi.dat
です。内容は次のようになっています。
# Sample_data Feff 8.50L
# POT Non-SCF, core-hole, AFOLP (folp(0)= 1.150)
# Abs Z=28 Rmt= 1.207 Rnm= 1.529 K shell
# Pot 1 Z=16 Rmt= 1.310 Rnm= 1.645
# Pot 2 Z= 8 Rmt= 0.973 Rnm= 1.248
# Gam_ch=1.576E+00 H-L exch Vi= 0.000E+00 Vr=-5.000E+00
# Mu=-3.013E-01 kf=1.695E+00 Vint=-1.125E+01 Rs_int= 2.140
# PATH Rmax= 6.000, Keep_limit= 0.00, Heap_limit 0.00 Pwcrit= 2.50%
# S02=1.000 Global_sig2= 0.00160
# Curved wave amplitude ratio filter 4.000%
# file sig2 tot cw amp ratio deg nlegs reff inp sig2
# 1 0.00160 100.00 1.00 2 1.8833
# 2 0.00160 38.35 1.00 2 2.1978
# 2/ 2 paths used
# -----------------------------------------------------------------------
# k chi mag phase @#
0.0500 5.362812E-02 2.330458E-01 2.321993E-01
0.1000 5.425108E-02 2.327328E-01 2.352690E-01
0.1500 5.608660E-02 2.318076E-01 2.443784E-01
0.2000 5.790322E-02 2.308804E-01 2.534995E-01
0.2500 6.083927E-02 2.293763E-01 2.684505E-01
0.3000 6.372689E-02 2.278648E-01 2.834501E-01
0.3500 6.758157E-02 2.258418E-01 3.038991E-01
0.4000 7.135477E-02 2.237971E-01 3.245020E-01
0.4500 7.589064E-02 2.213458E-01 3.499599E-01
0.5000 8.032632E-02 2.188382E-01 3.758443E-01
0.5500 8.527557E-02 2.160851E-01 4.056746E-01
0.6000 9.014607E-02 2.132012E-01 4.365566E-01
0.6500 9.528167E-02 2.103058E-01 4.701976E-01
0.7000 1.003518E-01 2.071479E-01 5.057289E-01
0.7500 1.057128E-01 2.043406E-01 5.437356E-01
(以下略)
#
で始まるコメント行には計算時のモデルなどの情報が記載されます。
それに続いて閾値(\(k=0\))から始まる \(k\), \(\chi(k)\), \(|\chi(k)|\), 位相の情報が書き出されます。以下に \(\chi(k)\) をプロットした図を示します。

XAFSスペクトルの計算例¶