[39] OpticStudioでの散乱設定_Zemaxコミュニティ注目トピック (5)

OpticStudio

こんにちは。光学、光でのお困りごとがありましたか?

光ラーニングは、「光学」をテーマに様々な情報を発信する光源を目指しています。情報源はインターネットの公開情報と、筆者の多少の知識と経験です。このページでは、Zemaxコミュニティで注目されているトピックから、OpticStudioで表面散乱特性の設定方法について取り上げます。

Zemaxコミュニティについては、こちらのページ で概略を説明しています。

結論

  • 散乱特性は、オブジェクトプロパティから設定します。オブジェクトには複数の面が分割されて用意されており、それぞれに異なる散乱特性を設定できます。
  • 光線の散乱は設定するだけでなく、散乱現象を有効にするオプションをオンにする必要があります。
  • 散乱光線本数に正解はありません。多くすれば精度は上がりますが計算時間がかかるトレードオフの関係になります。

このページの使い方

このページでは、Zemaxコミュニティに投稿されたトピック中から、よく参照されているもの、コメントが多いもの、筆者が気になったものを取り上げて紹介します。よくある疑問や注目されているトピックについての情報を発信することで、何かしらの気づきとなれば幸いです。

散乱面の設定方法 (How to model a diffuse surface?)

トピックへのリンク: 散乱面の設定方法

このトピックは、特定の質問に答えたというよりは、よくある質問への一般的な回答を記載したもののようです。OpticStudioノンシーケンシャルモードの特徴的な解析内容である「散乱」を適用する手順を説明しています。ノンシーケンシャルの3つの特技_OpticStudioのノンシーケンシャルモードについて (4 fin) も参照してください。それに対して、いくつかのより具体的な使用方法に関する質問が追加されました。

ディスカッションの内容

散乱面の設定方法

OpticStudioノンシーケンシャルモードの散乱特性は、オブジェクトのプロパティにある、「コーティング/散乱」タブから設定します。このタブでは、オブジェクトの表面の光学特性を設定できて、光線の透過・反射・吸収・偏光のリターダンス特性をコーティングで、透過・反射後の光線の方向と本数を散乱によって変化させることができます。

図 39-1 散乱特性の設定場所。コーティングと同じ場所で設定する。”How to model a diffuse surface“から引用。

コーティングや面の特性は、オブジェクトの面ごとに設定することができます(Faceのプルダウン)。面の選択肢は、OpticStudioのビルトインのオブジェクトタイプの場合はデフォルトで決められています。例えば「矩形体積」の場合、⓪サイド面(ぐるっと一周全部同じ面特性になる)、①前面、②後面といった具合です。右側面に異なる特性を設定したい場合は、ポリゴンオブジェクトを作成するとか、他の面が問題なく設定できるなら矩形体積を回転させるとかで対応します。

「光線本数(Number of Rays)」は、散乱イベントが発生したときに、散乱光を何本生成するかを決めます。一般的に、散乱が発生すると光線が広範囲に広がります。そのため、1本の光線当たり1本の散乱光では、追跡すべき光線本数が不足する場合があります。

このオプションで散乱光線を多く発生させることで、散乱イベント後の解析精度が向上します。注意点としては、何度もこの散乱面に光線が入射するモデルでは、散乱光の本数が雪崩式に増大することです。この場合も、光線追跡が途中で中断されることで正しい解析にはなりません。

「散乱割合(Scatter Fraction」は、散乱イベントが発生する確率です。1.0のときは散乱イベントが必ず発生して、0.0では散乱イベントが起こりません。デフォルトの設定は0.0ですので、この設定を忘れていると、「あれ?散乱を設定したのに散乱しない。なんで?」と悩むことになります(経験済み)。

光線追跡と解析ウィンドウで光線の散乱・分割を有効にする

オブジェクトのプロパティで散乱を設定するだけでは、OpticStudioは光線を散乱および分割させません。私たちが、「光線追跡中に散乱面があったら光線を散乱させてください。」と指示を出す必要があります。ノンシーケンシャルの3つの特技_OpticStudioのノンシーケンシャルモードについて (4 fin) の光線追跡コントローラの説明でも触れた、Scatter NSC Rays (NSC光線の散乱)とSplit NSC Rays (NSC光線の分割)にチェックを入れることが、その指示になります。

デフォルトでこれらのオプションはオフになっているので、「あれ?散乱を設定して割合を1.0にしているのに散乱も分割もしない。なんで?」と悩むことになります(経験済み)。ノンシーケンシャルモードの他の解析機能にも散乱と分割のオプションがあるので、それぞれの機能の設定を確認します。

図 39-2 光線追跡コントローラ。Use~/Split~/Scatter のオプションで光線の取り扱いを決定する。

(光線の分割と散乱については、NSCが遅い時の対応(1) – 光線分割_Zemaxコミュニティ注目トピック (12)NSCが遅い時の対応(2) – 光線散乱_Zemaxコミュニティ注目トピック (13) も参照してください。

散乱角度を調整する散乱面

散乱特性の設定方法への返信として、「散乱角5度の光を50度にする方法があるか?」という質問がありました。残念ながら、この質問への回答はないようでした。

筆者なら、ひとまず「ガウシアン散乱」を試します。ガウシアン散乱は、入射した光線の正反射もしくは透過方向にピークを持ち、その方向から離れるほどに強度が弱くなるように散乱光を生成します。指向性を持った散乱面をモデル化するのに便利な理想散乱特性です。具体的なパラメータの検討はしていませんが、散乱角度を決めるパラメータの大きさを調整しながら、ディテクタで出力される散乱光のプロファイルを見ながらパラメータを決定します。

散乱後の光線エネルギーの変化

上で説明されているのは散乱特性のみです。散乱面での光線のエネルギー変化はどう取り扱われるるのでしょうか、という質問がありました。この質問には、ZemaxのBertaさんが回答しています。

「反射した光線のエネルギーは、コーティングによる吸収で10%低下します。」とあります。なぜ反射コーティングが10%のエネルギー低下を起こすか説明します。OpticStudioの材質にMIRRORと入力して反射面としたとき、反射面はアルミコートであると設定します。このデフォルトのアルミコートの反射率がおよそ90%なので、材質がMIRRORのオブジェクトで反射した光線のエネルギーは10%低下します。

ちなみに、このエネルギー低下が考慮されるのは、光線追跡時に変更を考慮する=コーティングを考慮する場合です。ヘルプファイルにもMIRRORと設定したときの特性について記載されているのですが、最初はエネルギーが低下した理由が分からずに混乱すると思います(経験済み)。

さて、散乱後の光線のエネルギーは、その面のコーティング特性によって決まります。おそらくこの理由のため、プロパティのタブでは「散乱/コーティング」がひとくくりになっているのでしょう。光線が面に入射した場合、透過光と反射光、残りの吸収光のそれぞれのエネルギーが、その面に設定されたコーティング特性によって決まります。そのエネルギーに対して、右にある散乱特性が付与されて、直接光(Specular ray)と散乱光に分割されます。

散乱光線数は何本にすればよい?

散乱のオプションの光線本数について、目安はあるか?という質問がありました。この質問には、ZemaxのSandrineさんが回答しています。

「明確な基準はありません。検討中の光学系にも依存します。いくつかのパターンで光線追跡を実行してみて、計算時間やディテクタでのノイズをチェックして、妥当な光線本数を探すことをおすすめします。」という回答でした。筆者も同意見です。

最終的には、計算時間とシミュレーションの精度のトレードオフになるので、どこかで妥協する必要があります。加えて、散乱の光線追跡をより効率的に計算するアプローチを探索するのも大事です。例えば、特定の方向にのみ散乱光線を発生させる重要度サンプリングの使用です。この機能については、いつか光ラーニングでも取り上げたいと思います。不要な光線経路には材質をABSORB(吸収)にしたオブジェクトを置いて終端する方法もあります。

散乱光線数を増やした時のおかしな挙動 (未解決)

散乱光線数を増やした場合、各散乱光線のエネルギーは小さくなるはずなのに、逆に大きくなることを示唆する結果が出ている、という質問がありました。これはかなり妙です。このページ作成時(2021/10/31時点)では解決していません。Sandrineさんも、サンプルファイルの共有を求めていました。バグだとしたら影響が大きそうです。単純な勘違いであることを祈っていますが、ディスカッションに進捗があったら光ラーニングでもご報告したいと思います。自分に関係がありそうな方がいたら、ぜひこのチャットをトレースしてみてください。

まとめ

このページでは、Zemaxコミュニティに投稿された「散乱面の設定方法」を取り上げ、設定のオプションへの追加の説明と、注意点を筆者の経験も交えて紹介しました。散乱はノンシーケンシャルモードの重要機能なので、設定の意味を理解しながら使いたいですね。散乱を扱った技術記事とフォーラムはたくさんあるので、今後も取り上げていきたいと思います。

コメント

タイトルとURLをコピーしました