光学フィルタ設計 層幅を系統的に調整する:パートB
このチュートリアルのパートBでは、フィルタ幅を自動的にスキャンする方法を見ていきます。 これにより、フィルタを設計し、自動的にスキャンし、フィルタの構造が 透過と反射の両方にどのように影響するかを調べることができます。系統的なスキャンを実行することで、 多くの異なるフィルタ設計の概要をすばやく生成し、用途に最も適したものを選択できます。
フィルタ幅のスキャン
メインウィンドウの Automation リボンに移動し、 Parameter Scan をクリックします( ?? を参照)。 Parameter scan ウィンドウが開き、すでに new という名前の新しいスキャン項目があるはずです。 この項目をダブルクリックすると、スキャン設定ウィンドウが表示されます ( ?? を参照)。 最後に、Run scan をクリックして計算を開始します。選択したパラメータ値の数に応じて、 スキャンの完了には少し時間がかかる場合があります。
Run scan をクリックすると、 ?? に示されている小さなプログラムを実行したことになります。 このプログラムについては後で説明しますが、本質的には 最も高い屈折率を持つ層の厚さを一連の値にわたって変化させます。 Parameter Scan ウィンドウの Output タブを開いてください( ?? を参照): 4 つのディレクトリが表示され、それぞれがスキャンされた厚さの 1 つに対応します。 各ディレクトリには通常のファイルを備えた完全なシミュレーションが含まれており、 異なるのはその層の厚さだけです。
スキャンフォルダのルートには、特別な「複数曲線」アイコン
(複数線の記号が付いた CSV ファイル)もあります。
これらはすべてのサブシミュレーションから対応する曲線を集約したものです。
optical_output をダブルクリックして開くと(
??
を参照)、
reflect.csv と transmit.csv が表示されます。
reflect.csv を開くと、スキャンしたすべての厚さの反射率が 1 つのグラフ上にプロットされます。これは
??
に示されています。
reflect.csv と transmit.csv。
パラメータスキャンウィンドウのプログラムを理解する
もう一度
??
を見ると、
5 行が一覧表示されていることが分かります。各行は
スキャンするパラメータを指定しています。この例では、パラメータは
エピタキシースタック内の特定の層の厚さ
(dy)です。項目は
epitaxy.layer0.dy、epitaxy.layer2.dy、
epitaxy.layer4.dy、epitaxy.layer6.dy、
および epitaxy.layer8.dy です。これらの行は、
デバイス構造内の
高屈折率層に対応しています。
最初の行には、厚さ値の一覧が表示されています:
1.0e-7、2e-7、4e-7、8e-7。
これらはスキャンが layer0 に割り当てる値です。
この行の操作は scan に設定されており、
これはプログラムが layer0 の厚さを、
指定されたこれらの値にわたって系統的に変化させることを意味します。
他の層(layer2、layer4、
layer6、および layer8)については、操作は
epitaxy.layer0.dy にリンクされています。値の列では、
これは duplicate として表示されます。これは、プログラムに
現在 layer0 に設定されている値をコピーし、
他の高屈折率層に適用するよう指示します。
実質的には、layer0 が変更されるたびに、他の高屈折率層も自動的に
同じ厚さに更新されます。
要約すると、このプログラムは 1 つの高屈折率層について一連の厚さ値をスキャンし、 その厚さをスタック内の他のすべての高屈折率層に複製します。 各ケースについてソルバーが実行されるため、層厚の関数として フィルタ性能がどのように変化するかを調べることができます。
まとめ
このチュートリアルのこのパートでは、パラメータスキャンを用いて光学フィルタ設計を自動化する方法を学びました。 層厚を系統的に変化させ、複数の層にわたってパラメータを複製し、 これらの変更が透過と反射にどのように影響するかを調べました。これらのツールにより、 多くの可能なフィルタ設計を迅速に評価し、用途に最も適した構造を特定できるようになります。