StoBe: X線吸収スペクトル(XAS)の計算
StoBe/
DeMonを例にして,計算手順,入力ファイルの作成方法を紹介します。入力ファイルは水1分子について構築します。
- 1.基底状態の計算
- まず基底状態の計算を行います。XPSと同様です。この後に内殻正孔状態などの計算を進める上で基本となります。この時の全エネルギーが必要となります。この時のエネルギーをE0としましょう。
% sh runstobe.sh h2o__O1.grd0
- 2.内殻正孔状態の計算
- 次に内殻正孔状態の計算を行います。水1分子では,内殻電子を有する原子は酸素原子1つしかありません。この時のエネルギーをE-1とします。これら2つのエネルギー差が内殻イオン化エネルギーとなります。
% sh runstobe.sh h2o__O1.grdx h2o__O1.grd0
- 3.XAS計算
- XAS計算を行います。StoBe/DeMonでは静的交換近似(static exchange approximation)を用います。また遷移強度の計算にはほとんどの場合,half core hole近似がよいようです。通常の基底関数を用いてSCF計算を行い,波動関数を求めるのですが,これだけでは励起状態を表現するのに基底が十分ではないため,遷移強度の計算には内殻正孔原子上に非常に大きな基底関数(20s20p20d)をおき,SCF計算で求めた波動関数を射影し新たな波動関数を決めます。これを用いて,ハミルトニアンの対角化を1回だけ行い,この解を用いて遷移モーメントを計算します。
% sh runstobe.sh h2o__O1.xas h2o__O1.grdx
吸収スペクトルを得るだけであれば上の手順で終了です。ここからいくつか補正をかけていき,求めるべきスペクトルの精度を上げていきます。
- 4.内殻イオン化エネルギーの補正
- XPS計算で求めた内殻励起エネルギーと上の3.で計算を行ったときに出力ファイルにある内殻励起エネルギーには誤差があります。これは静的交換近似を用いたことが主な原因です。この差分を求め,スペクトル全体をシフトします。通常第2周期の原子であれば,1-2eVの差があります。
- 5.共鳴励起状態の精度を上げる
- 4.の場合と同様ですが,我々は特に内殻励起しきい値近傍の構造に興味があります。これらは内殻共鳴励起状態とよびますが,3.の計算では静的交換近似による誤差が含まれています。これを補正するため,共鳴励起状態を必要な分だけ計算していきます。StoBe/DeMonでは第一共鳴励起状態をまず求め,これと直交するように第二共鳴励起状態を計算します。直交性を課すためにsuper symmetryを用います。さらに必要なら第三共鳴励起状態,第4共鳴励起状態,,と求めていきます。
% sh runstobe.sh h2o__O1.grd1 h2o__O1.grd0
% sh runstobe.sh h2o__O1.grd2 h2o__O1.grd1
% sh runstobe.sh h2o__O1.grd3 h2o__O1.grd2
% sh runstobe.sh h2o__O1.grd4 h2o__O1.grd3
- 6.内殻励起した原子の内殻電子に対する相対論補正を行う
- StoBe/DeMonは非相対論によるコードですので,相対論効果は無視されています。XAS計算において,内殻電子が1つ励起されるので,その効果を考慮する必要があります。内殻電子はほぼ原子上に局在化しており,原子における補正量を求めておいて後で補正してやることで記述してやることができます。拙著論文によると,第2周期原子の場合,補正量はB=0.03, C=0.08, N=0.18, O=0.33, F=0.57 eVです。
- 7.連続状態の記述
- 3.において,励起状態を記述するために内殻正孔原子に非常に大きな基底関数を置きました。しかしまだ不十分かもしれません。他の原子に同程度の基底関数を追加し,3.と同様の計算を行います。スペクトルを描いたときにある程度収束するまで行うといいでしょう。
% sh runstobe.sh h2o__O1.aug2 h2o__O1.xas