多層膜透過率反射率スペクトル計算ソフト　HAKUMAKU


# はじめに
 多層膜の透過率と反射率スペクトルを計算するソフトウエアです。ベクターでver0.95を公開していましたが、ずいぶん更新していなかったので、最新(2023年度）のOSに対応させました。また、光学定数がわかっている材料の場合、透過率と反射率スペクトルから、その膜厚を推定することが多くなり、現在はそちらの目的で使いやすいように少し機能を追加しました

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

・[Mac OS版 (対応バージョン12,11,10.15)](https://www.gifu-nct.ac.jp/elec/habuchi/software/Hakumaku/Hakumaku1_00(Mac).zip)



![screen.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701666/9509ede3-dbb9-715c-fa3c-c36edac5c8fe.jpeg)


# 仕様

* 最大レイヤー数100 
* シミュレーション環境-垂直入射のみ、光透過、光反射スペクトルの計算 
* データ書き出し機能あり 
* 材料の光学定数編集機能なし 

# 使用方法

光学薄膜の多層膜と基板を設定し、シミュレーションさせるだけです。以下簡単に3層素子を例に手順を説明します。(ver0.95βでの説明となります)

作成する素子　基板　BK7、 AL 100nm、MgF2 150nm

1.　<font color="#0000ff">光学素子</font><font color="#000000">メニュー</font>から<font color="#0000ff">基板</font>を選択し、基板を材料ファイル名から選択します。また、基板の厚さを入力します。入力が終わったら決定を押します。基板がない場合はファイル名としてAIRを選びます。(基板の裏面が鏡面か非研磨面が選択できようになりました。非研磨面の場合は裏面での反射率と透過率がゼロと計算されます) 
![1.GIF](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701666/2ec99629-0f76-3e30-4b82-804c3d5daaae.gif)

2.　<font color="#0000ff">光学素子</font><font color="#000000">メニューから</font><font color="#0000ff">レイヤー</font>を選択します。Hakumakuでは、多層膜の層をレイヤーと呼びます。薄膜材料は材料一覧(リスト)に表示されます。(Hakumakuでは、基板材料、薄膜材料を特に区別しません）  
最初の一層は材料一覧からALを選択します。ALをドラッグして左のレイヤーリストにドロップします。厚さは、直接リストから修正できます。
![2.GIF](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701666/12887a4c-d139-58bb-f4c3-d2d1f209cabc.gif)



同様に、MGF2をドラッグしてレイヤーに追加します。このとき追加されるのは、レイヤーの表面になります。この仕様は、実際の真空蒸着などで作成される光学素子の行程と同じにするためです。MGF2の膜厚を150nmにします。

## その他の操作

**任意の場所にレイヤーを追加する場合**　・・・　追加したいレイヤーの表面側のレイヤーNo.を選択してから、材料一覧から追加する材料をダブルクリックします。

**レイヤーを一層消去する場合**　・・・　消去したいレイヤーの表面側のレイヤーNo.を選択してから、メニュー編集からカットを選択します。

**材料の光学定数を知りたい場合**　・・・　<font color="#0000ff">ウインドウ</font><font color="#000000">メニューから</font><font color="#0000ff">光学定数グラフ</font>を選択します。nとkのグラフが表示されます。このウインドウのポップアップメニューで材料を選択することもできますが、材料一覧から材料をグラフウインドウのグラフ部分にドロップするとそのnとkのデータが表示されます。

**繰り返しレイヤーなど作成する場合**　・・・　本ソフトウエアでのレイヤー編集では、時間のかかるレイヤー編集はテキストエディタなどのアプリケーションを利用すると便利な場合もあります。コンマ区切りの簡単なデータ構造になっていますので、比較的簡単にできると思います。下記にレイヤーファイルのデータの例を示します。黒い部分を修正します。
<font color="#ff0000">Layer:</font>以下は レイヤーNo.+材料名+膜厚(nm)がカンマ区切りで並んでいます。

<font color="#ff0000">LayerFile ver 1.0<br>
Layer:</font>  
1　
<font color="#00ff00">,</font>　TIO2　
<font color="#00ff00">,</font>　57.651992  
2　
<font color="#00ff00">,</font>　SIO2　
<font color="#00ff00">,</font>　94.501718  
・・・・・  
<font color="#ff0000">Substrate:</font>  
AIR　
<font color="#00ff00">,</font>　2  
<font color="#ff0000">Simulation:<br>
400,800,1,Yes,No<br>
EOF</font>

3.　メニューから<font color="#0000ff">シュミレーション</font>を選択します。開始波長、終了波長、ステップ数を入力します。ここではそれぞれ400nm、800nm、1nmとします。値の組み合わせによっては計算するデータ量が増えるため変更を要求されることがあります。
![3.GIF](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701666/517f0477-d858-83d3-a35f-0738ad842228.gif)



4.　シュミレーション結果を表示するためグラフウインドウ透過率、反射率チェックボックス1をチェックします。グラフのX座標、Y座標の表示範囲を変更する時は2で修正できます。ポインタ座標はマウス（ポインタ）の位置でのXY座標を示しています。
![4.GIF](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701666/8e40705c-176f-345a-d6b2-93115ef9288d.gif)



5.　レイヤー情報を<font color="#0000ff">ファイル</font>メニューから<font color="#0000ff">レイヤーの保存</font>を選択して保存します。レイヤーファイルにはシミュレーション結果は保存されません。

6.　シミュレーション結果は<font color="#0000ff">ファイル</font>メニューから<font color="#0000ff">データの書き出し...</font>を選択します。データ区切りを選択して保存します。
![5.GIF](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701666/0566f206-e0de-e48c-b933-43c9d08a9ba4.gif)


データ形式は波長(nm)、透過率、反射率の順の列で保存されます。第一行は列名です。


## その他の機能

別のシミュレーションまたは、実際の測定データを同時に画面に表示できます。<font color="#0000ff">ファイル</font>メニューから<font color="#0000ff">参照データを開く...</font>を選択し、データファイルを選びます。データファイルのデータ形式は、波長(nm)、透過率、反射率の順の列で、コンマ、タブ、スペースのいずれかの区切りで並ぶようにします。 

## 注意事項

個々の材料の光学定数はMaterialsフォルダーに材料ファイルして保存されています。しかし登録されている光学定数波長範囲がシミュレーションの波長範囲から大きくずれるとエラーが生じることがあります。この光学データは[Sopra S.A. のn&kデータベース](http://www.sopra-sa.com/more/database.asp)を利用しています。  


# 免責事項について
　本ソフトウエアの使用に関しては、下記の注意事項を同意した上使用して下さい。
1. インストールおよび使用による電子的および物質的な損失や損害等については、一切使用者の責任といたします。
2. 本ソフトウエアで得られた結果は、その正確性を保証いたしません。