背景
- 光学シミュレーションを学んだり調査したい
- 光学シミュレーションソフトで計算したのと, 自前計算したのとを比較したい
OpTaliX とは?
古めかしいですが, 一応一通りの光学計算ができます.
波動光学などを扱える Pro 版は 1,600 EUR です(買い切り. 1 年間のサポートとアップデート). 日本円でだいたい 20 万円くらいです.
更新は 1 年 400 EUR(5~6 万円くらい)です.
一人で切り盛りしているようです. 質問するとだいたいすぐに答えてくれる(式の説明とかもしてくれる)ので, 光学相談代と思えば安いでしょう
Windows でしか動きません. GPU は使っていないので Virtual Box などの仮想環境で動かすこともできるかもですが, ライセンス認証が USB ドングルなのでなにかうまいこと設定しないとだめかもです.
他の有名な光学ソフト CodeV, ZEMAX のファイルをある程度 import できます.
ドキュメントが, (光学)エンジニア向けにはそこそこ充実していて, 計算式など載っているので参考になります.
使ったことはないですが, どうも CodeV といろいろ互換性があるようです.
Lens data export
CodeV, ZMAX などにエクスポートできます. ASCII フォーマットです. ただ完全というわけではありません.
OpTaliX の自身のフォーマットも ASCII です.
Lens 定義自体はだいたいどのフォーマットでも似ているので, 各種フォーマットで出力すればどれがどれに対応しているかなんとなくわかります.
Entrance pupil, exit pupil
-
SAP
: 最後面からの exit pupil 位置 -
SEP
: 最前面からの entrance pupil 位置 -
APD
: exit pupil diameter(ドイツ語で ’Austrittspupillendurchmesser’) -
EPD
: entrance pupil diameter
chief ray
YIM(paraxial image height)などから chief ray の情報を求める.
y
, rsi
あたりで field の ray fan 情報をダンプして aperture 位置 0, 0 のレイ
image plane の Y 位置. 最終面(image 面)が s12 とすると,
y s12 f1 0 0
など.(f = field number)
(Edit
-> Configuration
> Fields
で Image height paraxial になっているとする)
single ray trace
sin
コマンド
レイの軌跡のダンプ
raylog コマンドで, その後の操作(e.g. Spot diagram 計算)でのレイの軌跡(交点)をファイルに保存できます.
ログは一度に 1 surface 単位のため, lens 全部の交点をダンプしたい場合は surface ごとに raylog を呼ばないとだめかもです...
real image height
EVA [YRI f1]
で field 1 の real image height(YRI) が取得できます.
ior
EVA [IND s1 wavelength]
でサーフェスの特定の波長の屈折率を取得できる.
Private glass
CodeV の PRV
glass を読んでよろしく CodeV と同じように補間はしてくれないです.
自前で補間して, .idx
(CSV)で wavelength/value のペアデータを Melted glass として読み込ませるしかない感じです.
100 ペアまでしか対応していかなったので精度が出せないため, リクエストしたら, 最新版では 2000 ペアまで対応してくれました
first order data
FIR
: first order(近軸近似量)の表示
FIO
: paraxial ray trace で各面の u, h の表示
MTF
vs Field の plot では 3 本(lp/mm
)しか表示できない...
Config で Max lp/mm
を指定する. その 1/2, 1/4 が計算される.
たとえば 40 lp/mm
であれば 40, 20, 10
が計算される.
MTF export
MTF の数値はファイルにエクスポートできず, コマンドライン(ヒストリ)にテキストで表示するだけのようです. 適当に手動でコピペしてファイルにエクスポートします.
PSF
Diffraction は Fraunhofer 近似の FFT.
2D では Huygens PSF は計算できない(X/Y の 1D のみ)
PSF export
Surface mesh モードでファイルに強度を出力できます.
Excel 形式ですと 256x256 以上の大きさはエクスポートできません.
4x4 されて出力されるので, NRD(number of ray grids) は 64 までになります.
Ray grids 128x128 以上のデータがほしい場合は ASCII 形式を選びます(UI では拡張子を .txt or .dat にする)
データは数値だけなので, 他の情報(image patch size など)は別途手動でファイルに残するなり, ファイル名に埋め込むなどしておく必要があります.
Wavefront(Optical Path Difference)
-
WAVPV
PtV(Peak-to-valley) -
WAV
RMS -
WAVZ
Zernike 多項式でフィッティングされた wavefront?
制約など
- Zemax とかでいう Huygens PSF/Huygens MTF(数値積分で求めるやつ)は計算できません(PSF は 1D cross section のみ可能)
- 非球面の追跡がどうもうまくいかないときがあったりします.
- Private glass のフィッティングがそれほど精度高くないような...?
- レイ数やサンプル数増やすと画面がハングしたりします
- MTF の
lp/mm
が 3 パターンしか選べません- MTF の数値出力とかができません