ログイン    検索  

掲示板トップ » はじめてのZEMAX » よくある質問




新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
 記事の件名: 「Not Enough Segments Allocated to Trace ...」とは何を意味するのですか?
 投稿記事 Posted: 2009年2月09日(月) 15:11 
管理人

登録日時: 2008年12月02日(火) 10:33
記事: 119
<交点、およびセグメントとは何か>

多数の物体を含む複雑なシステムや、光線が単一の物体に複数回当たる (積分球など) 設計において、交点およびセグメントの最大数のデフォルト値では十分でない場合があります。
その結果、以下のようなエラー メッセージが表示されます。

添付ファイル:
Error%20message_not%20enough%20segments.gif
Error%20message_not%20enough%20segments.gif [ 4.75 KiB | 表示回数: 565 回 ]


または

添付ファイル:
Note%20enough%20intersections%20allocated.gif
Note%20enough%20intersections%20allocated.gif [ 4.62 KiB | 表示回数: 562 回 ]


どちらのエラーも「重大」なエラーと見なされるべきものです。つまり、無視するべきではありません。
最大数を十分に増加させないと、光線追跡の結果が間違ったものになる可能性があります。

このトピックでは、これらのエラーを無視できない理由とそれらの解決策について説明し、セグメントと交点の違いを示します。

最初に、それぞれの用語の意味を説明します。交点とは光線が物体の表面に当たる点のことです。
1 つの光線が同じ物体に複数回当たる場合がありますが、その場合は光線が物体の表面に当たる度に交点の総数に加算されます。

セグメントとは、ある交点から次の交点までの光線経路です。光線が光源から放たれると、最初の物体まで進みます。
これが第 1 セグメントまたはセグメント番号 1 です。
物体表面の交点部分で光線が 2 つ以上に分割されると (たとえば透過する光線と反射する光線に分割)、各光線は異なるセグメント (この場合 3 つのセグメント) になります。

この違いを明確にするため、以下のダイアグラムを示します。1 つの光線が平行平面板の正面に入射しています。
このシナリオ (光線の分割は無視) では、合計で 3 つの光線セグメントと 2 つの交点があります (正面と背面に 1 つずつ)。
各セグメントは、異なる色で描画されています。

添付ファイル:
shaded%20model%20color%20by%20segments.gif
shaded%20model%20color%20by%20segments.gif [ 9.55 KiB | 表示回数: 565 回 ]


セグメントごとに光線の色を変えるには、[NSC Shaded Mode] または [NSC 3D Layout] の設定の [Color Rays By] で「Sources」、「Waves」、「Configurations」、「Segments」の中から「Segments」を選択します。

添付ファイル:
color%20rays%20by%20segments.gif
color%20rays%20by%20segments.gif [ 10.02 KiB | 表示回数: 565 回 ]


光線のセグメントと交点を光線の「家族」と考えると役に立つことがあります。
各交点ポイントにおいて、「親」光線は複数の「子」光線に分割されることがあります。
これらの子光線がさらに別の子光線のセットの親となることがあり、その場合あたかも家系図のようになります。
交点とセグメントの最大数は発せられる光線ごとに適用されるため、光源から発せられる各光線が自身の家系図を持つと考えることができます。
最大数に到達すると、ZEMAX は、割り当てられているセグメントまたは交点が不足していることを示すエラーを出力します。

光線が分割されると、ZEMAX が追跡しなければならないセグメントの数は急速に増えていきます。
もう一度上の例を元に、セグメントの合計数が急速に増加する場合を考えます。
たとえば、平面板の正面と背面の両方で光線がフレネル反射する場合、セグメントは全部で 5 つです。
それぞれの子光線が表面に当たり 2 つの孫光線に分割されるとセグメントは全部で 9 つになり、さらにこれが繰り返されます。
また、ある表面で複数の光線に散乱し、散乱した子光線が別の表面でさらに散乱して孫光線を生成する場合もあります。


トップへ 
   
 
 記事の件名: 「Not Enough Segments Allocated to Trace ...」とは何を意味するのですか?
 投稿記事 Posted: 2009年3月12日(木) 11:45 
管理人

登録日時: 2008年12月02日(火) 10:33
記事: 119
<光線ごとの交点およびセグメントの最大数 – [Non-Sequential] タブ>

光線追跡で使用可能な交点とセグメントの数を制御するパラメータは、どこで変更すればよいのでしょうか。
他の多くのパラメータと同様に、これらの 2 つのユーザー定義値も [System] > [General] ダイアログの [Non-Sequential] タブで変更することができます。

添付ファイル:
System%20General%20dialog.gif
System%20General%20dialog.gif [ 11.24 KiB | 表示回数: 528 回 ]


このダイアログにある各制御項目は、ZEMAX の NSC グループでどのように光線を追跡するかを定義します。
それぞれの制御項目の詳細については、『ZEMAX ユーザーズ ガイド』の「システム メニュー」の章の [General] > [Non-Sequential] を参照してください。

セグメントと交点の最大数は、照射される光線ごとに割り当てるセグメントまたは交点の最大数を設定するのに使用されます。
つまり、光源から照射されたそれぞれの光線は、定義されている最大数までのセグメントと交点を持つことができます。
セグメントの最大数が 1,000 で個別の光線が 5,000 個照射された場合、ZEMAX は 500 万の光線セグメントを保存することができます。
ZEMAX が、これらのパラメータをユーザー定義可能にしている理由は何でしょうか。
なぜ ZEMAX は、追跡を実行するのに必要な数のセグメントをすべて確保しないのでしょうか。
その理由は、多数のセグメントをサポートするためには大量のメモリーを確保しておく必要があるからです。
多くの場合、それほど多くのセグメントは必要なく、大量のメモリーを確保することで光線追跡の動作が遅くなります。
必要とされる RAM の総バイト数は、セグメントの最大数の 140 倍になります。
最大数を 100,000 セグメントに設定すると、光線ごとに 14 MB の RAM が必要になります。
このため、必要もなしに最大数を極端に大きくすべきではありません。
ZEMAX で設定可能な上限は、200 万光線セグメントです。
セグメント数を適切な値にしたとしても、ZEMAX は依然として数百万の光線を追跡することができます。
セグメントの最大数は、単一の光線で処理可能なセグメントの数を制限するにすぎません。
ZEMAX のほとんどの機能では同時に 1 つの光線しか使用しないため、必要な RAM は追跡する光線の数ではなくセグメントの最大数に依存します。


トップへ 
   
 
 記事の件名: 「Not Enough Segments Allocated to Trace ...」とは何を意味するのですか?
 投稿記事 Posted: 2009年3月12日(木) 11:49 
管理人

登録日時: 2008年12月02日(火) 10:33
記事: 119
<セグメントおよび交点のエラーを無視してはならない理由>

セグメントおよび交点のエラー メッセージを無視してはならない理由を完全に理解するためには、これまでの説明の他にも知っておくべき重要な情報があります。
この情報は、ノンシーケンシャルな光線を追跡する際の順序に関係があります。
光線は、[System] > [General] ダイアログの [Non-Sequential] タブで指定する制限または最大コントロールのいずれかに達するまで追跡されます。
ただし、割り当てられたセグメントまたは交点が光線経路のすべてを追跡するには不足している場合、ZEMAX はエラーを出力して追跡を終了します ([Ignore Errors] がオフの場合)。
繰り返しますが、このエラーは無視するべきではありません。
その理由を説明します。
このトピックの前の方にあるたとえ話のように、光線追跡を家系図になぞらえます。
それぞれの交点によって、光線は同じエネルギーを持つ「反射」光線と透過光線の 2 つに分かれるとしましょう。
階層関係を分かりやすく示すため、「反射」光線を赤、透過光線を黒で描きます。
各交点は青のバーで表現します (注 : このモデルでは青のバーは 1 つの交点を表します。正面と背面を持った実際のプレートを表しているのではありません)。
この光線追跡のシーケンスでは、各交点におけるセグメントの総数は 2n+1 – 1 に等しくなります。
よって 3 番目の交点の後は、セグメントの合計は 24 – 1 つまり 15 になります。

添付ファイル:
segment%20final.gif
segment%20final.gif [ 7.14 KiB | 表示回数: 522 回 ]


上のダイアグラムの番号設定の方法に注目してください。
光線セグメント 1 は最初の面に入射し、2 つの光線 (反射光線と透過光線) に分割されます。
ZEMAX は、たとえば光線が相対的な最少強度に達するまで透過エネルギーの追跡を続けます。
したがって、ZEMAX は透過した分のエネルギー (セグメント 2、3、4) を連続して追跡し、その後、最後に分割が発生したポイントに戻ります。
光線の透過エネルギーは最小限度に達するまで追跡されます。

添付ファイル:
Segment%20Order.gif
Segment%20Order.gif [ 93.7 KiB | 表示回数: 523 回 ]


この番号設定の方法から分かるように、最初に十分なセグメントが定義されていない場合、初期エネルギーのかなりの部分を担う光線を無視することになります。
この例では、仮にセグメントの最大数が 8 に定義されているとすると、ZEMAX は初期エネルギーの半分を担う 9 番目の光線セグメントを追跡することができません。
このような場合、検出器によって収集される総エネルギー計算はまったく信頼できません。
では、先に追跡するセグメントを強度によって決定する方法はどうでしょうか。
この方法では、多量のデータのリストをメモリーに格納しておく必要があり、光線追跡の速度は大幅に低下するでしょう。
そのため、ZEMAX では光線を再帰的なループによって追跡します。これにより光線追跡の速度が大幅に向上します。
結論として、ZEMAX がセグメントまたは交点のエラーを出力したときは決して無視してはいけません。
すべての光線経路を追跡するのに十分なだけのセグメントと交点が必ず割り当てられるようにしてください。
ただし、不用意に大きな値を設定すべきではありません。必要な分だけ値を増やしてください。


トップへ 
   
 
 記事の件名: 「Not Enough Segments Allocated to Trace ...」とは何を意味するのですか?
 投稿記事 Posted: 2009年3月12日(木) 11:51 
管理人

登録日時: 2008年12月02日(火) 10:33
記事: 119
<まとめと参照先>

ZEMAX では、ノンシーケンシャル グループ内の光線追跡に割り当てるセグメントおよび交点の最大数をユーザー定義することができます。
可能性のあるすべての光線経路を追跡するのに十分な数が設定されていない場合、ZEMAX は「Not Enough Segments Allocated to Trace All Possible Ray Paths!」または「Not Enough Intersections Allocated to Finish Ray Trace!」のエラー メッセージを出力します。
これらのエラーは「重大」なエラーとして扱うべきもので、無視すべきではありません。
このトピックでは、セグメントおよび交点とは何か、セグメントおよび交点のデフォルトの最大値を変更する方法、エラー メッセージを無視してはならない理由を説明しました。

参照先

ZEMAX Optical Design Program User’s Guide (ZEMAX Development Corporation)


トップへ 
   
 
期間内表示:  ソート  
 
新しいトピックを投稿する トピックへ返信する  [ 4 件の記事 ] 

掲示板トップ » はじめてのZEMAX » よくある質問


 
トピック投稿: 不可
返信投稿: 不可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
cron