この記事では、Zemax OpticStudio 22.3バージョン(Professional/Premium のサブスクリプション)またはAnsys Zemax OpticStudio(Professional/Premium/Enterprise)2022 R2.02バージョンの斬新で興味深く、便利な機能である[合成面] (Composite Surface)を紹介します。OpticStudioでは、多くの新しい機能と可能性が実現します。
Authored By Chenfeng Gu
はじめに
シーケンシャルモードの [合成面] (Composite Surface) を使用すると、複数のサグプロファイルを追加して、必要に応じて複雑な新しいサグ分布を持つ光学面を作成できます。1つの面に異なるタイプのサグ分布を追加する場合は、複数の面を合成面スタックとして追加できます。この機能は、解析や 公差の設定など、シミュレーションに無限の可能性をもたらします。
[合成面] (Composite Surface) がどのように機能するかを説明し、携帯電話のカメラモジュールに搭載される複雑な非球面レンズの公差を求めるタスクにその力を応用します。
合成面の仕組み
[合成面] (Composite Surface) は、[Composite] (Composite)でオンにすることができます:図1に示すように、[面プロパティ] (Surface Properties)...[Composite] (Composite)の[合成面:次の面にサグを追加] (Add sag to the next surface) のチェックボックスをオンにします。
図1.[合成面] (Composite Surface) インターフェース
任意の数の面をまとめて[合成面] (Composite Surface) に追加できます。このような面を「合成アドオン」または単に「アドオン」と呼びます。アドオン面のサグプロファイルは、次のアドオン面に追加され、最終的に合計サグは、[レンズデータエディタ] (Lens Data Editor)(LDE)の次の面(「合成ベース」または単に「ベース」と呼ばれ、アドオンに続く)に追加されます。これにより、ベース面のプロファイルは、すべてのアドオンのプロファイル合計にベース自身のプロファイルを加算した値になります。アドオンとベースの合計によって得られる面全体を「合成スタック」または単に「合成」と呼びます。アドオン行の色は明るい黄色で、ベース行は明るい黄色で表示されます(図2を参照)。
図2.合成アドオン、合成ベース、および合成スタック
合成アドオン面は、他のものではなく合成ベース面にサグ分布を適用するためにのみ使用されるため、材料とコーティングを合成アドオン面に設定できないことがわかりました。その材料およびコーティング特性は、ベース表面に指定されているものに従います。もう1つのポイントは、合成アドオン面に設定したアパチャーのサイズに関係なく、アルゴリズムがサグ分布を追加しようとするときに、合成アドオン面のアパチャーもベース面と同じと見なされることです。
光線追跡では、光線はベース面でのみ面のサグ全体にぶつかります。合成アドオン面は、直接光線追跡には関与しません。
ベース面のサグマップには、ベース面のみのサグではなく、すべての合成アドオン面を含む合計サグが表示されます。詳細は記事でさらに説明されています。
サポートされる面
現在、アドオン面になることができる面タイプのリストと、ベース面になることができる面タイプのリストは同じです。以下に示します:
- バイコーニック
- バイコーニック ゼルニケ
- チェビシェフ多項式
- 偶数次非球面
- 拡張非球面
- 拡張奇数次非球面
- 拡張多項式面
- グリッド サグ
- イレギュラ
- 奇数次非球面
- 奇数次コサイン
- 軸外しコーニック フリーフォーム
- 周期性
- 多項式面
- Q タイプ非球面
- Q タイプ フリーフォーム
- 標準
- スーパーコーニック
- ティルト
- トロイダル面
- ゼルニケ フリンジ サグ
- ゼルニケ標準サグ
- ゼルニケ環状標準サグ
スタッキング
前述したように、ひとつの面に異なるタイプのサグ分布を追加する場合は、合成アドオン面を合成面スタックとして追加できます。
下図の例(図3を参照)では、ベース面4にアドオン面4を追加することで、ROC(曲率半径) = -500mmの放物ミラーが形成されます。 また、別のアドオン面3では、面サグにゼルニケ摂動が追加されます。
図3.合成面を使用した放物ミラーシステム
次のレイアウトでは、アドオン面が有効にされている状態で(図4 (a))、プロットには合成スタックの合計サグが表示され、個々のアドオン面は表示されません。図4 (b)は、すべてのアドオン面が無視されている状態で、プロットにはベース面のみが表示されることを示しています。したがって、システムは明らかにフォーカスが外れています。
図4.(a)アドオン面を有効にした放物ミラーシステム
(b)アドオン面を無視した放物ミラーシステム
合成面ツール
合成面を追加した後、いくつかの使いやすいツールを使用できます。
- 個々のアドオン面を無視
複合面のサグ効果は、[この面を無視] (Ignore This Surface) チェックボックスをオンにすると無視され、図5に示すように行の色が濃いグレーに変わります。
図5.個々のアドオン面を無視
システム内のすべての合成面を無視またはアクティベートする場合は、[レンズデータエディタ] (Lens Data Editor) のツールバーで簡単に制御できる2つのボタンがあります。
- [合成面を無視] (Ignore Composite Surfaces)/[合成面を有効] (Activate Composite Surfaces)
図6.すべての合成アドオン面を無視
図7.すべての合成アドオン面をアクティベート
- 合成面を非表示/表示/すべての合成面を削除
右クリックメニューには複合面を必要に応じて簡単に処理できる3つのオプションがあります。
図8.合成面を非表示/表示/すべての合成面を削除
サグマップでの合成面の使用
[解析] (Analyze) ...[偏光と表面特性] (Polarization and Surface Physics)...[面] (Surface)を使って、サグ分布をチェックすることができます。合成面のサグマップに関する一般的なアイデアを紹介します。
- [削除] (Remove) で [なし] (None)を選択します:サグマップには、選択した面までのすべてのアドオンの合計が表示されます。
- [削除] (Remove) で [Composite Sag] (Composite Sag)を選択します:選択した面のサグだけをプロットします。
- [削除] (Remove) で[ベースサグ] (Base Sag) を選択します:この面に適用されるすべてのアドオン面のサグの合計が残ります。
次の例では、図9 (a) に示すように、面3と4はアドオン面、面5はベース面です。合成面サグマップ(図9 (b) ~ (g) は、合成面との上記のサグ関係を説明しています。
図9 (a).携帯電話レンズシステムの例によるサグマップを使用した合成面の説明
図9 (b) ~ (d) に示すように、[削除] (Remove) で [なし] (None) を使用すると、サグは行の後に加算されます。
図9(b) 図9(c)
図9(d)
単一面の寄与を分離する場合は、図9 (e) ~ (g) に示すように、[削除] (Remove) で [Composite Sag] (Composite Sag)または[ベースサグ] (Base Sag)を使用します。
図9(e) 図9(f)
図9(g)
合成面および軸外しアパチャー
合成面は、軸外しモデリングにも適用できます。
図10.軸外し光学システム
アドオン面の合成タブで[ベース面アパチャーに沿うようにティルト/ディセンタを設定](Set Tilt/Decenter to follow Base surface aperture)ボタンをクリックすると、アドオン面はベース面の軸外しアパチャーに自動的に中央に配置されます。このボタンを押すと、OpticStudioは自動的に合成タブにティルトとディセンタ エレメントを設定し、アドオンスタックがベース面の軸外しアパチャーの中心に配置されます。軸外しアパチャーの中心におけるベース面の方向がティルト値と一致します。
図11.[ベース面アパチャーに沿うようにティルト/ディセンタを設定](Set Tilt/Decenter to follow Base surface aperture) および [Update Tilt] (Update Tilt) ボタン
合成スタックの場合、「[ベース面アパチャーに沿うようにティルト/ディセンタを設定](Set Tilt/Decenter to follow Base surface aperture) ボタンは、ベースの前の最後のアドオン面で使用され、合成スタックのすべてのアドオン面のティルト/ディセンタ プロパティは同じになります。合成スタックの座標系は同じになります。合成スタックのティルト/ディセンタは、[ベース面アパチャーに沿うようにティルト/ディセンタを設定](Set Tilt/Decenter to follow Base surface aperture) ボタンが使用されているベース面に最も近いアドオン面でのみ表示されます。他のすべてのアドオン面では、値がグレーで表示されます。
ディセンタが手動で指定されている場合は、[Update Tilt] (Update Tilt) ボタンを使用して、アドオンの方向が指定のディセンタでのいずれかのベース面と一致するようにティルト値を自動的に入力できます。
TIRR、TEXIおよびTEZIによる公差解析
公差に関しては、上記の説明から、Composite プロパティを使用して手動でイレギュラリティと公差を追加できることがわかりました。
さらに、合成面はTIRR、TEXI、TEZIの既存のオペランドを拡張します。 以前は、これら3つのオペランドは、次の面の公差解析にのみ使用できました。
図12. 以前は、TIRR、TEXI、TEZIは限られた面タイプでのみ使用可
現在、合成面のおかげで、合成ベース面にできるあらゆる面タイプで、これら3つのオペランドを使用して公差解析を行うことができます。なお、現在のところ、軸外しアパチャーがある場合、TIRR、TEXI、TEZI に対する上記の拡張機能は使用できません。
適格な面タイプの場合、TIRRオペランドはイレギュラー複合面を使用してこれらの面に公差を付けるように拡張されます。TEXIオペランドは、[ゼルニケフリンジサグ] (Zernike Fringe Sag)の合成面を使用して、これらの面を公差解析できるように拡張されます。また、TEZIオペランドは、[ゼルニケ標準サグ] (Zernike Standard Sag) 合成面を使用して、これらの面を公差解析できるように拡張されます。
以下の携帯電話の設計ケース(図13)を例に説明します。
図13. 携帯電話レンズシステムの例
[公差解析データエディタ] (The Tolerance Data Editor)(TDE)には、携帯電話レンズの面3および4のTEZIオペランドが入力されます。以前は[Qタイプ非球面] (Q-type Asphere ) でTEZIを直接使用することはできませんでしたが、図14に示すように、TDEで直接設定し、次の公差解析機能が使用できるようになりました。
図14. [Qタイプ非球面] (Q-type Asphere ) 上でTEZIを使用した公差解析
公差解析を実行してモンテカルロファイルを保存すると、公差解析の結果を確認できます。
図15. モンテカルロシミュレーション
また、1つのモンテカルロファイルを開いて、オペランドが面にどのようにイレギュラリティを追加したかを検証し、より深く理解することもできます。図16に示すように、Q[Qタイプ非球面] (Q-type Asphere ) には、TDEで指定された[ゼルニケ標準サグ] (Zernike Standard Sag) の摂動を持つアドオン面が追加されています。
図16. ゼルニケ標準サグ複合面を使用したTEZIオペランド公差Qタイプ非球面
上記で使用した携帯電話レンズシステムの設計を説明する一連のナレッジベース記事があります。このシリーズは次から始まります。携帯電話のカメラレンズの設計パート1: 光学系
携帯電話レンズのサンプルファイルを確認して使用し、新しい合成面機能を試してください。フィードバックをお待ちしております。
API 制御
合成面には、IsCompositeSurfaceとSetOffAxisTiltAndDecenter()という2つの新しいAPIコマンドが追加されています。
IsCompositeSurfaceは、このパラメータのSetとGetの両方に使用されます。SetOffAxisTiltAndDecenter()は、軸外し面アパチャーの中心におけるベース合成面法線ベクトルの計算に基づいて、面プロパティに値を設定します。
以下は参考のためのPythonの抜粋例です:
TheSystem = TheApplication.PrimarySystem;
TheLDE = TheSystem.LDE
# Get Surface j Information
CompositeTest = TheLDE.GetSurfaceAt(j)
# Check “Composite Surface:Add sag to the next surface”
CompositeTest.CompositeData.IsCompositeSurface=1
# Press “Set Tilt/Decenter to follow Base surface aperture” button
CompositeTest.CompositeData.SetOffAxisTiltAndDecenter()
# Extract Composite Surface Tilt/Decenter value
CompositeTiltX=CompositeTest.TiltDecenterData.BeforeSurfaceTiltX
CompositeTiltY=CompositeTest.TiltDecenterData.BeforeSurfaceTiltY
CompositeTiltZ=CompositeTest.TiltDecenterData.BeforeSurfaceTiltZ
CompositDecenterX=CompositeTest.TiltDecenterData.BeforeSurfaceDecenterX
CompositDecenterY=CompositeTest.TiltDecenterData.BeforeSurfaceDecenterY
# Change the Tilt/Decenter values manually
CompositeTest.TiltDecenterData.BeforeSurfaceTiltX = 0
CompositeTest.TiltDecenterData.BeforeSurfaceDecenterY = 0
ZPL 制御
合成面の新しいZPLマクロコマンドもあります。
- COMPOSITEON(面番号)ー キーワード
- COMPOSITEOFF(面番号)ー キーワード
- COMPOSITEOFFAXISAPERTUREON(面番号)ーキーワード
- ISCS(面番号)-> 1|0を返す - 数値関数
- [ISCS()は、面が合成面でない場合は0を返し、面が合成面の場合は1を返します。]
これらのコマンドの詳細については、ヘルプファイルを参照してください。参照用のサンプルコード:
! Uncheck the composite surface checkbox
PRINT "Turn off composite surface j"
COMPOSITEOFF j
A = ISCS(j)
! ISCS () return 0 if it's not composite surf., return 1 if it's composite surf.
IF (A < 0.5)
PRINT " ==> Composite surface flag is OFF"
ELSE
PRINT " ==> Composite surface flag is ON"
ENDIF
! Check the composite surface checkbox
PRINT "Turn on composite surface j"
COMPOSITEON j
A = ISCS(j)
IF (A > 0.5)
PRINT " ==> Composite surface flag is ON"
ELSE
PRINT " ==> Composite surface flag is OFF"
ENDIF
! Press the "Set Tilt/Decenter to follow Base surface aperture" button
PRINT "Set Tilt/Decenter to follow Base surface aperture"
COMPOSITEOFFAXISAPERTUREON j
PRINT " ==> Click Tilt/Decenter to follow Base surface aperture button"
結論
この記事では、Zemax OpticStudio 22.3またはAnsys Zemax OpticStudio 2022 R2.02の合成面機能について紹介しました。OpticStudioの多くの新しい機能と可能性を実現します。これにより、日々の業務がより効率的で創造的になることを願っています。コミュニティの投稿やメールでこの機能に関するフィードバックをお待ちしています。
コメント
サインインしてコメントを残してください。