SSブログ

光学薄膜設計ソフトの設計 その25 - 屈折率に関する最適化 [考え中 - 光学薄膜設計]

光学薄膜設計ソフト用の計算エンジンの実装の続き。薄膜の材料の屈折率に関して最適化することについての問題。

屈折率の最適化

光学薄膜の最適化は普通

  1. 基板、周囲の媒質、波長範囲、入射角範囲などの条件が与えられる
  2. 薄膜を形成するための材料を選定する
  3. 層数を決め、初期的な膜厚を設定する
  4. それぞれの膜厚を変化させて評価する
  5. 必要な特性になれば終わり、ならなければ
    1. 層数を増やす
    2. 材料を選定し直す
    などを行ってもう一度最適化する
などとするのが古典的な方法で、この場合は最適化変数はそれぞれの層の膜厚だけである。

この場合は初期的なデータでそこそこの特性が得られている必要がある。もっとラフな設計を行いたい場合、屈折率も最適化変数としたほうがいいかもしれない。

しかし、屈折率は材料に起因するので連続には変えられない。連続に変えられる変数としてしまうと自然界に存在しない材料が必要になってしまう可能性が高い。

ラフ設計のための屈折率変数

あまり面倒なことを考えずに分散がないとして連続な変数として屈折率を設定し、最適化を行う、と言う手がある。その場合は膜厚と屈折率の両方を最適化変数として見なすことができる。

それを使ってラフな最適化を行い、収束した値に近い材料を選んで、次に膜厚だけの最適化を行うと言う手順を踏む。

この方法だと面倒なことを考えずにすむ。

不連続な最適化

材料のデータベースを持ち、最適化中にそのデータベースの中から最適なものを選び出す、ということも考えられる。ただしこの場合、変数の値は不連続に変化するので普通の最適化手法は使えない。

もっとも簡単なアルゴリズムとして遺伝的最適化が考えられる。 これは材料の組み合わせを遺伝子と見なし

  1. 交配
  2. 突然変異
という変異をもつ遺伝子を作り出してその評価を行う。評価の際に個々の遺伝子は膜厚について普通の最適化手法で収束させているとする。

このためには

  1. 十分広くてできるだけ稠密な材料データベース
  2. 膜厚に関する最適化はメリット関数の大きさに関わらず安定に収束
  3. 十分な計算資源
が必要となる。

また遺伝的アルゴリズムを使えば、層数も最適化の変数にすることができる。

屈折率データベース

で、その材料の屈折率データベースをどうするか、というのを考えていた。設計のためには材料の屈折率がわかっていないといけないけど、これは分散まで含めるとなかなか難しい。

最終的には製膜装置の状態や製膜条件で違ってくるので自分の環境に合わせて測定する必要があるけど、それが揃わないと設計できないのでは問題がある。商用のソフトだと一般的な材料のデータベースを内蔵していたり、実際に製膜するときに材料メーカから個別データを入手するという方法などで手に入れることが一般的だと思われる。

今回のような個人的なプロジェクトとしてやっているばあいはなかなかデータの入手が難しい。

先日TFCalcのメーカのサイトを見ていたら、フランスのSopra SAという会社が屈折率の値を公開していると言うことを知った。データはここからダウンロードできる。

これを使わない手はないと、思って見てみたらなかなか面白いものだった。酸化物だけでなく金属や化合物半導体などのデータもある。TFCalcで読み込めるデータになっているらしいけど、中身は簡単なテキストファイルで、

  1. 波長
  2. 屈折率の実数部
  3. 屈折率の虚数部
が一行になったもの。誘電体は虚数部に0が並んでいる。いかにも測定した生データと思われるようなノイズの乗ったものや、波長ではなく、波長の逆数(エネルギー)で等間隔になっているものもある。そういうのがデタラメに並んでいる。

これから自分で使うためのデータベースにすることにした。

さて、どのようにするか。というのは次回。


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

献立01/27献立01/28 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。