「ComplexRI」の版間の差分

提供: ComplexRI: Manual
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の28版が非表示)
2行目: 2行目:


== 概要 ==
== 概要 ==
本ComplexRIは全反射実験から得られた反射率あるいは吸光度のデータをもとにして媒質の複素屈折率の分散を出力するWebアプリケーションである。
 本ComplexRIは、全反射実験から得たデータを用いて、複素屈折率の分散を調べるためのWebアプリケーションである。複素屈折率の分散を調べることは和周波分光の解析に役立つ。界面SFG分光とは可視光と赤外光の2つの光を照射したときに、界面で選択的に発生する和周波光を検出するもので、2次の非線形効果を応用した分光法であり、近年液体界面や高分子界面などを含めた幅広い界面分析に応用されるようになった。この和周波発生はフレネル係数に大きく影響されており、また、フレネル係数は屈折率に依存した量である。そこで和周波分光を解析するには複素屈折率の分散を調べることが必要であり、本Complexそれを手軽に行えることを目的に開発された。
<span style="font-size: 100%; color:red;">1⃣実験の結果、</span>
<span style="font-size: 100%; color:red;">2⃣ファイル形式に関する入力、</span>
<span style="font-size: 100%; color:red;">3⃣実験の条件、</span>
<span style="font-size: 100%; color:red;">4⃣解析に関する条件</span>
という四つの情報を入力として与えると、解析が行える。


----
==主な特徴==
*全反射実験の実験データさえあれば、複素屈折率の分散を出すことが可能。
*適用範囲は赤外領域。これは、和周波分光では官能基を調べることを目的としており、これに一致する光の周波数帯が赤外領域だからである。
 
==作成の経緯==
 和周波分光の結果をより正確に解析するための情報として様々な官能基に関する複素屈折率の分散を調べた論文<ref name = "ref1" /><ref name = "ref2" /><ref name = "ref3" />がある。これは全反射実験のデータに基づいて屈折率の分散をまとめたものになっている。本ComplexRIはこれに基づいて、全反射実験のデータさえ与えれば、同じようなフィッティングが簡単に行えるように開発された。<br />
 フィッティング計算には論文<ref name = "ref2" /><ref name = "ref3" />で用いられたものを主として用いている。これは、本研究室の王助教と以前森田グループに所属していた村田によって作成されたものである。本ComplexRIでは初期値を設定しなくてもフィッティングが行えるように、少しアルゴリズムを改良している。これは本研究室の森田教授、王助教の指導の下で上村が実装した。<br />
 また、WebアプリケーションとしてのUIも上村が実装した。


== チュートリアル ==
== チュートリアル ==
:チュートリアルでは4種類全10個の入力について、実際に解析を行い、その結果をもとに説明する。
:チュートリアルでは4種類全10個の入力について、実際に解析を行い、その結果をもとに説明する。
{|class="wikitable"
{|class="wikitable"
! 目次
! 目次(チュートリアル)
|-
|-
|[[チュートリアル01|チュートリアル01]]:ファイルを入れて解析する(入力1⃣を与える練習)
|[[チュートリアル01|チュートリアル01]]:ファイルを入れて解析する(入力1⃣を与える練習)
26行目: 28行目:


----
----
[[#チュートリアル|チュートリアルtopへ]]


==マニュアル==
==マニュアル==


{|class="wikitable"
{|class="wikitable"
! 目次
! 目次(入力)
|-
|-
|[[入力#入力01|入力01]]:タイトル
|[[入力#入力01|入力01]]:タイトル
38行目: 38行目:
|[[入力#入力02|入力02]]:ファイル
|[[入力#入力02|入力02]]:ファイル
|-
|-
|[[入力03|入力03]]:反射率か吸光度か?
|[[入力#入力03|入力03]]:反射率か吸光度か?
|-
|-
|[[入力04|入力04]]:波数範囲
|[[入力#入力04|入力04]]:波数範囲
|-
|-
|[[入力05|入力05]]:データの列の指定
|[[入力#入力05|入力05]]:データの列の指定
|-
|-
|[[入力06|入力06]]:昇順か降順か?
|[[入力#入力06|入力06]]:昇順か降順か?
|-
|-
|[[入力07|入力07]]:実験で用いた基質の種類
|[[入力#入力07|入力07]]:実験で用いた基質の種類
|-
|[[入力#入力08|入力08]]:入射角
|-
|[[入力#入力09|入力09]]:吸収がないときの屈折率
|-
|[[入力#入力10|入力10]]:残差の指定
|-
|[[入力#入力11|入力11]]:フィッティング関数のパラメータの設定の有無
|}
{|class="wikitable"
! 目次(出力)
|-
|-
|[[入力08|入力08]]:入射角
|[[出力#出力01|出力01]]:数値
|-
|-
|[[入力09|入力09]]:吸収がないときの屈折率
|[[出力#出力02|出力02]]:表
|-
|-
|[[入力10|入力10]]:残差の指定
|[[出力#出力03|出力03]]:グラフ
|-
|-
|[[入力11|入力11]]:フィッティング関数のパラメータの設定の有無
|[[出力#出力04|出力04]]:アウトプットファイル
|}
|}


62行目: 73行目:


{|class="wikitable"
{|class="wikitable"
! 目次
! 目次(内部処理)
|-
|-
|[[#説明01|説明01]]:フィッティング方法
|[[説明01|説明01]]:フィッティング方法
|}
|}
<span style="font-size: 100%; color:red;">※このページを見るにはブラウザとしてchromeを使用されることを推奨しています。ブラウザによっては読み込みにかなり時間がかかることがあります。</span>


----
----
<span id="説明01" style="font-size: 150%; color:Aqua;">説明01:フィッティング方法</span>
: 屈折率の分散をパラメータを使って表したい。ローレンツ関数<math>\frac{A}{\nu_l-\nu-i\gamma}</math>の重ね合わせによって<math>n_j=n_j^0+\sum_{l=1}^{lmax} \frac{A}{\nu_l-\nu-i\gamma}</math>のように表せると考えている。理由は<u>[[#詳細01|詳細01]]</u>参照。
: 光の強度反射率について最小二乗法を行ってパラメータを決める。つまり、<math>[\left | r \right \vert_{calc}^2 - \left | r \right \vert_{exp}^2]^2</math>という式について最小二乗法を行っている。
: ここで<math>r</math>は両方とも電場の反射率である。光の強度反射率が電場の反射率の2乗になる理由は<ref name = "ref2">参照
: <math>\left | r \right \vert_{exp}</math>については入力ファイルの値(単位が%)を100で割って用いる。
: <math>\left | r \right \vert_{calc}^2</math>は<math>\frac{\left | r^s \right \vert_{calc}^2 + \left | r^p \right \vert_{calc}^2}{2}</math>
: のようにp波とs波の平均値で与えられる。詳細は<u>[[#詳細02|詳細02]]</u>
: また、各<math>r</math>はフレネルの公式
: <math>r_s=\frac{n_1\cos{\theta}_i -n_2\cos{\theta}_t}{n_1\cos{\theta}_i +n_2\cos{\theta}_t}</math>, <math>r_p=\frac{n_2\cos{\theta}_i -n_1\cos{\theta}_t}{n_2\cos{\theta}_i +n_1\cos{\theta}_t}</math>
によって求まる。公式の詳細は<ref name = "ref2">を参照。
: ここで、<math>\sin{\theta}_t</math>はスネルの法則<math>n_1\sin{\theta}_i = n_2\sin{\theta}_t</math>によって計算される。公式の詳細は<ref name = "ref2">を参照。
: また、<math>{\theta}_i, n_1</math>は入力として与えられる定数である。
: したがって、<math>\left | r \right \vert_{calc}^2</math>は<math>n_2</math>の関数になっている。
: それでは、<math>n_2</math>は最初どのように与えられるのかについて詳しく述べる。
: 入力の⑪がNOの場合、つまりパラメータを自動で与えるとした場合をまず説明する。
: 最初、<math>n_j=n_j^0+\sum_{l=1}^{lmax} \frac{A}{\nu_l-\nu-i\gamma}</math>の<math>lmax = 1</math>つまりローレンツ関数1つで表せるとしてフィッティングを行う。
: <math>n_j^0, A, \nu_l, \gamma</math>について初期をそれぞれ与える。
: <math>n_j^0</math>は吸収がない場合の屈折率の値である。コーシーの方程式<math>n = A + \frac{B}{{\lambda}^2} + \frac{C}{{\lambda}^4}</math>によって近似的に求めることができるので、物質及び解析範囲に合わせてパラメータと<math>\lambda</math>を用いて適切な値を各自計算して、入力⑨として与えてほしい。
: <math>\gamma</math>は15とする。これは参考文献[1]<ref name = "ref1">から、<math>\gamma</math>は15付近であるという傾向がわかっているからだ。
: <math>A</math>は7.5とする。これは参考文献[1]<ref name = "ref1">から、<math>A</math>と<math>\gamma</math>の間に<math>\frac{A}{\gamma} = {\kappa}_{max}</math>という関係があり、さらに<math>{\kappa}_{max}</math>が0.5付近の値を多くとるということがわかっているからだ。
: 最後に<math>\nu_l</math>についてこれは入力④で与えられた解析範囲において入力⑤で読み込みを指定した列の反射率が最小になるところとしている。これはローレンツ関数<math>\frac{A}{\nu_l-\nu-i\gamma}</math>を実部と虚部に分けたとき、<math>\frac{A\gamma}{{\nu_l-\nu}^2 + {\gamma}^2} + i\frac{{\nu_l-\nu}^2}{{\nu_l-\nu}^2 + {\gamma}^2}</math>となり、虚部が吸収を表すことが関係している。虚部において最大になるところこそが<math>\nu_l</math>であり、この時吸収は最大である。これは反射が最小に対応する。ゆえにこのように与えている。
1つずつ与える。
: 最小二乗法を行う際、パラメータの範囲はそれぞれ<math>A</math>は-200から200。<math>\nu_l</math>入力④で与えられた範囲。<math>\gamma</math>は0から500で行っている。
: 最小二乗法が終了すると、残差が求まる。これは、求まったパラメータを<math>[\left | r \right \vert_{calc}^2 - \left | r \right \vert_{exp}^2]^2</math>に代入する。
: その後、この残差を入力④で与えられた解析範囲の波数の個数で割り、それに対する正の平方根を計算する。これは今後、解析を続けるか結果を返すかの指標になっている。
: これが入力の⑩で与えられた値より小さければ結果を返す。
: 大きければ、ローレンツ関数を1つ増やす。この時、1つ目の初期値は今回の最小二乗法で求まった値を用いる。
: 2つ目の初期値の作り方を説明する。これは、1つ目のローレンツ関数を用いて計算される <math>\left | r \right \vert_{calc}^2</math>を<math>\left | r \right \vert_{exp}^2</math>から引いた値計算する。その様子を模式的に図にすると以下のようになる。
[[File:差の関数.png|500px]]
: このうち絶対値が最も大きい値に対応する波数を2つ目の<math>\nu_l</math>の初期値として与える。
: つまり
[[File:nuの与え方.png|500px]]
: <math>A</math>の大きさは1つ目で求まったAの半分としている。これは屈折率の分散の概形が一つ目で与えられていると考え、足りない部分を補うという考えから、一つ目のAより小さいと考えたためである。今回はAの符号も検討する必要がある。これは、差の値が入力ファイルのように反射率が下に凸とは限らないからだ。よってνに対応する値が最小値なら正、最大値なら負というように与えている。最小値の場合、正として与えるのは1つ目の時と同じで反射率が最小の時吸収が最大になると考えるからである。逆の場合は、物理的な意味は考えづらいが数学的に符号を反対にすることが妥当だと考えたからである。
: 2回目以降も同じように残差が入力値より小さいかを判定して、小さければ結果を返し、大きければ1つ増やして、初期値を与えて、最小二乗法行う。これを結果が出るまで繰り返す。2回目以降の残差が大きかった場合の初期値の与え方は1回目と同じである。求まったパ:ラメータから計算される <math>\left | r \right \vert_{calc}^2</math>を<math>\left | r \right \vert_{exp}^2</math>から引いた値計算する。このうち絶対値が最も大きい値に対応する波数を2つ目の<math>\nu_l</math>の初期値として与える。<math>A</math>の大きさは1つ目で求まった<math>A</math>の半分としている。これは屈折率の分散の概形が一つ目で与えられていると考え、足りない部分を補うという考えから、一つ目のAより小さいと考えたためである。<math>A</math>の符号は<math>\nu_l</math>に対応する値が最小値なら正、最大値なら負というように与えている。
: ここまで、入力の⑪がNOの場合の説明をしてきた。次に、入力の⑪がYESの場合の説明をしよう。
: これは、NOの場合とほとんど変わらない。変わるのは、最初の初期値が入力値を採用するということだけである。そのほかの、残差を求めて、それが十分小さくなるまでローレンツ関数を増やしながら、最小二乗法を繰り返すのは同じである。
[[#内部処理|内部処理topへ]]


==詳細==
==詳細==


{|class="wikitable"
{|class="wikitable"
! 目次
! 目次(詳細)
|-
|-
|[[#詳細01|詳細01]]:ローレンツ関数を使う理由
|[[詳細01|詳細01]]:ローレンツ関数を使う理由
|-
|-
|[[#詳細02|詳細02]]:p波とs波の平均値で与えられる理由
|[[詳細02|詳細02]]:p波とs波の平均値で与えられる理由
|-
|[[詳細03|詳細03]]:屈折率の虚部が吸収を表す理由
|}
|}
----
<div id="詳細01"  style="font-size: 150%; color:Aqua;">詳細01:ローレンツ関数を使う理由</div>
: これには2つ理由がある。
: 1つはローレンツ関数がクラマースクロニッヒの関係を満たすことだ。
: 屈折率の実部と虚部がクラマースクロニッヒの関係を満たすことからフィッティング関数にもこのような性質が要求される。
: この関係式は以下のようなものである。導出は複素積分を使う数学的なものなので導出等は省略する。詳細は参考文献[3]を参照してほしい。<ref name = "ref3">
: <math>n_{1}(\nu) - 1 = \frac{2}{\pi}P\int_{0}^{\infty}\frac{n_{2}(\nu')}{\nu'^2 - \nu'^2}\, d\nu'</math>
: <math>n_{2}(\nu) = - \frac{2}{\pi}P\int_{0}^{\infty}\frac{n_{1}(\nu')}{\nu'^2 - \nu^2}\, d\nu'</math>
: これが1つ目の理由である。
: 2つ目の理由は配向分極の振動電場に対する応答がデバイ型緩和によってよく表せることが背景になっている。ここでは、導出は省略して最終的に導かれる式のみを示す。詳細は参考文献[2]<ref name = "ref2">を参照してほしい。
: デバイ型緩和の考え方に基づくとは以降分極による誘電率は以下のように表せる。
: <math>\hat{\epsilon}(\omega) = {\epsilon}_{0}({{\epsilon}_{\infty} + \frac{{\epsilon}_{s} - {\epsilon}_{\infty}}{1 + i{\omega}{\tau}} })</math>
: ここで、<math>{\epsilon}_{s}</math>:定常電場の比誘電率、<math>{\epsilon}_{\infty}</math>:高周波極限の比誘電率であり、
: <math>{\epsilon}_{s} = 1 + {\chi}_{e1} + {\chi}_{e2}</math>(<math>{\chi}_{e1}</math>:原子間の結合の振動に関する感受率 <math>{\chi}_{e2}</math>:回転に関する感受率)
: <math>{\epsilon}_{\infty} = 1 + {\chi}_{e1}</math>
: と表される。
: このことからは以降分極による誘電率<math>\epsilon</math>はローレンツ関数で近似的に表されることがわかる。
: さらに、誘電率<math>\epsilon</math>と屈折率<math>n</math>の間には
: <math>\sqrt{\epsilon} = n</math>
: という関係があるから、屈折率もローレンツ関数で表しやすいと考えられる。
: 以上の2つの理由からフィッティング関数としてローレンツ関数を用いている。


----
----
<div id="詳細02"  style="font-size: 150%; color:Aqua;">詳細02:p波とs波の平均値で与えられる理由</div>
: 光をp波とs波に分けてそれぞれ強度の比がしたようになっているとする。
: <math>
\begin{cases}
I_s^r &= {\left | r^s \right \vert^2}I_s^i + \\
I_p^r &= {\left | r^p \right \vert^2}I_p^i
\end{cases}
</math>
: 右辺の<math>I_s^i, I_p^i</math>が入射光。左辺の<math>I_s^r, I_p^r</math>は反射光である。
: 辺々を足すと
: ⇔ <math>I_s^r + I_p^r = \left | r^s \right \vert^{2}I_s^i + \left | r^p \right \vert^{2}I_p^i</math>
: ⇔ <math>I_s^r + I_p^r = (\left | r^s \right \vert^{2} + \left | r^p \right \vert^{2})I_p^i</math>(∵右辺の入射光は自然光で<math>I_s^i = I_p^i</math>)
: ⇔ <math>I_s^r + I_p^r = \frac{\left | r^s \right \vert^{2} + \left | r^p \right \vert^{2}}{2}2I_p^i</math>
: ⇔ <math>I_s^r + I_p^r = \frac{\left | r^s \right \vert^{2} + \left | r^p \right \vert^{2}}{2}(I_s^i + I_p^i)</math>
: ⇔ <math>\frac{I_s^r + I_p^r}{I_s^i + I_p^i} = \frac{\left | r^s \right \vert^{2} + \left | r^p \right \vert^z{2}}{2}</math>
: ゆえに、光強度反射率はp波とs波の平均で与えられる。


[http://comp.chem.tohoku.ac.jp/mediawiki/index.php/ComplexRI ComplexRIページtopへ]]


==参考文献==
==参考文献==
<references>
<references>
<ref name = "ref1">論文</ref>
<ref name = "ref1">"Effect of Frequency-Dependent Fresnel Factor on the Vibrational Sum Frequency Generation Spectra for Liquid/Solid Interfaces"
<ref name = "ref2">遠藤雅守:電磁場の物理学ーその発生・伝搬・吸収・増幅・共振を電磁気学で理解するー</ref>
Lin Wang, Satoshi Nihonyanagi, Ken-ichi Inoue, Kei Nishikawa, Akihiro Morita, Shen Ye, Tahei Tahara, J. Phys. Chem. C, 123(25) 15665-15673 (2019).</ref>
<ref name = "ref3">小林浩一:光物性入門</ref>
<ref name = "ref2">"Dispersion of Complex Refractive Indices for Intense Vibrational Bands. II Implication to Sum Frequency Generation Spectroscopy"
<references />
Lin Wang, Ryo Murata, Ken-ichi Inoue, Shen Ye, and Akihiro Morita, J. Phys. Chem. B, 125(34), 9804-9810 (2021).</ref>
 
<ref name = "ref3">"Dispersion of Complex Refractive Indices for Intense Vibrational Bands. I Quantitative Spectra"
[http://comp.chem.tohoku.ac.jp/mediawiki/index.php/ComplexRI ComplexRIページtopへ]]
Ryo Murata, Ken-ichi Inoue, Lin Wang, Shen Ye, and Akihiro Morita, J. Phys. Chem. B, 125(34), 9794-9803 (2021).</ref>
</references>

2021年12月14日 (火) 08:19時点における最新版


概要

 本ComplexRIは、全反射実験から得たデータを用いて、複素屈折率の分散を調べるためのWebアプリケーションである。複素屈折率の分散を調べることは和周波分光の解析に役立つ。界面SFG分光とは可視光と赤外光の2つの光を照射したときに、界面で選択的に発生する和周波光を検出するもので、2次の非線形効果を応用した分光法であり、近年液体界面や高分子界面などを含めた幅広い界面分析に応用されるようになった。この和周波発生はフレネル係数に大きく影響されており、また、フレネル係数は屈折率に依存した量である。そこで和周波分光を解析するには複素屈折率の分散を調べることが必要であり、本Complexそれを手軽に行えることを目的に開発された。

主な特徴

  • 全反射実験の実験データさえあれば、複素屈折率の分散を出すことが可能。
  • 適用範囲は赤外領域。これは、和周波分光では官能基を調べることを目的としており、これに一致する光の周波数帯が赤外領域だからである。

作成の経緯

 和周波分光の結果をより正確に解析するための情報として様々な官能基に関する複素屈折率の分散を調べた論文[1][2][3]がある。これは全反射実験のデータに基づいて屈折率の分散をまとめたものになっている。本ComplexRIはこれに基づいて、全反射実験のデータさえ与えれば、同じようなフィッティングが簡単に行えるように開発された。
 フィッティング計算には論文[2][3]で用いられたものを主として用いている。これは、本研究室の王助教と以前森田グループに所属していた村田によって作成されたものである。本ComplexRIでは初期値を設定しなくてもフィッティングが行えるように、少しアルゴリズムを改良している。これは本研究室の森田教授、王助教の指導の下で上村が実装した。
 また、WebアプリケーションとしてのUIも上村が実装した。

チュートリアル

チュートリアルでは4種類全10個の入力について、実際に解析を行い、その結果をもとに説明する。
目次(チュートリアル)
チュートリアル01:ファイルを入れて解析する(入力1⃣を与える練習)
チュートリアル02:解析に関する条件を指定する(入力4⃣を与える練習)
チュートリアル03:ファイルの形式を変える(入力2⃣を与える練習)
チュートリアル04:実験条件を正しく与える(入力3⃣を与える練習)

マニュアル

目次(入力)
入力01:タイトル
入力02:ファイル
入力03:反射率か吸光度か?
入力04:波数範囲
入力05:データの列の指定
入力06:昇順か降順か?
入力07:実験で用いた基質の種類
入力08:入射角
入力09:吸収がないときの屈折率
入力10:残差の指定
入力11:フィッティング関数のパラメータの設定の有無
目次(出力)
出力01:数値
出力02:表
出力03:グラフ
出力04:アウトプットファイル

内部処理

目次(内部処理)
説明01:フィッティング方法

※このページを見るにはブラウザとしてchromeを使用されることを推奨しています。ブラウザによっては読み込みにかなり時間がかかることがあります。



詳細

目次(詳細)
詳細01:ローレンツ関数を使う理由
詳細02:p波とs波の平均値で与えられる理由
詳細03:屈折率の虚部が吸収を表す理由

ComplexRIページtopへ]

参考文献

  1. "Effect of Frequency-Dependent Fresnel Factor on the Vibrational Sum Frequency Generation Spectra for Liquid/Solid Interfaces" Lin Wang, Satoshi Nihonyanagi, Ken-ichi Inoue, Kei Nishikawa, Akihiro Morita, Shen Ye, Tahei Tahara, J. Phys. Chem. C, 123(25) 15665-15673 (2019).
  2. 2.0 2.1 "Dispersion of Complex Refractive Indices for Intense Vibrational Bands. II Implication to Sum Frequency Generation Spectroscopy" Lin Wang, Ryo Murata, Ken-ichi Inoue, Shen Ye, and Akihiro Morita, J. Phys. Chem. B, 125(34), 9804-9810 (2021).
  3. 3.0 3.1 "Dispersion of Complex Refractive Indices for Intense Vibrational Bands. I Quantitative Spectra" Ryo Murata, Ken-ichi Inoue, Lin Wang, Shen Ye, and Akihiro Morita, J. Phys. Chem. B, 125(34), 9794-9803 (2021).