こんにちは。光学、光でのお困りごとがありましたか?
光ラーニングは、「光学」をテーマに様々な情報を発信する光源を目指しています。情報源はインターネットの公開情報と、筆者の多少の知識と経験です。このページでは、Zemaxコミュニティで注目されていた、解析機能とメリットファンクションオペランドの出力値のズレについて説明します。
Zemaxコミュニティについては、こちらのページ で概略を説明しています。
結論
- 解析機能とメリットファンクションオペランドでは、光線のサンプリング方法などが異なる場合があるので、出力された数値がズレる可能性があります。ほとんどの場合、バグではなく仕様です。
- 理由は、光線のサンプリング方式、サンプリング数、考慮される光線の取捨選択の違いによるものです。
- 光線本数を増やせば、両者の結果は近づいていきます。
このページの使い方
このページでは、Zemaxコミュニティに投稿されたトピック中から、よく参照されているもの、コメントが多いもの、筆者が気になったものを取り上げて紹介します。よくある疑問や注目されているトピックについての情報を発信することで、何かしらの気づきとなれば幸いです。
解析機能とメリットファンクションが出力する結果が一致しない
トピックへのリンク:
・スポットダイアグラムとメリットファンクションRSREでRMSスポット半径が異なる理由
OpticStudioのシーケンシャルモードには多くの解析機能があります。スポットサイズ、MTF、光路差、横収差など、多くの光学特性を解析機能で確認できます。
また、最適化で使用するメリットファンクションには、解析機能に対応した光学性能を出力するオペランドが用意されています。そのため、最適化のターゲットにしたい解析機能があった場合は、ヘルプファイルから対応するオペランドを探して、メリットファンクションエディタに組み込めます。これにより、最適化ウィザードで作成する基本の最適化に、オリジナルの最適化ターゲットをトッピングできます。
解析機能については、ZDAと解析機能_OpticStudioのシーケンシャルモードについて (5 fin) を参照してください。
最適化については、最適化の基本3ステップ_シングレットレンズの設計(OpticStudio入門) (10) を参照してください。
ここでよく持ち上がる疑問が、解析機能で出力されている数値と、それと同じ結果を出力してほしいオペランドの返す値に生じる誤差です。わずかな差であれば問題ないかもしれませんが、例えば設計仕様になっているMTFで10%ほどの誤差でもあれば、それは無視できません。
光線のサンプリング方式で結果が変わる
例えばスポットサイズを確認する場合、解析機能では標準スポットダイアグラムを参照します。メリットファンクションのぺランドは、スポットサイズを出力する複数のオペランドがありますが、例えば筆者もよく使うRSCEなどがあります。
出力されるのはどちらもRMS半径ですが、結果は異なるのが普通です。計算のもとになる光線のサンプリング方式(選択方法)が異なるためです。
スポットダイアグラムについては、スポットダイアグラム_シングレットレンズの設計(OpticStudio入門) (6) を参照してください。スポットダイアグラムは、設定の中の「パターン」オプションで光線のサンプリング方式が選択できます。デフォルトは六極になっていますが、ボックス(Square)という矩形サンプリングもあります。
そして、RSCEはというと、「ガウス求積法」が使用されます。ガウス求積法は、瞳が楕円形状の時に、光線のサンプリングと各光線の重みづけのスペシャル設定によって、少ない光線本数で高精度な結果を得るテクニックです。
標準スポットダイアグラムの光線パターンにはガウス求積法がないので、RSCEとまったく同じ結果を得ることができません。ガウス求積法は、光線数と予測精度のコスパに優れているので、特に計算精度が求められる最適化のオペランドに使用する計算法としては優秀です。
RSREとスポットダイアグラム矩形配列の誤差の要因
取り上げたトピックでの質問は、サンプリング方法と光線数を一致させたにもかかわらず、RMSスポット半径の値が違う理由を尋ねるものでした。
確かに、RSREは矩形グリッド光線を出し、質問者はグリッド(光線)数が一致するようにオペランドを設定していました。2つのRMS半径の結果に残った誤差は、0.006umでした。
完全に一致しない理由について、Markさんからコメントがありました。RSCEオペランドは、瞳全体に向けて矩形グリッド光線を出射します。一方で、スポットダイアグラムは設定で定義された光線を使うから、とのこと。少しわかりにくいような?気がしました。
筆者の見解・予想はこちら。「RSREは、入射瞳座標にめがけて矩形グリッド光線を出射する。それに対して、スポットダイアグラムは、円形の近軸入射瞳を満たすようにグリッド光線を出射する。そのため、RSREの方が実際に光学系を通過できる入射瞳の外側の光線が考慮され、数値が大きくなりえる」。あくまで、個人の見解です。
Markさんのコメントでは、RSREの方が正しく、光線数を増やすとRSREに漸近するとのことだったので、このトピックについては無事に解決となっていました。
不一致のその他の要因
光線のサンプリング数
サンプリング方法は違えども、追跡する光線数を増やしていけば両者の結果は近づいていきます。とはいえ、光線本数を増やせば計算時間がかかるので精度と時間のトレードオフです。適切なサンプリング数はその都度確認する必要があります。光線本数を増やしても結果があまり変わらない、ある意味主観的な判断で、サンプリング数を決めます。
基準
RMSスポットサイズは、計算の基準が異なると結果が変わります。オペランドで用意されているのは、主光線とセントロイドです。主光線は近軸入射瞳を通る光線で、セントロイドは追跡した光線全体の重心です。一般的には、セントロイドの方がより物理的に有意です。
例えば、光学系に強いコマ収差がある場合、主光線から離れるように光線が分布します。このようなスポット形状の場合、RMS半径は主光線ではなくセントロイドの方が、実際のスポットの大きさを正確に表します。
ビネッティングの取り扱い
今回のトピックでも話題となったRSREは、セントロイド基準、光線サンプリングは矩形グリッド、「ビネッティングを考慮する」オペランドです。ビネッティングを考慮する、とは光線が光学系のアパチャーによって遮蔽される(ケラれる)かを判定し、ケラれる光線は計算から除外します。
レイアウト上で光線がケラれるなら、最適化でもその光線は計算上除外されると思いがちです。しかし、RSREのように「このオペランドでは考慮される」と明記されているということは、他のオペランドでは考慮されない場合がある、ということです。
メリットファンクションにおける、光線のケラれの取り扱いについては最適化の考え方で重要なので、光ラーニングでも取り上げたいと思います。(ビネッティングファクタは最適化用_ビネッティングファクタの使い方 (3) を参照してください。)
ソフトウェアによって結果が変わる
複数の幾何光学ベースの光学ソフトウェアを使用している場合、ソフトウェア間でスポットサイズやMTFの結果が一致しない場合があります。
一般的な光学系の場合(いわゆる反射屈折系の光学系)、光線追跡はスネルの法則に基づいて計算されるので、「光線追跡そのもの=光線の座標と角度」にはソフトウェア間の誤差はほとんど発生しません。しかし、光線のサンプリング方法、基準、ビネッティングの取り扱い、計算のコーディング方法の詳細によって、光学性能として出力される結果には誤差が発生します。
大きな差でない限りは、ソフトウェア間の小さな誤差を深く追求するのは意味があまり無いかもしれません。私たちユーザには計算内容の詳細を知ることはできませんし、完全な光学系が製造できない以上、どのソフトウェアの結果が正確なのか、実機との比較から検証するのも難しいためです。
まとめ
このページでは、Zemaxコミュニティに投稿された「スポットダイアグラムとRSREオペランドの結果に誤差がある」を取り上げました。RMSに限らず、解析機能と対応するオペランドには、光線のサンプリング方法やいくつかの前提条件の違いにより、小さな誤差が出る場合があります。
コメント