形状エラーの特定方法 (第 2 部) - 設計例

この記事では、OpticStudio から "形状エラー" の警告が表示される最も一般的な理由の例を紹介します。また、この記事は形状エラーに関するシリーズの第 2 部であり、最初の記事の後に読むようにしてください。

この記事には、一般的に多く見られる形状エラーのいくつかを紹介するサンプル ファイルを収めた ZIP ファイルも、添付ファイルとして存在します。

著者 Dan Hill

Downloads

添付ファイル

Introduction

この記事は、形状エラーに関する 2 部構成記事の第 2 部です。この記事で提供するサンプルで作業する前に、「形状エラーの特定方法 (第 1 部)」に目を通しておくことをお勧めします。

第 1 部で示したとおり、一般的に形状エラーには 3 種類の原因があります。

  • 入射ポートおよび射出ポートの配置が無効
  • 光源の配置が無効
  • ソリッド オブジェクトの構造が無効

この記事では、これらのエラーが発生するようなサンプル光学系を示します。

混合モード光学系

OpticStudio の混合モードで作業しているときに発生する形状エラーは、多くの場合、入射ポートまたは射出ポート (あるいはその両方) の配置に不具合があることが原因です。OpticStudio では、入射ポートと射出ポートの配置が誤っているかどうかを容易に判断できます。添付ファイルのの中の Revised Core Clad Fiber_Geometry Error.ZMX を使用して、この点を実際に紹介します。

注 :このファイルは、(Zemaxフォルダ)\Samples\Non-Sequential\Fibers に保存されているファイル Core clad fiber.ZMX を編集したものです。入射ポートと射出ポートの誤配置に伴うエラーを説明するために、いくつかの点を変更しています。

ダウンロードしたファイルを OpticStudio で開きます。このファイルでは、混合モードを使用して、K5/FK3 の材質のコア/クラッド ファイバーの中を、円錐状に伝搬する光線を追跡します。

Shaded_model

 

このファイルを開くと、形状エラーが発行されます。この光学系では射出ポートが意図的に誤って配置されているからです。エラー メッセージを閉じて、シーケンシャル光線がディテクタ面 (像面) に到達していないことを確認します。

Layout_1

 

現在、[エラーを無視] (Ignore Errors) オプションがチェックされていない状態になっています。OpticStudio では問題が解消されるまで、このエラーが引き続き表示されます。光学系を更新するたびに毎回エラー ダイアログを閉じる必要があるので煩雑です。こうした理由から、ユーザが選択できるオプションとして [エラーを無視] (Ignore Errors) が用意されています。[エラーを無視] (Ignore Errors) のチェックをはずして、現在のレンズ ファイルでの形状エラー メッセージを表示してみます。NSC エディタのメニュー バーにある [エラー] (Error) メニューで [エラーを無視] (Ignore Errors) を使用して、エラーを無視するオプションを有効または無効にすることができます。以下のメニュー オプションのチェック マークは、[エラーを無視] (Ignore Errors) が有効であることを示しています。

NSCE

 

[エラーを無視] (Ignore Errors) のチェックをはずした後、キーボードの Ctrl+Shift+U を押してすべてのウィンドウを更新します。

次のエラー メッセージが表示されます。

Zemax_error_message

 

混合モード光学系 II

現在のサンプル ファイルによる形状エラー メッセージから得られた情報を確認します。

Zemax_error_message_2

 

このエラーは、このファイルで唯一の NSC グループの面 2 で発生しています。オブジェクト 2 でエラーが検出されていますが、このオブジェクトはファイバー コアを表すシリンダ体積オブジェクトです。

エラーを診断するために、NSC エディタの [エラー] (Errors) メニューで [エラーを無視] (Ignore Errors) フラグを一時的にチェックします。

このエラーがポートの誤配置によるものであることは既にわかっていますが、ここでは推定できる原因が不明であると仮定します。エラー メッセージから、エラーが NSC グループで発生していることはわかるので、面 2 に相当するコンポーネント グループとして NSC エディタに記述されている各オブジェクトを集中的に調査します。さらに、前述のとおり、混合モードの設計で発生する形状エラーの多くは、入射ポートまたは射出ポート (あるいはその両方) の誤配置に起因しています。

したがって、まず、NSC グループを構成するオブジェクトに対してこれらのポートが占める位置を確認します。レンズ データ エディタ (LDE) で NSC 面の [ポートを描画 ?] (Draw Ports?) フラグを変更することで、入射ポートと射出ポートを描画するかどうかを選択できます。入射ポートも射出ポートも描画しない場合は「0」、入射ポートのみを描画する場合は「1」を指定します。また、射出ポートのみを描画する場合は「2」、両方を描画する場合は「3」を指定します。現在のサンプルで、このフラグを「3」に変更します。

Lens_data

 

3D レイアウトを更新し、LDE の NSC 面にカーソルを移動して入射ポートをハイライト表示します。現在、入射ポートはファイバーの前面と同じ位置にあるので、その位置に問題はありません。なお、一般的には、NSC グループにあるどのオブジェクトからもある程度離れた位置に両方のポートを配置することをお勧めします。

Layout_2

 

この入射ポートは光線追跡に影響していないので、射出ポートの位置に不具合がないか確認してみます。

 

混合モード光学系 III ー 射出ポート

LDE で面 3 にカーソルを移動して、3D レイアウトの射出ポートをハイライト表示します。3D レイアウトから、光線が射出ポートで終端していることが明らかです。これは、射出ポートの配置が不適切であることを示しています。

Layout_3

 

射出ポートの位置は、LDE で NSC 面の [射出位置 X] (Exit Loc X)、[射出位置 Y] (Exit Loc Y)、[射出位置 Z] (Exit Loc Z) の各パラメータで設定します。現在、[射出位置 Z] (Exit Loc Z) が 50 mm に設定され、他の位置とティルトのパラメータはすべてゼロに設定されています。
これらの位置とティルトは入射ポートを基準とします。コアとクラッド両方の Z 方向長さも 50 mm なので、現在、射出ポートはファイバーの後のフェイスと同じ位置にあります。

Layout_4

 

NSCE_2

 

射出ポートは、ノンシーケンシャル オブジェクトのあらゆる部分から貼り合わせ距離以上離れた位置に置く必要があります。

この設計の目的に照らせば、射出ポートをファイバーの後のフェイスにこれほど近づけて配置する必要はありません。そこで、射出ポートの [射出位置 Z] (Exit Loc Z) を 50.5 に変更し、この厚みの追加分を吸収するために、面 3 の厚みを 0.5 mm 少なくします。3D レイアウトを更新し、これらの変更によって光線追跡の結果を実際に変化することを確認します。

Layout_5

 

最後に、NSC エディタのメニューで [エラーを無視] (Ignore Errors) フラグをOFFにし、上記の変更によって形状エラーが修正されたことを確認します。[エラーを無視] (Ignore Errors) フラグをOFFにした後、Ctrl+Shift+U を押してすべてのウィンドウを更新します。形状エラーが発生しなくなり、像面で光線を評価できるようになります。

Footprint_diagram

 

光源の誤配置

純粋なノンシーケンシャル モードの OpticStudio で作業しているときに発生する形状エラーには、いくつかの原因があります。たとえば、光源の誤配置や [内部配置] (Inside Of) フラグの誤使用が考えられます。添付ファイルの中の Revised LED_model_Geometry Error.ZMX を使用して、このような可能性を実際に示します。

注 :このファイルは、(Zemaxフォルダ)\Samples\Non-Sequential\Sources フォルダに保存されているファイル led_model.zmx を編集したものです。NSC 光源の誤配置に伴うエラーを説明するために、いくつかの点を変更しています。

ダウンロードしたファイルを OpticStudio で開きます。このファイルでは、OpticStudio の純粋なノンシーケンシャル機能のいくつかを使用して、1 つのディテクタを照射する 2 つの LED をモデル化しています。ファイルを開くと、自動的にノンシーケンシャル光線追跡が実行されます。

Shaded_model_2

 

現在、[エラーを無視] (Ignore Errors) オプションをONにして、形状エラー ダイアログが繰り返し表示されないようにしています。シェーデッド モデルのプロットを見ただけでも、ディテクタ平面上の光束が驚くほど完全な円形を示しており、上側の LED からの光線が考慮されていないように見えます。ディテクタ ビューアに表示された全パワーは約 5 mW であり、2 つの光源の全パワーを合わせた値の 1/4 に過ぎません。

Detector_viewer

 

エラーによって実際にどれくらいパワーが失われているのかを確認するために、光線追跡コントロールを再度実行します (これによりモンテカルロ光線追跡が実行されます)。[光線追跡コントロール] (Ray Trace Control) ダイアログを表示するには、[解析] (Analysis) → [光線追跡] (Ray Trace) を選択します。次の図のようにダイアログのオプションをチェックします。

Ray_trace_control_1

 

[クリアして追跡] (Clear & Trace) をクリックして、光線追跡が完了するまで待ちます。光線がランダムに生成されるので、得られる結果は以下の説明と若干異なることがありますが、大きくかけ離れた結果になることはないことに注意してください。

Ray_trace_control_2

 

光線追跡が完了すると、閾値に起因するエネルギー損失とエラーに起因するエネルギー損失が報告されます。エラーに起因するエネルギー損失は約 10 mW です。これは、2 つの光源からの合計パワーの約半分に相当するきわめて大きな値です。正しい結果が得られるように、これらのエラーを早急に修正する必要があります。
 

光源の誤配置 II

エラーの原因を特定するために、[エラーを無視] (Ignore Errors) のチェックをはずし、Ctrl+Shift+U を押して光学系を更新します。

Zemax_error_message_3

 

ダイアログに示された情報を記録してから、[OK] (OK) をクリックして、すべてのエラー メッセージ ウィンドウを閉じます。[エラーを無視] (Ignore Errors) をONにして設定を元に戻します。このサンプル ファイル固有の光線の不具合は光源オブジェクト 13 に起因しています。これは、上側の LED 光源を表す光源 (体積) オブジェクトです。さらに、オブジェクト番号 11 でもエラーが発生しています。オブジェクト 11 は上側 LED の本体を表しています。

光源 (体積) 13 が配置された領域を拡大表示して、疑義のある点を確認します。この光源 (体積) が体積オブジェクトの境界をまたいでいることが明らかです。この状態が問題になっています。特定の光源を出発する光線は、そのすべてが同じ体積の内部から出発する必要があります。単一光源から送出される 2 本の光線が、それぞれ異なる体積オブジェクトの中から出発することはできません。

Layout_6

 

この光源 (体積) オブジェクトは、接続ワイヤー (オブジェクト 16 と 19) に接触している必べきです。光源 (体積) オブジェクト 13 の [Z 位置] (Z Position) を 1.6 に変更し、ダイの境界をまたがないようにして、接続ワイヤーと接触するように配置します。

この段階では、形状エラーがまだ解消されません。これは重要な点です。上側 LED の発光源である光源オブジェクトは、LED 本体の内部にあるので、そのような指定が必要です。上側 LED 本体は、オブジェクト 11 で記述されています。NSC エディタで、光源 (体積) オブジェクト 13 の [内部配置] (Inside Of) フラグを 11 に変更します。

NSCE_3

 

モンテカルロ光線追跡を再度実行します。これで、形状エラーが発生する可能性は大幅に低くなりました。結果からわかるように、損失エネルギーは何桁も減少しています。すべての損失エネルギーが無視できるほど少ないことから、ディテクタ ビューアに示される結果を高い確度で評価することができます。

Ray_trace_control_3

 

Detector_viewer_2

 

形状エラーは、追跡対象の光学系に重大な欠陥があることを示唆している可能性もあることを認識しておく必要があります。まったく問題のない光学系であっても、わずかな光線エラーが発生することがあります。このようなエラーの主な原因は、これらの光線がフェーセットどうしまたは面どうしの境界に入射したために、面との正確な交差点を計算できなかったことにあります。これらの光線は、OpticStudio によって内部的に「捕捉」されて吸収または終端されることが普通です。ほとんどの場合、これらの光線に伴う「エネルギー損失」量は、設計で定義されているすべての光源の合計パワーに比較すると微々たるものです。したがって、これらの光線が最終的な光学系の結果に有意な影響を及ぼすことはないので、無視しても問題はありません。
 

無効なユーザ定義オブジェクト

ポリゴン オブジェクトやインポートしたオブジェクトなどのユーザ定義オブジェクトはきわめて多くの場面で使用されています。これらのオブジェクトを適切に定義していない場合、そのような無効な状態のオブジェクトを通る光線を追跡すると形状エラーが発生します。添付ファイルの中の Revised Interferometer.ZMX を使用して、このような形状エラーを実際に示します。

注 : このファイルは、(Zemax フォルダ)\Samples\Non-Sequential\Coherence Interference and Diffraction フォルダの中の Interference Example 1 – A Simple Interferometer.zmx を編集したものです。ユーザ定義オブジェクトを通る光線追跡に関連するエラーを説明するために、いくつかの点を変更しています。

この干渉計のファイルと同様に、Splitter_2.pob ファイルもダウンロードします。この .POB ファイルは、必ず (Zemax フォルダ)\Objects\Polygon Objects フォルダに保存します。

ダウンロードしたファイルを OpticStudio で開きます。このファイルでは、純粋なノンシーケンシャル機能のいくつかを使用してディテクタ平面に見られる干渉縞を表示します。このファイルを開くと自動的に形状エラーが表示されます。形状エラーがあることを受け入れると、ノンシーケンシャル光線追跡が始まります。ディテクタ ビューアの結果が予想と異なることがすぐに明らかになります。以下で、この形状エラーを詳しく検討します。

Detector_viewer_3

 

[エラーを無視] (Ignore Errors) のチェックを一時的にはずし、Ctrl+Shift+U を入力して光学系を更新します。

Zemax_error_message_4

 

この純粋なノンシーケンシャル光学系では、干渉計を通ってエラー光線がたどった光路を厳密に確認することによって問題を診断することが効果的です。そのため、NSC エディタの [設定] (Setup) タブにある [エラー光線を生成] (Create Error Ray) を使用します。

Setup_tab
 

このツールを使用すると、形状エラー メッセージに表示された光線とまったく同じ位置と同じ方向余弦を持つ光線を送出する光源 (光線) オブジェクトが NSC エディタに追加されます。

NSCE_4

 

および

NSCE_5

 

さらに、[レイアウト光線数] (# Layout Rays) と [解析光線数] (# Analysis Rays) をゼロに設定することで、光源 (矩形) を無効にします。

NSCE_6

 

この結果、形状エラーの生成につながる、単一光線が得られます。確認するには、光学系をもう一度更新し、送出時の座標と方向余弦が前回と正確に同一な光線によって形状エラー メッセージが再び発生することを確認します。

無効なユーザ定義オブジェクト II

エラー光線を定義したので、エラー原因の解析が容易になりました。

[エラーを無視] (Ignore Errors) をONにした状態に戻し、[光線追跡コントロール] (Ray Trace Control) ダイアログを開いて ([解析] (Analysis) →  [光線追跡コントロール] (Ray Trace Control))、以下の設定でモンテカルロ光線追跡を実行します。追跡完了後に光源光線を詳しく解析できるように、[光線を保存] (Save Rays) を必ずチェックしておきます。

Ray_trace_control_4

 

光線の伝搬状況を評価するために、光線データ ベース ビューアを開きます ([解析] (Analysis) → [光線データ ベース ビューア] (Ray Database Viewer))。光線データベース ビューアの設定で、先ほど保存したファイルの名前が [ファイル :] (File:) に表示されていることを確認します。

Ray_Database_Viewer

 

ここでは光線データ ベース ビューアで光線の伝搬経路をたどっていますが、問題がオブジェクト 5 で発生していることは、形状エラー メッセージから既にわかっています。光線データ ベース ビューアで明らかになることは、オブジェクト 7 (ディテクタ (矩形)) に光線が到達した時点で、その光線がオブジェクト 5 の内部に存在していると見なされていることです。これは [In] 列と [Hit] 列のデータからわかります。このディテクタを通過した光線は終端されています。これは、ビューアの Z 列に表示された * からわかります。

Ray_Database_Viewer_2

 

光線は、ディテクタに到達する前にポリゴン オブジェクト (Splitter_2.POB) から射出している必要があります。したがって、.POB ファイルの定義を見直すことが不可欠です。シェーデッド モデルでは、スプリッタの後のフェイスが完全に欠落しているように見えます。これが問題の原因と考えられます。

Shaded_model_3

 

テキスト ビューアで .POB ファイルを表示し、このポリゴン オブジェクトの定義を確認します。定義されているフェイスやシンタックスを検討すると、ポリゴン オブジェクトの後のフェイスを記述した行がコメント アウトされていることがわかります。

Text

 

上図に示した行から「!」を削除して、.POB ファイルを再度保存します。つづいて、NSC エディタの [編集] (Edit) メニューで [全てのオブジェクトを再読み込み] (Reload All Objects) を選択します。

[エラーを無視] (Ignore Errors) フラグを OFF にして光学系を更新します。形状エラーは発生しなくなっています。これで光源 (光線) オブジェクトを削除し、光源 (矩形) を使用した光学系解析を再開できます。
Detector_viewer_4

 

これは、オブジェクト定義の誤りが、光線追跡で問題の原因となる可能性があることを示す良い例です。今回の例では、ポリゴン オブジェクトの後のフェイスには光線が決して到達しません。したがって、OpticStudio で扱っている限り、光線がポリゴン オブジェクトから射出することはありません。OpticStudio では内部的にこの光線の追跡を継続していますが、最終的に体積から光線が射出する位置を見出すことができません。問題はこの点にあります。これで、形状エラーを特定できました。
 

KA-01418

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

コメント

0件のコメント

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