簡単なノンシーケンシャル光学系の作成方法

この記事では以下の内容を取り上げています。

  • ノンシーケンシャル エディタでノンシーケンシャル オブジェクトを入力して編集する方法
  • レイアウト プロット上に光線を描画して、光学系の性能を定性的に把握する方法
  • 大量の光線を追跡して、光学系の性能に関する定量的なデータを取得する方法

最終的な光学系を記述したレンズ ファイルが zip 圧縮ファイルで用意されていて、この記事でダウンロードできます。

著者 Nam-Hyong Kim

Downloads

Article Attachments

Introduction

ノンシーケンシャルレイトレーシングでは、シーケンシャルモードでは利用できない多くの機能があります。主にノンシーケンシャル光線がパス内のオブジェクトと相互作用し、完全に追跡可能な光線に分割できるためです。ノンシーケンシャルモードの機能を示す特定の例に進む前に、OpticStudioのノンシーケンシャルモードでの光線追跡を理解することが重要です。

ノンシーケンシャル光線追跡入門

OpticStudio による光線追跡には、シーケンシャルとノンシーケンシャルの 2 種類があります。シーケンシャルモードは主に結像光学系とアフォーカル光学系の設計で使用し、主に非結像用途で使用します。照明光学系や迷光解析などが該当します。

光線は、同じオブジェクトと 2 回以上交差でき、複数のオブジェクトと任意の順序で交差できます。この性質からノンシーケンシャル光線追跡と呼ばれています。屈折界面で部分的に反射した光線を生成して追跡できます。同時に、そこで屈折した光線も追跡できます。この機能を「光線分割」と呼びます。これにより、反射光線と屈折光線の両方を追跡可能です。ノンシーケンシャル モードで中心となる解析機能は、ディテクタへの光線追跡です。この機能では、インコヒーレントな光線またはコヒーレントな光線に関する空間データと角度データが得られます。更に、光線のZRD形式の保存や、Ray Database Viewer や Path Analysis toolsで解析が可能です。  

また、同じ光学系の中でシーケンシャル光線追跡とノンシーケンシャル光線追跡を使用するハイブリッド モードも存在します (「ポートを持つノンシーケンシャル モード」や「混合モード」ともいいます)。

基本的な光学系プロパティの設定

ここで作成するノンシーケンシャル光学系は、以下のレイアウトに示すように、フィラメント光源、放物面鏡、および矩形ライトパイプに光を導く平凸レンズで構成します。

NSC_Shaded_model_1

また、ディテクタまで解析光線を追跡して、光学系のさまざまな位置で放射照度の分布を取得します。最終的な目的とする光学系は以下のとおりです。

NSC_Shaded_model_2

OpticStudio は、デフォルトでシーケンシャル/混合モードで起動します。純粋なノンシーケンシャル モードに切り替えるには、OpticStudio を開いてから [設定] (Setup) → [システム] (System) → [ノンシーケンシャル UI モード] (Non Sequential UI Mode) をクリックします。

純粋なノンシーケンシャル モードに切り替えると、エディタのウィンドウのタイトル バー表示が、シーケンシャル モードでの [レンズ データ エディタ] (Lens Data Editor) から [ノンシーケンシャル コンポーネント エディタ] (Non-Sequential Component Editor) に変化します。レンズ データ エディタは、シーケンシャル モードまたは混合モードの光学系でのみ使用します。

Editor

 

この演習ではシステム波長を 0.587 µm に設定します。これは、[設定] (Setup) → [システム] (System) → [システム エクスプローラ] (System Explorer) → [波長] (Wavelengths) で指定します。

Wavelength

また、[設定] (Setup) → [システム] (System) → [システム エクスプローラ] (System Explorer) → [単位] (Unit) で、単位を次のように設定します (デフォルトの設定)。

Units

Watt.cm-2 などの放射照度単位のほか、lumen.cm-2 などの測光単位と joule.cm-2 などのエネルギー単位も指定できます。この演習では、デフォルトの放射照度単位を選択します。

反射鏡の作成

キーボードの Insert キーを押して、ノンシーケンシャル コンポーネント エディタに数行を挿入します。

Insert_object

この設計の最初の部分には、放物面鏡で平行光線にする光線を発するフィラメント光源を作成します。続いて、+Z 軸方向の一定の距離にディテクタ オブジェクトを配置し、ディテクタ上の放射照度分布を観測します。

エディタ上でオブジェクト 1 の [オブジェクト タイプ] (Object Type) 列をクリックするか、[オブジェクト 1 のプロパティ] (Object 1 Properties) ウィンドウを開くことで、最初のオブジェクトを放物面鏡にします。[タイプ] (Type) を標準面に設定します。

Standard surface

エディタ上で、標準面オブジェクトの該当する列に以下の各パラメータを入力します。パラメータによっては、その名前のタイトル列を表示するためにエディタを右方向にスクロールすることが必要な場合もあります。

[材料] (Material) ミラー (Mirror)
[曲率半径] (Radius) 100
[コーニック] (Conic) -1 (放物面)
[最大アパチャー] (Max Aper) 150
[最小アパチャー] (Min Aper) 20 (反射鏡中央の穴)

 

Parameters

[解析] (Analyze) → [システム ビューア] (System Viewers) → [NSC 3D レイアウト] (NSC 3D Layout) を選択して NSC 3D レイアウトを開くか、[解析] (Analyze) → [システム ビューア] (System Viewers) → [NSC シェーデッド モデル] (NSC Shaded Model) を選択して NSC シェーデッド モデルを開くと、この反射鏡がどのような形状になっているかを確認できます。

Reflector

光源の作成

この光源 (フィラメント) を放物面鏡の焦点に置くことで、平行光線のビームを生成します。このフィラメント コイルは、巻数 10、全長 20 mm、コイル半径 5 mm とします。エディタで上記の手順を繰り返して [光源 (フィラメント)] (Source Filament) を選択することで、オブジェクト 2 のタイプ (現在は空オブジェクト) を 光源 (フィラメント) オブジェクトに変更します。

SourceFilament_10_turns

光源 (フィラメント) のパラメータをエディタで以下のように入力します。

[Z 位置] (Z Position) 50 (放物面鏡の焦点位置)
[描画光線数] (# Layout Rays) 20
[解析光線数] (# Analysis Rays) 5,000,000
[長さ] (Length) 20
[半径] (Radius) 5
[巻数] (Turns) 10

 

Filament source parameters

[NSC 3D レイアウト] (NSC 3D Layout) をダブルクリックして 3D レイアウトを更新します。

Layout update

[描画光線数] (# Layout Rays) の指定に従い、光源のフィラメントから放射される 20 本の光線がレイアウトに表示されます。

光源の回転

この光源は Z 軸方向を向いていますが、これを X 軸方向に向けるとします。そのためには、Y 軸を中心として光源オブジェクトを 90 度回転する必要があります。光源の [Y 軸のティルト] (Tilt About Y) パラメータとして「90」を入力します。

Tilt about Y

デフォルトのレイアウトである YZ 平面ビューでは、X 軸方向に向いたフィラメントが表示されますが、XZ 平面ビューを見ると、フィラメントが +X 軸方向に移動していることがわかります。レイアウトを回転するには、[レイアウト] (Layout) ツールバーでレイアウトの表示角度を変更します。キーボードの上下左右矢印キーおよび Page Up キーと Page Down キーを押して図面を回転することもできます。

Layout_Source_Rotation_Settings

Rotation     Rotation Z

このディセンタが発生する原因は、光源 (フィラメント) の回転軸がオブジェクトの中心ではなく、その端部に置かれていることにあります。X 軸上で光源の中心を原点に置くには、X 位置の列に「-10」を入力します。

X position

レイアウトを更新すると、目的の位置と向きに置かれたフィラメントが表示されます。

ディテクタの配置

次に、光源から一定の距離にある位置の照度分布を調べるために、その位置にディテクタを配置します。エディタで 3 番目のオブジェクトとしてディテクタ (矩形) を作成し、以下の各パラメータを入力します。

[Z 位置] (Z Position) 800
[X 半幅] (X Half Width) 150
[Y 半幅] (Y Half Width) 150
[X ピクセル数] (# X Pixels) 150
[Y ピクセル数] (# Y Pixels) 150
[カラー] (Color) 1 (ディテクタは反転グレースケールで表示されます)

 

レイアウトの YZ 平面ビュー (デフォルト) は以下のようになります。

Layout_With_Detector

光線がディテクタを通り抜けている様子がレイアウトに表示されています。材料タイプが空気なので (エディタ上で空白を指定)、このディテクタは全面的に透明になっています

ディテクタまでの解析光線の追跡

ディテクタでの光強度を確認するには、[解析] (Analyze) → [ディテクタ] (Detector) → [ディテクタ ビューア] (Detector Viewer) をクリックしてディテクタ ビューアを開く必要があります。

Detector viewer

レイアウトではディテクタに光線が到達していても、全パワーがゼロでディテクタ ビューアが空白であることがわかります。これは、レイアウトとディテクタ ビューアとでは光線がそれぞれ別々に追跡されるからです。結果を確認するには、まずディテクタへの解析光線を追跡する必要があります。ディテクタまで追跡する光線の本数は、エディタ上で光源 (フィラメント) オブジェクトの [解析光線数] (# Analysis Rays) パラメータの列で指定します。ここには大きな値を指定することが普通で、この例では 500 万とします。ディテクタ ビューアの結果に影響するのは解析光線のみで、描画光線は影響しません。

ディテクタまで解析光線を追跡するには、[解析] (Analyze) → [光線を追跡] (Trace Rays) → [光線追跡] (Ray Trace) を選択して [ディテクタ コントロール] (Detector Control) ウィンドウを開きます。

Ray_trace_control

最新の追跡結果に以前の追跡結果を加算しないのであれば、[ディテクタをクリア] (Clear Detector) ボタンをクリックして必ずディテクタをクリアします。[ディテクタをクリア] (Clear Detector) をクリックしてから [光線追跡の実行] (Trace) ボタンをクリックし、続いて [終了] (Exit) をクリックします。ディテクタ ビューアに放射照度分布が表示され、フィラメント光源に起因するホットスポットを確認できます。

Irradiance_Distribution

ディテクタ ビューアの表示がこれと異なる場合は、ディテクタ ビューアの設定ウィンドウを開き、設定が以下のようになっていることを確認します。

Detector settings

この設定で [最終解析でピクセルを色付け] (Color pixels by last analysis) オプションを選択することにより、NSC シェーデッド モデル レイアウトでディテクタの光線追跡結果を確認することもできます。

Settings    Shaded_Model

平凸レンズの追加

光源と反射鏡を設定したので、ディテクタの右側 (+Z 方向) 10 mm の位置に屈折性の平凸レンズを追加します。エディタで、ディテクタ (矩形) の後ろに 1 行を挿入し、オブジェクトのタイプを [標準レンズ] (Standard Lens) として、そのプロパティを以下のように設定します。

[基準オブジェクト] (Ref Object) 3
[Z 位置] (Z Position) 10
[材料] (Material) N-BK7
[曲率半径 1] (Radius 1) 300
[有効口径 1] (Clear 1) 150
[エッジ 1] (Edge 1) 150
[厚み] (Thickness) 70
[有効口径 2] (Clear 2) 150
[エッジ 2] (Edge 2) 150

 

3D レイアウトを更新します。

3D_Layout_Update_Plano_Convex_Lens

ここでは、[基準オブジェクト] (Ref Object) に値 3 を入力することで、このレンズの位置基準をオブジェクト 3 (ディテクタ (矩形)) として、[Z 位置] (Z Position) に 10 を指定しています。グローバル頂点 ([基準オブジェクト] (Ref Object) = 0) を基準として [Z 位置] (Z Position) に 810 mm を指定する方法はとっていません。ディテクタの位置を基準としてレンズを配置しているので、ディテクタの位置に関係なく、このレンズは必ずディテクタの右側 (+Z 方向) 10 mm に置かれます。ノンシーケンシャル モードでは、このように相対的なオブジェクト位置を指定します。

合焦したビームがどのようになるかを確認するために、このレンズの右側 (+Z 方向) 650 mm の位置に別のディテクタを配置し、そのプロパティを以下のように設定します。

[基準オブジェクト] (Ref Object) 4
[Z 位置] (Z Position) 650
[X 半幅] (X Half Width) 100
[Y 半幅] (Y Half Width) 100
[X ピクセル数] (# X Pixels) 150
[Y ピクセル数] (# Y Pixels) 150
[色] (Color) 1

 

3D レイアウトを更新します。

3D_Layout_Second_Detector_Rectangle

解析光線の追跡および偏光損失の考慮

[解析] (Analyze) → [ディテクタ] (Detector) → [ディテクタ ビューア] (Detector Viewer) をクリックして別のディテクタ ビューアを開き、以下のように設定します。

2nd Detector viewer

これで、このディテクタへの光線追跡を再度実行できます。N-BK7 を材料とするレンズにはコーティングを施していないので、反射損失 (フレネル反射) を考慮する必要があります。そのためには、[ディテクタ コントロール] (Detector Control) ウィンドウで [偏光を使用] (Use Polarization) オプションを有効にします(ここでは光線を分割しないので、反射損失は考慮されますが、反射したエネルギーは伝搬しません。[光線の分割] (Split Rays) をクリックすると、反射したエネルギーを引き継ぐ子光線が作成されます)。

Ray_Trace_Control_Polarization

ディテクタ ビューアに示される全パワーには、レンズで発生する反射損失とバルク吸収が考慮されるようになります。

Irradiance_Second_Detector

矩形ライトパイプの追加

最後の手順として、ディテクタ 5 の右側 (+Z 方向) 20 mm の位置にアクリル製の矩形ライトパイプを追加します。ディテクタ 5 の後に矩形ボリューム オブジェクトを追加し、そのプロパティを以下のように設定します。

[基準オブジェクト] (Ref Object) -1
[Z 位置] (Z Position) 20
[材料] (Material) アクリル (Acrylic)
[X1 半幅] (X1 Half Width) 70
[Y1 半幅] (Y1 Half Width) 70
[Z 長さ] (Z Length) 2000
[X2 半幅] (X2 Half Width) 70
[Y2 半幅] (Y2 Half Width) 70

 

材料のタイプとして「アクリル (Acrylic)」を入力すると、以下のメッセージが表示されます。[はい] (Yes) をクリックすると、材料としてアクリルが定義されている MISC ガラス カタログが現在の設計ファイルに追加されます。

Error

ここでは、[基準オブジェクト] (Ref Object) に -1 を設定していますが、これはエディタ上で 1 行前にあるオブジェクト (オブジェクト 5 のディテクタ (矩形)) を指しています。これは、このパラメータに 5 を指定することと同じです。[基準オブジェクト] (Ref Object) に負数を使用して相対的位置でオブジェクトを指定すると、シーケンシャル コンポーネント エディタに記述したオブジェクトのグループをコピーして、同じエディタまたは別のエディタに貼り付けるときに便利です。

RefObject_Parameters

別のディテクタ (矩形) をオブジェクト 7 として配置し、そのプロパティを以下のように設定します。

[基準オブジェクト] (Ref Object) -1 (相対的なオブジェクト参照を使用して矩形ボリュームを基準とします)
[Z 位置] (Z Position) 0 (この値は後で変更します)
[材料] (Material) 吸収性 (Absorb)
[X 半幅] (X Half Width) 100
[Y 半幅] (Y Half Width) 100
[X ピクセル数] (# X Pixels) 150
[Y ピクセル数] (# Y Pixels) 150
[色] (Color) 1

 

ピックアップ ソルブによるディテクタの配置

更新した 3D レイアウトは以下のようになります。

3D_Layout_Detector_5_and_7

材料タイプを吸収性として設定したので、レイアウトでも明らかなように、このディテクタは透明ではなく、不透明になります。

ディテクタ 7 の位置基準は矩形ボリュームであり、Z 位置をゼロに設定しているので、このディテクタはライトパイプの前面に置かれます。このディテクタをライトパイプの右側 (+Z 方向) 10 mm の位置に置く必要があるので、その Z 位置を 2010 mm にする必要があります (ライトパイプの厚み + 10 mm)。矩形ボリュームの厚みを変更した場合は、ディテクタ 7 の Z 位置も変更する必要があります。このような不便を避けるために、エディタで 2010 mm を入力するのではなく、ディテクタの Z 位置に「ピックアップ ソルブ」を設定します。これにより、オブジェクト 6 の厚みがどのような値であっても、それに 10 を加算した値が自動的にディテクタの Z 位置として算出されます。

エディタでオブジェクト 7 の Z 位置をクリックしてソルブのウィンドウを開きます。以下の各パラメータを入力します。

Pick up

ノンシーケンシャル コンポーネント エディタでは、パラメータ 0 が [材料] (Material) 列に相当するので、矩形ボリューム オブジェクトではパラメータ 3 が [Z 長さ] (Z Length) に相当します。エディタではパラメータの横に文字「P」が表示され、ピックアップ ソルブが設定されていることが示されます。

完成した光学系の光線追跡

3 番目のディテクタ ビューアを開いてディテクタ 7 を表示し、このディテクタまで光線追跡を再度実行します。[ディテクタ コントロール] ウィンドウで、必ず偏光オプションを使用し、ディテクタをクリアしたうえでディテクタまでの光線追跡を実行します。ライトパイプによってホット スポットが効果的に除去され、ほぼ均一な放射照度分布が得られていることがディテクタ ビューアに示されています。

Irradiance_Third_Detector

完成した光学系の zip 圧縮ファイルには、この記事が参考情報として付属しています。

KA-01592

この記事は役に立ちましたか?
65人中63人がこの記事が役に立ったと言っています

コメント

0件のコメント

サインインしてコメントを残してください。