薄膜光学定数導出プログラム Maku




# はじめに
 研究室などで合成した薄膜の膜厚は透過率や反射率スペクトルより導出可能ですが、正確に求めようとすると専用のソフトウエアが必要になってきます。単層薄膜について、その透過率と反射率スペクトルの干渉フリンジから薄膜の屈折率と膜厚を求めていくソフトウエアを自作していましたが、公開することにしました。光学モデルング機能はありませんが、手動で求めていくのでどのように光学定数を導出されるかがわかるようになっています。


![TR256.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701666/2da7fce3-c618-537c-dcd9-08a9a0df5a80.png)




# 準備
ダウンロードして解凍ください。
・[Windows版　(対応バージョン10, 8, 7 SP1)](https://www.gifu-nct.ac.jp/elec/habuchi/software/Maku/Maku(Win)5.0.zip)

・[Mac OS版 (対応バージョン11.0, 10.11〜10.15, 10.10.5)](https://www.gifu-nct.ac.jp/elec/habuchi/software/Maku/Maku(Mac)5.0.zip)

# 簡単な理論
- くわしくは、[マニュアル] (https://www.gifu-nct.ac.jp/elec/habuchi/software/Maku/Manual5.pdf) を御覧ください。

本ソフトウエアでは次の構造を持つ単層薄膜試料についての透過率・反射率スペクトルシミュレーションが可能です。
![fig1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701666/d08f89df-df28-ce98-7eba-4446944f80f3.png)


境界での振幅透過率と反射率は次の通りに表すことができます。

```math
r_{kl}=\frac{N_k-N_l}{N_k+N_l}={\left|r_{kl}\right|e}^{i\emptyset_{kl}}\\
t_{kl}=\frac{2N_k}{N_k+N_{jl}}=\left|t_{kl}\right|e^{i\varphi_{kl}}\\
```
薄膜内の多重反射により透過率と反射率は次のように表すことができます。

```math
T_{02}=T_{20}=\frac{n_2}{n_0}\left|\frac{e_1^\ {t_{01}t}_{12}}{1-{e_1^2r}_{10}r_{12}}\right|^2\\
R_{02}=\left|r_{01}+\frac{e_1^2{t_{01}t}_{10}r_{12}}{1-{e_1^2r}_{10}r_{12}}\right|^2 ,  R_{20}=\left|r_{21}+\frac{e_1^2{t_{21}t}_{12}r_{10}}{1-{e_1^2r}_{12}r_{10}}\right|^2\\
```
ただし、薄膜の厚さを d と光の波長を λ として

```math
e_1=exp\left(\frac{i2\pi N_1d}{\lambda}\right)=exp\left(i∆\right)
```

つぎに、基板内での多重反射はインコヒーレントとして計算すると試料全体の透過率 T と反射率 R は

```math
T=T_{02}T_{23}+T_{02}R_{23}R_{20}T_{23}+T_{02}\left(R_{23}R_{20}\right)^2T_{23}\cdots=\frac{T_{23}T_{02}}{1-R_{20}R_{23}}\\
R=R_{02}+T_{02}R_{23}T_{20}+T_{02}R_{23}{{(R}_{20}R_{23})T}_{20}+\cdots=R_{02}+\frac{T_{02}^2R_{23}}{1-R_{20}R_{23}}
```
となります。ただし、


```math
R_{23}=\left|r_{23}\right|^2,  T_{23}=1-R_{23}
```

# 導出手順

R<sub>02</sub>を計算すると、

```math

R_{02}=\frac{\left|r_{10}\right|^2+\left|r_{12}\right|^2-2\left|r_{10}\right|\left|r_{12}\right|cos(2∆+∅_{12})}{1+\left|r_{10}\right|^2\left|r_{12}\right|^2-2\left|r_{10}\right|\left|r_{12}\right|cos(2∆+∅_{12})}\\

```
となり、λ によって振動します。その振動は干渉のフリンジとなって透過率や反射率スペクトルに現れます。このときの振動の幅や大きさにより屈折率と膜厚を計算していきます。
まず、透過率または反射率で長波長側の干渉フリンジの極大値 R<sub>m</sub>（n<sub>1</sub>>n<sub>2</sub>のとき）から薄膜の屈折率 n<sub>1</sub> を次の式から求めます。

```math
R_m=1-\frac{4n_1^2n_2}{\left(n_1^2+n_2^2\right)\left(n_1^2+1\right)}
```

次に長波長側の干渉フリンジで2のつ隣り合う極大値と極小値の波長 λ<sub>1</sub>, λ<sub>2</sub> から膜厚 d を次の式から求めます。

```math
d=\frac{1}{4n_1}\times\frac{\lambda_1\lambda_2}{\lambda_1-\lambda_2}
```

この2つの n<sub>1</sub> と d を用いてもっとも長波長側のピークの干渉次数 m を次の式で計算します。

```math
m=\frac{4n_1d}{\lambda}+\frac{\phi_{12}}{\pi}
```
この m は各ピークで整数になるはずであり、近い整数を探します。 m を整数に修正した後は、この等式が等しくなるよう d も修正します。m は短波長側の隣のピークで1つ大きくなります。よって m, d を用いて干渉フリンジの各ピークでの n<sub>1</sub> が計算できます。最終的には シミュレーションした R, T と測定値が最も近くなるよう d と n<sub>1</sub> を調節して精度を高めていきます。

![graph.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701666/b44754ee-82c1-b5c2-07b7-1c1731577803.png)


# お問い合わせ
　Qiitaで質問を受けております。下のQ&Aからお願いします。また、ご意見などございましたら、下の意見交換からお願いします。

#参考文献
Y. Nishikawa et al. "Interference-Free Determination of the Optical Absorption Coefficient and the Optical Gap of Amorphous Silicon Thin Films," Jpn. J. Appl. Phys. 30, 1008(1998).
(https://iopscience.iop.org/article/10.1143/JJAP.30.1008)