タグ アーカイブ: Lumerical FDTD

e2 = farfield3d("reflection",1,200,200,1,1,1,1);
ux = farfieldux("reflection",1,200,200,1);
uy = farfielduy("reflection",1,200,200,1);
# calcualtes portion of e field within the divergence angle of the lens (or the Gaussian source)
signal=farfield3dintegrate(e2,ux,uy,divergence_angle)/farfield3dintegrate(e2,ux,uy);

共通機能強化

マルチフィジックス スイート機能強化

2023 R2 リリース以降、Lumerical FDTD は GPU 計算をサポートしています。

このページでは、Lumerical FDTD GPU ソルバーの要件と現在の制限についてまとめます。

ハードウェア要件

GPU 上で Lumerical FDTD シミュレーションを実行するには、NVIDIA CUDA ドライバーのバージョン 450.80.02 以降 (Linux)、バージョン 452.39 以降 (Windows) が必要です。さらに、NVIDIA GPU は次の要件を満たしている必要があります:

  • GPU は Compute Capability 3.0 (Kepler マイクロアーキテクチャ以降) 以上である必要があります。
    • 古いデバイスのドライバーは 2019 年 1 月に廃止されました。
  • Unified Memory が使用可能で有効になっている必要があります。
  • デスクトップ、ノートパソコン、ベアメタルサーバーでは常に有効になっています。
  • AWS EC2 インスタンスなどの「GPU パススルー」を宣伝するクラウドインスタンスでは通常有効になっています。
  • その他の仮想環境サービスプロバイダーは、NVIDIA Virtual GPU Software User Guide を参照してください。
  • ハイパーバイザーは GPU パススルーを提供するように構成されている必要があります (物理デバイスが特定の仮想マシンに専用される場合)。
  • Unified Memory は各 vGPU で有効にする必要がある場合があります。

GPU 使用状況を監視するには、NVIDIA System Management コマンドラインユーティリティによって報告される「GPU-Util」値を使用します。Windows ユーザーは、Windows タスクマネージャーはグラフィックス関連の GPU 使用率のみを報告していることに注意してください。

ライセンス要件

GPU ソルバーの使用量は CPU ソルバー (Ansys optics solve、accelerator、Ansys HPC ライセンスの使用量を参照) と似ています。ライセンス使用量の計算では、Streaming Multiprocessors (SM) を CPU と同じように扱います。たとえば、Ansys Standard/Business ライセンスでは、32 SM ごとに Lumerical Accelerator (エンジンライセンス) が必要です。部分的なカウントはありません。たとえば、40 SM の GPU では、任意のジョブを実行するには 2 つのライセンスが必要です。
FDTD ジョブは GPU 内のすべての利用可能な SM を使用します。つまり、ジョブごとの SM 数はユーザーが構成できません。そのため、すべての GPU SM に十分なライセンスが必要です。
複数のジョブを実行する場合は、並列ではなく連続で実行することをお勧めします。並列実行にはジョブの数と同じ数のライセンスが必要ですが、シリアル実行と同じ時間がかかります。たとえば、32 SM 以下で GPU を同時に使用して 2 つのジョブを実行するには 2 つのライセンスが必要ですが、同じマシンで 1 つのライセンスのみで 1 つのジョブ実行後に続けて実行すると、おおよそ同じ時間で計算が終了します。
GPU 内の SM の数は、NVIDIA のドキュメント、サードパーティの Web サイト、Job Manager Configuration テストの GPU リソース (localhost のみ) を実行することで見つけることができます。

Job Manager Configuration テストの GPU リソース

FDTD GPU エンジンを実行したログファイル

start loading CUDA query DLL...
load CUDA query DLL successfully.
GPU streaming multiprocessors (SMs): 16

FDTD GPU エンジンを実行した後の FDTD 結果の「total gpu sms」

total gpu sms

注意: CPU と同様に、メモリ帯域幅はコア数よりもパフォーマンスにとって重要です (CPU での FDTD ベンチマークを参照)。

Lumerical FDTD GPU ソルバー シミュレーション要件

Lumerical FDTD GPU ソルバーは 3D FDTD シミュレーションのみを実行できます。FDTD オブジェクトプロパティ (advanced optionsタブ) で「express mode」オプションを有効にする必要があります。

FDTD オブジェクトプロパティ (advanced optionsタブ) で「express mode」オプションを有効

GPU ソルバーは、狭帯域シミュレーションまたは無分散材料を使用したシミュレーションに適しています。
すべてのムービーモニターは無効になっています。

Resource設定で、ジョブマネージャーを「CPU」から「GPU」に切り替えます。

  • ローカルマシンに複数の GPU がある場合は、ジョブマネージャーで特定の GPU を選択できます。エンジンを実行すると、ジョブマネージャーは標準 CUDA_VISIBLE_DEVICES 環境変数を構成します。
  • リモートマシンに複数の GPU がある場合は、mpiexec.exe の適切な「追加コマンドラインオプション」を指定することで、特定のGPUを選択できます。たとえば、Microsoft MPI を使用したリモートマシンで GPU 3 を選択するには、追加のコマンドラインオプション /env CUDA_VISIBLE_DEVICES 3 を指定します。
Resource設定でジョブマネージャーを「CPU」から「GPU」に切り替え

スクリプトアクセス/自動化

FDTD ソルバープロパティ「express mode」のON

setnamed("FDTD", "express mode", true);

FDTD リソースマネージャー

setresource("FDTD","GPU", true);
setresource("FDTD", 3, "GPU Device", "Auto");
setresource("FDTD", "GPU", false);
setresource("FDTD", "CPU", true); //< equivalent to previous line

リモートホスト GPU を許可するには、「GPU デバイス」の値は検証されません。デフォルトは「Auto」です。ユーザーは整数値を設定する必要があります。

制限事項

FDTD ソルバー

PML 境界条件のみサポートされます。Bloch、周期、対称、反対称、PEC、PMC 境界条件はサポートされません。

光源

モードソース/ポート

  • 周波数依存モードプロファイルはサポートされません。

全界散乱界 (TFSF) ソース

  • TFSF ソースはサポートされません。

モニター

時間モニター

  • 時間モニターは GPU パフォーマンスを制限します。デバッグと予備シミュレーションにのみ使用することをお勧めします。
  • 空間補間はサポートされていません。

周波数領域モニター

  • 部分および全スペクトル平均化はサポートされていません。
  • アポダイゼーションはサポートされていません。

その他

レイヤービルダー

  • レイヤービルダーが制限付きプロセスファイルを使用している場合、FDTD GPU エンジンを使用できません。
  • PML タイプ シミュレーション境界条件の「一軸異方性 PML (レガシー)」PML タイプはサポートされません。

Ansys Lumerical 2023R2リリースは、フォトニクス設計者向けの強力な新機能と改善を備えており、結果までの時間を短縮し、シミュレーションの精度を向上させ、他のAnsys製品との相互運用性を拡張します。

HPC、クラウド、ユーザーインターフェース

  • Lumerical FDTDの新しいエクスプレスモードは、GPU上でシミュレーションを実行することで、PICコンポーネントやメタサーフェスなどのアプリケーションのパフォーマンスを向上させます。
  • Pythonは、新しいRemotable Python APIを介して、別のマシンにインストールされたLumericalツールを実行できるようになりました。
  • 新しいLumericalダークテーマは、低照度環境での目の疲れや疲労を軽減します。
Lumerical FDTDの新しいエクスプレスモードは、GPU上でシミュレーションを実行することが可能です
リモート Python API

ナノからマクロスケールのオプティクス

  • Optics Launcherは、ANSYS Opticsの3つの製品シリーズ(Lumerical、Speos、Zemax OpticStudio)で利用可能になりました。これにより、ユーザーは、1つのインターフェースから、さまざまなスケールとアプリケーションにわたる光学シミュレーションを実行できます。
  • Speos Sensor System (SSS) Exporterを使用したCMOSセンサーカメラワークフローは、より一般的なピクセルアーキテクチャ(クアッドピクセルなど)をサポートし、量子効率計算にマージナル光線を含みます。
  • メタレンズのワークフローは、より効率的なEフィールドデータとLumericalツールからのGDS レイアウト抽出、およびZemax OpticStudioでのレイトレーシングのための新しい散乱モデルによって改善されました。

フォトニクス・マルチフィジックスシミュレーション

  • Lumerical RCWAソルバーが改良され、非直交ユニットセルとフィールドプロファイルモニターがサポートされました。
  • オプトエレクトロニックデバイスのコンポーネントシミュレーションの強化には、Lumerical CHARGEにおける誘電率の対角異方性、励起子に対する変分法、およびLumerical MQW,CHARGE, HEATの集積化が含まれます。
  • MQWソルバーRCWAソルバーがOptiSLangのLumericalコネクタで利用可能になりました。
Lumerical CHARGEの電気材料モデルのDC比 誘電率が対角異方性に対応

光集積回路と量子光回路シミュレーション

  • INTERCONNECTの新しい非線形導波路プリミティブ(SHG Waveguide)は、LiNbO3導波路のような非線形導波路における第2高調波発生をモデル化します。
  • TWLMは、ゲイン圧縮係数とグレーティングチャープ係数の新しい入力フォーマットをサポートしています。
  • qINTERCONNECTエンジンの高速化により、同じシミュレーション実行時間で2倍のチャネル数または周波数を扱えるようになりました。
新規INTERCONNECT用の非線形導波路モデルがSecond Harmonic Generation (SHG)に対応
qINTERCONNECTのはシミュレーション時間短縮

エレクトロニクス/フォトニクス設計オートメーション

  • CML Compilerは、新しいGUI、改良されたデータ構造、Verilog-Aモデリング機能を備えています。
  • Ansys Photonic Verilog-AモデルがSPECTRE 21をサポートしました。
  • Virtuoso-INTERCONNECTコシミュレーションは、階層的でパラメータ依存の回路をサポートします。
  • レイヤービルダーは、ジオメトリとドーピング層の両方でブール演算をサポートします。
CML compiler新GUI
レイヤービルダーでマスクレイヤー間のブール演算が可能

Ansys Lumericalは、フォトニクス設計向けの業界をリードするシミュレーションソフトウェアです。このソフトウェアは、光集積回路、量子光回路、ナノフォトニクス、イメージング、光通信などのアプリケーションで使用されています。

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。

この例の目標は、円筒形のナノロッドで構成された回折メタレンズを設計することです。ナノロッドの半径と配置を調整することで、メタレンズの表面に望ましい位相プロファイルを作り出します。設計は、Ansys FDTDRCWA(Rigorous Coupled-Wave Analysis)、OpticStudioで、近視野と遠視野の解析を通じて検証されます。

注意事項 Zemaxでの解析には、OpticStudioのバージョン+12が必要です。

概要:

シミュレーションのワークフローと主な結果の理解

メタレンズ設計のワークフロー

メタレンズは、サブ波長構造を持つ「ユニットセル」または「メタ原子」を注意深く配置したものです。これらのユニットセル要素の形状を調整することで、平面波に応答する要素の上の位相を変更することができます。幾何学的なパラメータで位相を知ることができれば、メタ原子を必要な位置に配置することで、任意の位相プロファイルを持つメタレンズを作成することが可能です。

ステップ 1:ターゲット位相の定義

最初のステップは、メタレンズのターゲット位相プロファイルを定義することです。球面レンズや円柱レンズなど、最も一般的なレンズタイプでは、既知の解析解を使用することができます。しかし、解析解が存在しない、あるいは計算が困難な、より複雑なシステムの場合、OpticStudioの光線追跡と最適化機能を使用して、理想的な位相マスクを設計することができます。

ステップ 2:ユニットセルシミュレーション – 高さと半径のスイープ

このステップでは、ナノロッドの高さと半径を変化させ、透過率、位相、近接場が得られます。所望の透過率と位相特性を与える高さが選択されます。そして、位相(または電場)対半径の結果は、次のステップのために保存されます。RCWAソルバーは、ユニットセルシミュレーションの推奨/補完ツールとして紹介され、検証のためにFDTDとの比較も行われます。

ユニットセルシミュレーション - 高さと半径のスイープ

ステップ 3:フルレンズデザイン

ステップ2で位相/電場対半径のライブラリを構築したら、全体のメタレンズの設計と解析に2つのアプローチを利用できます:

ダイレクト・シミュレーション:ターゲットの位相プロファイルと、前のステップで得られた位相対半径のデータに基づいて、FDTDでメタレンズ全体を構築し、シミュレーションを行います。このアプローチはより簡単ですが、特に大きなメタレンズの場合、メモリとシミュレーション時間の点で問題が生じることがあります。シミュレーションで得られた近視野は、遠視野解析に使用したり、Ansys OpticStudio でさらに伝搬させるために .ZBF ファイルにエクスポートしたりすることができます。

メタレンズ・レンズ全体のシミュレーションと構成

フルフィールドの再構築:メタレンズ全体の近視野/遠視野は、ステップ2の近視野ライブラリを使用したスクリプトで再構築することができます。これは、フルレンズの時間のかかるシミュレーションを避けることができ、したがって、ダイレクトシミュレーションアプローチよりもはるかに効率的です。これらのアプローチの詳細な説明は、「実行と結果」セクションの対応するステップで提供されます。 半径の小さな球状のメタレンズを使って、「間接的」アプローチの精度を検証します。その後、OpticStudioで最適化されたターゲット位相に基づき、より大きなメタレンズにこのアプローチを適用する予定です。

ステップ 4:OpticStudioで取り込んだビームの伝搬処理

前のステップでメタレンズの近視野を .ZBF ファイルにエクスポートしたら、OpticStudio の POP (Physical Optics Propagation) ツールを使用して、バルク光学素子も含めてシステム全体をビーム伝播させることができます。POPを使用すると、各表面で位相と放射照度のプロファイルを解析し、システムの性能を評価することができます。必要であれば、伝搬の結果に基づいて、OpticStudioで光学セットアップを再最適化することができます。最後に、理想的なビームをOpticStudioでターゲット位相マスクを伝播させた結果と比較して、実際のビームを検証できます。

OpticStudioで取り込んだビームの伝搬処理

ステップ 5:GDSエクスポート

レンズ全体の物理的な形状やメタ要素の位置の設計が終わると、そのパターンは通常、製作のためにGDSフォーマットにエクスポートされます。しかし、多くの要素が含まれるため、GDSエクスポートには一般的に長い時間がかかることがあります。このステップでは、polysgtencilコマンドを使用した、非常に高速で汎用性の高いGDSエクスポートアプローチを紹介し、多数のメタ要素で構成される大型メタレンズでもうまく機能することを示します。

実行と結果:

モデルの実行手順と主な結果の考察

ステップ1:OpticStudioでのターゲット位相設計

最初のステップとして、メタレンズを想定して目標とする位相プロファイルを設計します。以下のような形状がわかっているレンズの場合、解析的な式を使って位相プロファイルを定義することができます。

レンズの種類

正確な形状(位相)を数式で記述できない、より一般的なケースでは、空間的な位相データを直交するグリッドで表現することが有効です。この例では、コリメートされた入射ビームを、Y方向にしかパワーを持たないシリンドリカルレンズとともに最適に集光するメタレンズを設計しています。メタレンズのないシリンドリカルレンズでは、X軸に沿ったラインフォーカスが形成されます。私たちの目標は、メタサーフェスの位相マスクを最適化することによって、最小のRMSスポット半径を達成することです。

位相最適化結果

ターゲットの位相プロファイルが最適化されたら、OpticStudioから位相マップをエクス ポートし、Lumericalの入力として、サブ波長ユニットセルの物理構造をモデリングするために使用します。

1. 初期設定を含むZemaxモデルを開く( phaseDesign_start.zar )。初期段階では定数ゼロの位相プロファイルにしています。
2. ローカルオプティマイザを実行して、ターゲット位相プロファイルを最適化します。

ターゲット位相プロファイル

このステップでは、光線追跡を用いてメタレンズに必要な位相プロファイルを設計します。

OpticStudioでは、メタサーフェスは回折サーフェスタイプで記述することができ、基本の屈折率または反射面の上に追加の位相を適用します。位相プロファイルは、光線に余分な曲げを生じさせます。
このサンプルケースでは、理論的な予想に基づき、位相を拡張したX、Y多項式で記述するBinary 1サーフェスタイプを使用しています:

Metalens Phase equation

何所
φ:メタレンズ表面での位相
M:回折次数
N:級数中の多項式係数の数
x,y:メタレンズの半径に対する正規化された空間座標

対称性を考慮し、解を大きく改善しない複雑すぎる位相プロファイルを避けるため、最適化プロセスではx2項の係数のみを変数とし、RMSスポットサイズのデフォルトメリット関数を使って最適化目標を定量化します。
最適化に基づき、理想的な位相プロファイルは以下の式で記述されます:

φ(x,y)=−11.703648x2

Optimized phase

予想通り、直交するX方向にこの円筒形の位相プロファイルがあると、コリメートされた入力は回折限界のスポットに集束されます。

ステップ2:ユニットセルシミュレーション – 高さと半径のスイープ

このステップでは、ナノロッド半径の関数として位相のライブラリを構築し、考慮する半径の範囲で2πの位相変化を目標とする。このライブラリは、後にメタレンズの各グリッドポイントに希望の位相を持つナノロッドを配置するためのマッピングツールとして使用されます。
また、ナノロッドの高さをスイープさせて、可能な限り高い透過率を得られる値を探します。ナノロッドの望ましい高さが見つかったら、別のスイープを実行して、半径の関数としての近視野のライブラリを構築します。これは、ステップ3でフルレンズの近視野/遠視野を再構築するために使用されます。ユニットセルシミュレーションには、FDTDとRCWAの2つのオプションを用意し、その精度と計算時間を比較しています。FDTDは材料、形状、扱える波長範囲など汎用性が高いことで知られていますが、RCWAは周期構造のシミュレーションに非常に有効なツールであると認識されています。構造物の形状、材料、音源、必要な周波数ポイントの数によって、より良い選択ができるかもしれません。詳しくは、RCWAソルバーの説明ページをご覧ください。

オプション1:FDTD

1. unit_cell.fspを開き、「モデル」オブジェクトの「半径」を「50」nmに設定し、シミュレーションを実行します。
2. フィールドモニター結果から「Ex」を可視化します。半径の値が'100'nmの場合、同じことを繰り返します。

私たちが興味を持っている重要な結果の1つは、平面波に応答するナノロッド上の電場の位相です。この例では、必要な位相変化を導入するために、円柱の半径を変化させています。この挙動は、xz平面上の電界を見ることで簡単に確認することができます。以下は、半径50nmと100nmの円柱に対するreal(Ex)の結果 です。円柱の屈折率は周囲よりも大きいので、半径が大きい場合の伝搬場は、半径が短い場合よりも高い実効屈折率になります。このように、ナノロッドの半径を変えることで入射光の実効光路長を変更することが、この例で利用した重要な特性の1つです。

electric field compare at different radius
3. スクリプトfdtd_unit_cell_plot_phase_T.lsfを実行し、以下の情報を取得します。
高さ "スイープオブジェクトの結果をプロットし、位相と透過率を表示します

以下は、ロッドの高さと半径に対する位相と透過率の2次元マップです。高さが1.3um以上の場合、所定の半径範囲(0.05~0.15um)での位相変化が2πより大きくなることがわかりました。この高さでの透過率は0.9以上と高く、全半径にわたって均一であるため、上記の2つの要件を満たしています。

phase and transmission in terms of the height and radius of the rod by FDTD simulation

上記画像の高さ1.3umでのラインプロット(点線)を以下に示します。

phase and transmission vs radius at 1.3um height.
4. スクリプト fdtd_unit_cell_export_phase_field.lsf を実行し、以下を取得します。
    radius "スイープオブジェクトの結果を、位相と電場をプロットします。

次のプロットは、ある位相を得るために必要な半径を示したもので、上記の位相と半径のプロットを転置したものです。次に、”位相”のデータ点をより細かくし、”半径 “のデータ点をより細かくしてデータを補間しています。これにより、目標とする位相と、選択した半径が生み出す実際の位相をより良く一致させることができます。

plot showing the required radius to produce a certain phase

同様の理由で、スイープによる電場データも、より密度の高い「位相」データポイントを補間し、半径データと一緒に保存されます。また、電場データをサンプリングしてデータサイズを小さくし、次のステップでレンズ全体から近視野と遠視野を計算するのをより高速にすることもできます。次の画像は、異なるサンプリング値で半径50nmの近視野を示したものです。

nearfield for a 50 nm radius at different sampling values.

オプション2:RCWA

RCWAによるメタレンズ・ユニットセル・シミュレーションの動作原理は、FDTDと同じです。ここでの注目点は、RCWAの結果がどのようなものであるかを示すことです。

FDTDソルバーと比較し、精度やシミュレーション時間などを比較することで、最終的にソルバーの選択に関する指針を提供することができます。
RCWAソルバーは、GUIのオブジェクトもありますが、今回はスクリプトコマンドrcwaを使用します。 このスクリプトでは、ジオメトリ、ソース、シミュレーションの構成に関する情報を入力し、透過/反射、振幅、電場を返します。

1. スクリプトrcwa_unit_cell_plot_phase_T.lsfを実行し、位相をプロットします。

高さ1.3umの2次元位相・透過マップとそのラインプロットから、RCWAの結果はFDTDの結果と非常によく一致することがわかります。収束テストを行えば、両者の差をさらに縮めることが可能でしょう。

phase and transmission in terms of the height and radius of the rod by RCWA simulation
FDTD and RCWA compare of phase and transmission vs radius at 1.3um height.
2.スクリプトrcwa_export_phase_field.lsfを実行します。heightスイープオブジェクトから結果を取得し、「半径(または電場)対位相」データを補完して、次のステップのために”EH_and_phase_vs_radius_interp_rcwa.mat”として保存します。

RCWAの電場の結果も、FDTDのものと良い一致を示しています:

field result from RCWA shows a good match with the FDTD ones

ステップ3:フルレンズデザイン

ステップ1のターゲット位相とステップ2の半径/電場対位相ライブラリがあれば、完全なメタレンズを設計する準備が整ったことになります。

メタレンズの位相-半径マッピング

ターゲットとする位相が何であれ、レンズの設計には、空間的な位相プロファイルを空間的な半径(ナノロッド)分布に変換する必要があります。以下に球面位相プロファイルの例を示しますが、この原理は任意の位相プロファイルに適用されます。

Phase-to-radius mapping for metalens

ダイレクトシミュレーション(半径の小さな球面レンズ)

半径の分布が分かれば、レンズ全体を作成してFDTDでシミュレーションを実行することができます。これは最も簡単な方法かもしれませんが、

特に半径の大きなメタレンズ(>100um)では、最も効率的な方法ではありません。大規模なシミュレーションと同様に、非常に大きなメモリと長いシミュレーション時間を必要とすることがあります。さらに、メタ要素の数が多いため、FDTDでの構築やGUIでの可視化が遅くなることがあります。

1. シミュレーションファイルfull_lens.fspを開き、実行します。
2. フィールドモニターからExの振幅と角度を可視化します。

メタレンズ構造グループは、ステップ2の位相と半径のデータをロードし、位相から半径へのマッピングを行い、ナノロッドを正しい半径で必要な位置に配置します。

full lens schematic

シミュレーションでは平面波を入射させます。PEC(完全電気伝導体)でできた円形のアパーチャーを光源とメタレンズの間に配置し、入射範囲を限定しています。フィールドモニターによる近視野の結果は以下の通りです:

nearfield of full metalens direct simulation

入射電場は、PEC(Perfect Electrical Conductor)アパーチャーによってほとんど遮蔽されます。しかし、その一部は開口部の端で回折され、振幅と位相のプロットで小さな波紋として見ることができます。理想的な双曲面レンズでは完璧な回転対称性があるのに対し、このメタレンズでは直線格子上のナノロッドの配列で離散化されているため、シミュレーション結果にはそのような対称性効果が見られません。

3. スクリプトファイルfdtd_full_lens_plot_field.lsfの「パート1」を実行します。

測定された位相は、全体的に目標位相とよく一致しています。

full metalens phase simulation and target

メタレンズを通過する入射電場の変化は、ムービーモニターやタイムモニターを使って可視化することができます。ムービーモニターはシミュレーション時間を大幅に増加させるので、代わりに2Dタイムモニターを使用し、電場のスナップショットを時間的に取得するのがよいかもしれません。以下に、電場のgifアニメーションを示します。

wavefront of the propagating field clearly shows inward bending

伝搬する電場の波面は明らかに内側に曲がっており、球面位相プロファイルを持つレンズから予想される光の収束を表しています。

4. スクリプトの「その2」、fdtd_full_lens_plot_field.lsfを実行します。

伝搬軸(z)に沿った遠視野投影では、メタレンズの焦点距離は約79.4umであることがわかります。焦点面におけるビームのFWHM(全幅半値)は約2.4umです。計算された焦点距離は、目標値である100umからややずれています。これは、レンズサイズが小さいため、レンズ半径の2*πの変化をマッピング するナノロッドの数が少ないことが主な原因であると考えられます。レンズサイズを大きくすることで、周期など他のパラメータを最適化し、結果を改善することができるかもしれません。

Metalens farfield direct simulation

フィールド再構築(小半径球面レンズ)

時間のかかるレンズ全体の直接シミュレーションの代わりに、ステップ2の近視野ライブラリを用いて、レンズ全体の近視野と遠視野を再構築することが可能です。今回も半径が比較的小さい(11um)球面レンズを使用し、このアプローチの検証のためにダイレクトシミュレーションによる結果と比較します。

1- 近視野ステッチと遠視野プロジェクション投影

この方法では、ターゲット位相分布の各格子点での位相に対応するユニットセルシミュレーションの近視野をつなぎ合わせて、レンズ全体の近視野を構築します。対象となるレンズの半径は11umであるため、半径11um内の領域のみがマッチングフィールドで埋められ、外のフィールドはゼロに設定されます。

schematic nearfield stitching
1. スクリプトの「パート1」でstitch_nearfield_11um_lens.lsfを実行します。
2. ビジュアライザーで "Ex "コンポーネントの振幅と角度を表示します。
fdtd stitched nearfield

スティッチされた近視野の振幅は、ダイレクトFDTDシミュレーションの振幅とかなり異なっているように見えます。これは、2つのアプローチで使用される設定がわずかに異なることに起因しています:
• FDTDにおけるPECアパーチャーの使用

• 再構成法では局所的な周期性を仮定していますが,FDTDでは隣接するセルのサイズが隣接するロッドの半径の急激な変化で異なることがあります

both amplitudes are in the same ball park and the overall phase results show a good match

とはいえ、両者の振幅は同じような範囲にあり、全体的な位相の結果も良い一致を示しています。

3. スクリプトの「パート2」、stitch_nearfield_11um_lens.lsfを実行してください。
The farield results from the stitched nearfield match direct simulation results very well in terms of the focal distance, spot size and intensity.

全体として、スティッチングされた近視野の結果は、焦点距離、スポットサイズ、強度の点でダイレクトシミュレーション結果と非常によく一致しています。

2- ユニットセルの遠視野の合計

これは近視野スティッチングのアプローチと同等ですが、順序が逆です。ここでは、まずステップ2で構築した近接場ライブラリから遠方場ライブラリを構築します。次に、原点からの位置ずれによる位相変化を考慮して、すべてのナノロッドの遠視野の寄与を合計します。この方法を数学的に説明すると、以下のようになります:

farfield summation formula
1. スクリプトsum_farfield_11um_lens.lsfを実行します。
The farfield results (on a 1m radius hemisphere) from the direct simulation and the reconstruction by summation show match very well

半径1mの半球を対象とした遠視野シミュレーションと、和による再構成の結果は、非常によく一致しています。

フィールド再構成(OpticStudioで最適化された位相プロファイルを持つレンズ、半径=100um)

小型レンズの「フィールド再構築」アプローチの有効性を、直接シミュレーションの結果と比較することで確認したところで、次は、より大きなメタレンズ設計(OpticStudioで2D位相プロファイルを最適化したもの)に拡張します(ステップ1)。ここでは、近視野ステッチングアプローチを使用することにします。

1. スクリプトstitch_nearfield_ZOS_R100um.lsfを実行します。

下の画像は、スティッチングされた近視野の位相を示すもので、ステップ1で得られた理想的な位相プロファイルと類似しています。このスクリプトは、次のステップでOpticStudioでさらに伝搬と検証を行うために、再構成された近視野を.ZBFファイルとしてエクスポートしています。

phase of the stitched nearfield

ステップ4:Zemax OpticStudioでの伝搬処理

ステップ 3 でエクスポートした Enear_lens_extended.zbf ファイルはOpticStudio に直接インポートして、システムの残りの部分を伝搬させ、さらに解析や評価を行うことができます。メタレンズの物理モデルが必要な位相マスクを現実的に表現していることを確認するため、.ZBF ファイルで定義された実際のビームを、ターゲット位相マスクを伝搬した理想的なトップハットビームと比較しました。

1. ビーム伝搬を含む最終シミュレーションファイル(phaseDesign_ZBF.zar)を開きます。
2. 理想的なビームと実際のビームの伝搬結果を比較します。

ビーム伝搬の結果

このステップでは、OpticStudioのPOPツールを使用して、前のステップの結果からインポートされたビームの伝搬を解析します。まず、実際のビームを解析するために、近接場分布に依存するZBFファイルベースのビーム定義を使用し、メタレンズの後のダミー面からビームを伝搬させ、焦点までシステム全体を伝搬させます。次に、比較のために、理想的な位相プロファイルを通過するトップハットビームを伝搬させ、その後、全システムを伝搬させます。

以下は、焦点における2つの伝搬後の放射照度分布です。

irradiance distributions after the two propagations at the focus.

結果はよく一致しており、メタレンズのナノスケールモデルを検証しています。

ステップ5:GDSエクスポート

レンズ全体の物理的な形状やメタ要素の位置の設計が終わると、最後は製作のためのGDSフォーマットへの書き出しになります。しかし、GDSの書き出しは要素数が多いため、気をつけないと一般的に時間がかかってしまいます。ここでは特定のZ平面上のポリゴンの頂点を抽出するpolystencilコマンドを使います。この方法は、任意の形状のメタ要素に対して有効であり、ユニットセル内の複数の要素を説明することができます。

1. スクリプト gds_export.lsf を実行します。

このスクリプトは、ユニットセルシミュレーションファイルを読み込み、まず、半径の関数として頂点のライブラリを構築します。半径対位相のデータと2次元のターゲット位相分布を使って、ポリゴンをGDSファイルに追加します。

下の画像は、上記で使用した2つのターゲット位相マップのGDS画像をエクスポートしたものです。左側のものは、半径11 umの球状メタレンズのもので、約1900個の要素に換算されます。この画像は、エクスポートにわずか1秒しかかかりません。右側は、半径100umをもつ円筒形の位相マスクのGDSです。

これは約15万の要素を持っていますが、GDSへのエクスポートにかかった時間はわずか5秒でした。
このGDSエクスポートアプローチは、数百万以上の要素を簡単に扱うことができ、スクリプトを少し修正すれば、より大きなレンズにも対応することができます。

GDS export approach can easily handle elements over millions and would work for larger lenses with slight modifications in the script.

重要なモデル設定

本モデルで使用する重要なオブジェクトと設定の説明

ユニットセルシミュレーション(FDTD)

“モデル “の変数

オブジェクトは、高さ、半径、周期を変数として持っています。シミュレーション領域、モニター、ソースの位置とスパンは、これらのパラメータを使用して自動的に設定されます。

“Sパラメータ “解析グループ

スクリプトで「model」の高さに合わせて、メタマテリアルのスパンと中心が自動的に設定されます。

シミュレーション時間

ユニットセルシミュレーションでは、各スイープポイントに要するシミュレーション時間が異なる場合があります。念のため、現在のシミュレーション時間は10,000に設定されています。すべてのスイープが自動停止レベルに達して終了したかどうかを確認するのは良い考えです。これは、「FDTD」からの「ステータス」結果を含めることによって行うことができます。

フル・レンズ・シミュレーション

PECアパーチャー

レンズ外側への電場の漏れ出しを遮蔽するため、メタレンズの直前にPEC素材でできた絞りを配置しました。その半径は、”モデル “内のスクリプトで自動的に設定されます。

メタレンズ構造グループ

ターゲット位相対位置、半径対位置を可視化するには、「metalens」構造グループの「make plot」を「1」に設定し、「Script」タブ内の「Test」ボタンをクリックします。Phase_vs_radius.ldfには、フルレンズシミュレーションのセットアップを容易にするために、材料データおよびその他のジオメトリデータも保存されています。

レンダリング詳細

描画する構造物が多い場合、表示が遅くなることがあります。特に、大きなメタレンの場合、このようなことが起こります。このような問題を防ぐには、「メタレンズ」構造物グループで構造物の描画の詳細度を低い値に設定します。

farfieldssettingsスクリプト・コマンド

大きな周波数モニターから近視野を投影する場合、遠視野の計算に非常に長い時間がかかることがあります。精度を犠牲にすることなく計算時間を短縮するには、farfieldsettingsスクリプトコマンドを使用し、近視野データポイントをダウンサンプリングすることができます。

OpticStudioでの伝搬

ZBFファイル用配列サイズ

OpticStudioのPOPツールで伝搬する際に、焦点の近くと遠くの両方でビームの良好なサンプリングを確保するためです。

OpticStudioのPOPツールで伝搬を行い、配列サイズをX=ω√πn(wはウェストサイズ、nは点数)に設定します。

パイロット・ビーム半径

ZBFファイルのPOPで正しい伝搬方法が使われていることを確認するために、Surface Properties > Physical OpticsでOutput Pilot RadiusをUser-defined X-Radius=-4.0671, Y-Radius=0に変更します。

モデルの更新

お客様のデバイスのパラメータに基づいたモデル更新の方法

ジオメトリ

メタレンズの形状を変更したい場合は、ユニットセルだけでなく、フルレンズシミュレーションファイルも更新するようにしてください。「モデル」オブジェクトと「スイープ」オブジェクトを正しいパラメータで更新する必要があります。

周期と波長

波長やユニットセルの周期を変える場合、一般的には複数のグレーティングオーダーを避けるのが得策で、メタレンズの設計が複雑になる可能性があります。

焦点距離

焦点距離が大きいメタレンズは、一般にレンズ半径が大きくなり、メモリとシミュレーション時間が大きくなることを意味します。より大きなデバイスに移行する前に、コンセプトの検証のために小さなデバイスで予備テストを行うのは良いアイデアかもしれません。

その他の設計上の注意点

このように、測定された位相がターゲット位相とずれることはよくあることです。このようなズレには様々な理由が考えられます:

  ・PECの開口部による回折

  ・隣接するナノロッドの局所的な周期性の崩壊:ステップ2で得られた位相は、同じ直径を持つナノロッドが無限に続くことを想定しています。隣接するナノロッドの半径が非常に小さく変化する場合、構造は局所的に周期的であると仮定できるため、ステップ2で得られた位相と半径の関係はまだ有効であることがわかります。この例では、比較的小さな半径を使用しており、隣接するナノロッドの位相(したがって半径) の変化は、少し急激である可能性があります。

  ・サブ波長動作からの乖離:ナノロッドの半径が大きくなると、隣接するナノロッド間で強い電場の相互作用が発生することがあります。

  ・メッシュの微細化:メッシュが粗いと、微細な特徴をうまく表現できないこともあります。

結果を改善するために、試してみてはいかがでしょうか:

  ・ユニットセルの周期を変更し、全体的にサブ波長領域で動作するようにする

  ・メタレンズの半径を大きくする

  ・メッシュを細かくする

モデルをさらに進化させる

モデルをさらにカスタマイズしたいユーザーへの情報とヒント

広帯域シミュレーション

現在の例は、単一周波数でのシミュレーションに基づいています。しかし、シミュレーションの設定とスクリプトを変更することで、広帯域シミュレーションに拡張することができます。これは、データに追加される次元(周波数)に関連するものです。

レンズの形状の違い

この例は、異なる形状(位相プロファイル)を持つレンズにも簡単に適用できます。例えば、球面レンズ、円筒レンズ、アキシコンレンズの平板メタレンズの設計をしたい場合、対応する正しい位相式を使用し、

2Dターゲット位相マップを生成すれば良いのです。位相/電場対半径のライブラリを構築すれば、ライブラリを再利用して、任意の形状のレンズの近視野/遠視野特性を迅速にテストすることができます。

“メタ・原子 “の配置

この例では、正方形の単位セルを構成要素としてメタレンズ全体を構築するために、長方形の格子が使用されています。各格子点におけるナノロッドの半径が計算され、各格子に構造が追加されます。この方法は、要素の数が少ない場合は問題ありません。しかし、要素の数が膨大になるような大きなメタレンズでは、非常に時間がかかることがあります。このような場合、パターンを要素ごとに生成するのではなく、デザインの対称性を利用してパターン生成を高速化することができます。また、位相プロファイルをよりよく表現するために、単位セルの非周期的な配置を使用することを検討することができます。

円偏光

キラル特性を持つメタレンズのシミュレーションには、円偏光を使用する必要があります。

追加リソース

追加ドキュメント、サンプル、トレーニング資料

ビデオ

2023年5月19日(金) に開催されたAnsys Lumerical及びAnsys Zemaxを用いたメタレンズの設計ウェビナー

関連出版物

  1. P.Yeh, “Optical Waves in Layered Media“, Wiley-InterScience, chap.3, 2005.
  2. M.Khorasaninejadら、”Visible Wavelength Planar Metalenses Based on Titanium Dioxide“, IEEE Journal of Selected Topics in Quantum Electronics, 4700216 (2017)
  3. Designing large, high-efficiency, high-numerical-aperture, transmissive meta-lenses for visible light” Optics Express, Vol.24, Issue 5, pp.5110- 5124 (2016)


目標:

Lumerical FDTDLumerical MODEにおけるブロッホ境界条件(Bloch Boundary Conditions)がどのような時に使用されるか、また、周期境界条件との違いについて説明します。

ブロッホ境界条件は様々な状況で使用されますが、最も一般的な場合では、平面波光源が周期構造に対してある角度をもって照射するシミュレーションの場合に使用されます。

BFAST平面波が用いられる場合はブロッホ境界条件は自動的に無視され、BFASTに組み込まれた境界条件が使用されます。

平面波光源によって照射される周期構造

ブロッホ境界条件は、上のスクリーンショットに示されてるとおり、周期的な構造が平面波光源によって照らされるようなアプリケーションで、周期的境界条件と比較すると理解しやすいと思います。周期的境界条件は、シミュレーション領域の一方の端での電磁場を反対側にコピーします。ブロッホ境界条件は、周期的境界条件と非常に似ていますが、シミュレーション領域の一方の端の電磁場を、反対の端に位相を補正してコピーしています。

この位相補正の必要性は、次の動画のように斜めに伝搬する平面波を考えると理解しやすいです。角度を持って伝搬する場合、一つの周期から次の周期へとなる電磁場が完全な周期的ではなくなり、ある量だけ位相がずれてしまいます。 ブロッホ境界条件はこの位相差を補正します。

角度をもった平面波の伝搬動画

          自由空間で45度の角度をもってZ軸方向に伝搬する平面波の電場Ex

こちらは正しく設定されているシミュレーションです。、45度の角度をもった均一な波面が期待通り観測されます。ブロッホ境界条件は、X方向で使用されています。

X方向に周期境界条件を使用した以外は、上と同一の設定です。これはよくある間違いです。なぜなら、平面波のkxが0ではないからです。同様の間違いは、”set based on source angle”が使用されていない場合にも発生するでしょう。この間違いはシミュレーション境界での散乱として確認できます。

他での利用(バンド構造計算)

ブロッホ境界条件は、面内での波数ベクトル設定が重要な場合にも有用です。例えば、バンド構造計算ではブロッホ境界条件が広く用いられます。

ヒントと追加情報

垂直入射した時の光の伝搬に、ブロッホ境界条件は使えますか?

ブロッホ境界条件は、周期的境界条件の一般的な形態として理解できます。周期的境界条件を使用したシミュレーションは、その境界条件をブロッホ境界条件に置き換えても正しい結果を与えます。この入れ替えを行った場合、ブロッホ境界条件は0度の位相補正を行います。これは、一方の端の電磁場を単純に反対側の端にコピーすることと等価となります。しかしながら、計算コストのセクションで述べるように、ブロッホ境界条件の使用は周期的境界条件と比較してメモリーと時間を余分に必要とします。

計算コスト

ブロッホ境界条件を使用したシミュレーションは、それを使用しなかった場合のシミュレーションと比較して、メモリーと時間が2倍必要です。この増加は、ブロッホ境界条件を使用したシミュレーションが、デフォルトの実数値ではなく複素数値の時間領域場を使用するためです。

複素数値時間領域場を使用した際の影響

  • “計算コスト”のセクションで述べたように、ブロッホ境界条件を使用したシミュレーションは、複素数値時間領域場を使用しています。そのため、計算コストの増大に加え、モニタで収集されるデータの型にも影響を及ぼします。
  • Index monitors: 変化なし
  • Frequency domain field monitors: 変化なし
  • Time domain field monitors: 記録データは実数値ではなく複素数値です。状況によっては、複素数値データは役に立ちます。虚数部分を必要としない場合、単純にモニタデータの実数部を取って下さい。
  • Time domain movie monitors: ‘Intensity’オプションが選択されると、動画は多少異なって見えます。場の各々の振動を見る代わりに、エンベロープだけが確認されます。これは次の例でご理解いただけると思います。

青い線はガウス型パルスによって変調されたsin波を表しています。

緑色の線はこの信号の絶対値|E|の2乗を表しています(次のコードのEx1)。これは実数値場を使ったシミュレーションの’Intensity’動画で見られます。

赤い線はこの信号の複素数値版の|E|^2 を表しています(次のコードのEx2)。 これは複素数値場を使用したシミュレーションの’Intensity’動画で見られます。

# Code to reproduce figure
t=linspace(0,20,1000);
w=10;
Ex1=sin(wt)exp(-(t-10)^2/5);
Ex2=exp(1iwt)*exp(-(t-10)^2/5);
plot(t,real(Ex1),abs(Ex1)^2,abs(Ex2)^2);
legend(“Real Ex”,”|Ex_real_field|^2″,”|Ex_complex_field|^2″);

角度をもった広帯域光源の入射

上で説明されたように、ブロッホ境界条件は、電磁場の位相補正を行っています。これは、Plane waves – Angled injectionのページで説明されているように、広帯域シミュレーションに重要な結論を与えます。
広帯域角度付き入射では、BFAST plane waveの使用を推奨します。

平面波光源を使用した際のブロッホベクトルの自動計算

ブロッホ境界条件と角度をもった平面波を含むシミュレーションを行う場合、下の図に示されているように、“set based on source angle” オプションを使用して下さい。この設定はブロッホ境界条件を使用する場合のみ設定できます。このオプションを使用しない場合、kx, ky, kzをそれぞれ手動で設定しなければなりません。
手動でのブロッホベクトルの設定は、バンド構造シミュレーションでは重要になります。

注意:複数の平面波光源とブロッホ境界条件をシミュレーションで用いる場合、すべての光源の帯域幅と角度が同じである必要があります。そうでない場合、警告が表示されブロッホベクトルは0に設定されます。

半径の大きなリング全体をFDTDなどでシミュレーションすると、計算量が膨大になることがあります。しかしながら、いくつか方法はあります。

varFDTD

Lumerical FDTDの代わりにLumerical MODEのvarFDTDソルバー(参照 )を用いるのが、このような大きなリングをシミュレーションするための一つの方法でしょう。

この2.5次元ソルバーは,2次元計算と同程度の計算負荷で3次元の平板構造を計算することができます。varFDTDを用いたリング共振器のシミュレーション例も用意されています。

この例を用いてシミュレーションを開始する前には、メモリの容量を確認してシミュレーションに必要な計算領域がPCに十分残されているかどうか確認してください。

また、このような大きなリングを解析するのにはシミュレーション時間を長くする必要があることにも注意が必要です。デフォルトの1000fsでは短いでしょう。
しかしながら、さらに大きなリング共振器をシミュレーションしたい場合は、varFDTDを用いるのは最適とはいえません。

Lumerical FDTD, Lumerical FDE, Lumerical INTERCONNECT

さらに大きなリング共振器を扱う場合、FDTDやvarFDTDでは事足りません。その場合、リング共振器デバイスをいくつかの要素に分けてシミュレーションを行い、得られたそれぞれのデータ
をLumerical INTERCONNECTにインポートしてシステムシミュレーションとして扱うのをお勧めします。

Ring resonator by Lumerical FDTD

1- 結合部(Lumerical FDTD)

まず以下のスクリーンショットのように、リング部のシミュレーションを行います。これは、結合領域の散乱行列を得るためのシミュレーションです。

結合部(リング全体よりもずっと小さな領域)のみをシミュレーションしているので、FDTDで十分扱うことができるでしょう。FDTDで結合部が大きい場合は、varFDTDで初期パラメータをある程度最適化し、最終確認としてFDTD法を使用することを検討してもよいかもしれません。

2- 曲げ導波路(FDE)

FDEソルバーを用いて曲げ導波路をシミュレーションします。このシミュレーションでは、実行屈折率や郡屈折率さらには損失などの導波路特性を返すことができます。

3- システムシミュレーション(Lumerical INTERCONNECT)

結合部の散乱行列と各要素の導波路特性が得られれば、それらをLumerical INTERCONNECTにインポートしてシステムシミュレーションを行うことができます。

このシミュレーションは正確であるだけでなく、Lumerical FDTDなどを用いてリング共振器全体を解析するより大幅に時間短縮が可能です(パッシブリングの例をご覧ください)。

リングが変調器である場合、関連する例があります。

Lumerical MODEの2.5 次元バリエーショナル FDTD( VarFDTD)ソルバーは、リッジ導波路を用いたシステムからフォトニック結晶のような複雑な形状のものまで、さまざまな導波路構造における光の伝搬を効率的にシミュレートします。このソルバーは、ビーム伝搬法に比べて光学的に大きな部品の性能を正確に予測することができ、最適化された計算エンジンと相まって、平面集積光学部品や回路の仮想プロトタイピングおよび最適化に適したロバストな導波路設計環境となっています。

背景

FDTD(Finite-Difference Time-Domain)法は、ナノスケールの部品における光の伝搬をシミュレートするための最も汎用的で正確な手法の一つです。しかし、FDTDを 3 次元構造に適用すると、計算量が非常に多くなり大型の集積光学部品を効率的に扱うことが難しくなります。長い距離を伝播する波のシミュレーションにはいくつかの代替手法があります。よく知られている Beam Propagation Method(BPM)は、ゆっくりと変化する包絡線の仮定に基づいており、大きな構造をすばやくシミュレーションできます。ただし、広角での伝搬や屈折率のコントラストが高い部品では精度が低下します。より厳密な固有モード展開法(EME)は双方向の伝搬を扱うのに最適ですが、十分な精度を得るためには多くのモードを必要とするため全方向の伝搬をシミュレートするには非効率的です。 Lumerical MODEのVarFDTDは、従来の伝搬法とは異なり、光軸やデバイスの形状、使用する材料などを一切仮定することなく、平面導波路システムにおける線形および非線形現象を広帯域にモデリングすることができます。平面導波路コンポーネントの場合、VarFDTDは、2D FDTD 法と同等のシミュレーション時間とメモリのみを必要とし、3D FDTD 法に匹敵する精度と汎用性を提供します。固有モードソルバーと双方向固有モード展開(EME)ソルバーとを組み合わせることで、Lumerical MODEは大規模集積光学部品の仮想プロトタイピングに最適なツールとなり、高価で時間のかかる製造試作品の必要性を低減します。

全方位の面内伝搬において、速度と精度の最適なトレードオフを提供するMODE varFDTD

varFDTD ソルバーは、光学的に大きな平面集積光学部品において全方向の光伝搬をシミュレートするのに最適です。この手法では、図1に示すように、垂直導波路構造を材料分散と導波路分散を同時に考慮した実効的な分散材料に変換することで、3次元の問題を実質的な 2 次元の問題に還元します。

垂直スラブモード
図1:垂直スラブモードは3次元の平面形状を2次元の実効的な分散材料のセットに落とし込むために用いられます

現在、varFDTDソルバーで3次元形状を落とし込むには2つのアプローチがあります。

  1. Hammer and Ivanova [1]に基づく変形手順
  2. 相反定理に基づく手順(Snyder and Love [2]に記載)

いずれの場合も、垂直導波路構造でサポートされる異なるスラブモード間のカップリングを無視できることが重要な前提となります。SOIベースのスラブ導波路構造のように、偏波の異なる 2つの垂直モードしかサポートしていない多くのデバイスでは、これは非常に良い仮定となります。このような場合、VarFDTDは2次元FDTDシミュレーションと同等のシミュレーション時間とメモリで3次元FDTDと同等の結果を得ることができます。これにより設計者は多くの設計パラメータを効率的に繰り返し検討することができ、また3D FDTDでは大きすぎて処理できない部品をシミュレートすることも可能になります。

リング共振器の例:3Dの精度を2Dの計算速度で

ここでは、シンプルなリング共振器を使ってLumerical MODEのVarFDTD ソルバーの動作をデモンストレーションします。

リング共振器
図2: 4ポートのリング共振器

Lumerical MODEは、3D形状を実効的な材料の2Dセットへと自動的に落とし込みます。生成された実効的な材料も分散性をもちます。分散は元の材料の特性とスラブ導波路の形状の両方に由来することに注意してください。その後、生成された材料はANSYS社独自の Multi- Coefficient Materials モデルを用いて、FDTDアルゴリズムによるシミュレーションに適した形にフィットされます。

垂直スラブのモードプロファイル
図3: (左)導波路分散は垂直スラブのモードプロファイルに見られます(垂直方向の寸法z と波長の関数として示されています) (右)生成された実効的な材料にはスラブ導波路の形状による導波路分散とシリコンの材料分散の両方が含まれています

実質的な2Dの材料が生成されると、Ansys社の最適化された計算アクセレーターを使用して2D FDTDシミュレーションを進めることができます。これにより、マルチコアのプロセッサやマルチノードのハイパフォーマンスコンピューティングシステム上での並列計算が可能になります。

実効的2D材料を用いた 2DFDTD シミュレーション
図4: 実効的2D材料を用いた 2DFDTD シミュレーションでは時間領域における1 回のシミュレーションで広帯域の応答が得られます

内蔵された固有モード展開モニターを用いると、任意の導波路モードへの高分解かつ高精度な広帯域透過データが一度のシミュレーションで得られます。スルーポート位置の基本モードへと伝送された信号を図5に示します。表1に示されるように、
VarFDTDは 3D FDTDの結果と非常によく一致し、100倍高速であることがわかります。また、図5では2D FDTD(ここでの屈折率は単に垂直スラブモードの実効屈折率になります)と 3D FDTDを比較していますが、その一致は不十分であることがわかります。特に、このようなシミュレーションで通常抽出される重要な量である帯域幅とFSR(フリースペクトルレンジ)は、VarFDTD では非常に正確に計算されますが、標準的な 2D FDTDではそうはなりません。VarFDTD、2D FDTD、および3D FDTDの比較を容易にするため、図 5 の両方の図では、VarFDTD および 2D FDTD の透過スペクトルの中央ピークが 3D FDTD の結果と一致するようにシフトされています。現実にはこのピークの正確な位置調整は熱的なチューニングによって実現できます。

VarFDTD シミュレーションと 3D FDTD シミュレーションで得られたスルーポート
図 5:(左) VarFDTD シミュレーションと 3D FDTD シミュレーションで得られたスルーポートにおける基本モードへの透過率 (右)標準的な2次元FDTD近似と3次元FDTDから得られた結果を示したグラフ
シミュレーション・タイプメモリ2010 年モデルの Intel Core i7 マシンでの処理時間
2D FDTD15MB約12秒
2.5D FDTD18MB約15秒
3D FDTD338MB約150 秒
表1 :リング共振器の例で必要なシミュレーション時間とメモリのまとめ。この場合、2D FDTD および VarFDTD は3D FDTD の約 100 倍の速度で実行されます

VarFDTD ソルバーで得られる計算の精度と速度に基づけば、Lumerical MODEを用いるとリング共振器の最適化を大きく前進させることができます。またリング共振器やその他のシリコンフォトニックデバイスのシミュレーションでは、通常、より大きなシミュレーション領域と長いシミュレーション時間が必要となるため、VarFDTD ソルバーはこのレベルの複雑さの設計を最適化するのに非常に重要な役割を果たします。

幅広いアプリケーションに対応できる汎用性をもつvarFDTD

平面テーパー:

VarFDTDソルバーを用いると、広いテーパーが有する複数のモードへの広帯域伝送を正確に決定することが簡単にできます。垂直構造を実効的なスラブへと落としこむ方法はテーパーのような広い領域では完全にうまく機能するため、導波路スラブ内の光の伝搬に対する近似は行われず、このバリエーショナルFDTD処理で3D FDTDに非常に近い結果を得ること
ができます。

SOI導波路テーパーのVarFDTDシミュレーション
図6: SOI導波路テーパーのVarFDTDシミュレーション。テーパーの形状はw(x)=[α(L-x)
]^m+w_2 でパラメータ化し,Lumerical MODEに搭載されている最適化フレームワークを用いて最適化されています。
偶数TE モードへの透過率
図7:波長 1550nmにおける導波路2の最初の5つの偶数TE モードへの透過率を示しています。

アレイ型導波路グレーティング(AWG):

AWG は光ネットワークにおける高密度な波長分割多重化に不可欠なデバイスです。これらデバイスのサイズと複雑さおよび位相誤差に対する感度は、多くの伝搬法にとってAWGを(計算)困難なものにする可能性があります。Lumerical MODEの VarFDTD ソルバーを使えば、1 回のシミュレーションで正確な広帯域の結果を得ることができます。

 VarFDTDソルバーを使用してシミュレートした AWGの出力スターカプラで、波長に依存した分波の様子が見られます
図8: VarFDTDソルバーを使用してシミュレートした AWGの出力スターカプラで、波長に依存した分波の様子が見られます。これらの結果はすべて時間領域での1回のシミュレーションから得られたものです。

非線形導波路:

導波路の非線形効果をシミュレートするには、長いシミュレーション時間と伝搬距離が必要になることがよくあります。VarFDTDソルバーとLumerical MODEが提供するflexible material pluginsとを組み合わせることで、線形効果と非線形効果の相互作用を正確に捉えながら、長距離の波動伝播を効率的にシミュレートすることができます。Flexible material pluginsはオープンなフレームワークで構築されています。そしてエンドユーザーは独自のニーズに合わせたモデルをネイティブの C/C++/FORTRAN で書く動的リンクライブラリ・プラグインとして開発することができます。これらのプラグインは、多係数材料モデルと組み合わせて使用することで、図9に示すような複雑な非線形材料をシミュレートすることができます。

非線形リング共振器における4光波混合(FWM)
図9: 非線形リング共振器における4光波混合(FWM)の 2.5 次元 FDTD シミュレーション(左)スルーとドロップの出力 (右)ポンプ光、信号光、変換光を示すスペクトル

結論

Lumerical MODEの VarFDTD ソルバーは、導波路部品における広帯域/全方向光伝搬をシミュレートするための汎用ソルバーです。異なるスラブモード間の結合が無視できる平面形状の場合、VarFDTD は2D FDTDのシミュレーション時間とメモリのみで、3D FDTD に匹敵する結果を得ることができます。Lumerical MODEの固有モードソルバーおよび双方向固有モード展開(EME)ソルバーを組み合わせることで、Lumerical MODEは大規模集積光学部品の仮想プロトタイピングに最適なツールとなり、高価で時間のかかる製造試作品の必要性を低減します。

参考文献

[1] Manfred Hammer and Olena V. Ivanova, MESA Institute for Nanotechnology, University of Twente, Enschede, The Netherlands “Effective index approximation of photonic crystal slabs: a 2-to-1-D assessment”, Optical and Quantum Electronics ,Volume 41, Number 4, 267-283, DOI: 10.1007/s11082-009-9349-3.
[2] Allan W. Snyder and John D. Love, Optical Waveguide Theory. Chapman & Hall, London, England, 1983.

FDTD のシミュレーションを設定して実行する際に,不正確であると思われる予期しない結果が得られるのは,珍しいことではありません。これらの予期しない結果は,物理的にあり得ないものや (伝送結果が 1 より大きいなど),他のソース (論文や他のシミュレーションなど) の結果と異なることがあります。これは,シミュレーションの設定において,誤りがあることを示している可能性があります。

不正確な結果を引き起こす要因は数多く考えられ,また,これらの問題は発生するたびに同じ結果をもたらすとは限りません。これは,シミュレーションのトラブルシューティングに関しては,問題を一元的に扱うのは難しいことを意味します。しかし,ここでは FDTD によるシミュレーションにおいて不正確な結果やエラーが得られたさいに,その原因を特定するために役立つと思われるヒントや戦略をいくつか紹介します。

FDTD によるシミュレーションにおいて問題が発生した場合は,次の手順がエラーの原因を特定するために役立つことがあります。

重要な設定の確認:

Key Lumerical FDTD setting (FDTD の重要な設定) において説明されているシミュレーションの設定が正しいことを確認してください。ここでは,Lumerical FDTD によるシミュレーションにおいて,もっとも重要となる設定が説明されています。たとえば,メッシュ,シミュレーションの時間,およびシミュレーションの領域など,多くの場合において,Lumerical FDTD によるシミュレーションでエラーの原因となることが説明されています。

オンラインリソース検索:

シミュレーションのトラブルシューティングに役立つさまざまなオンラインのリソースがあります。たとえば,Ansys Learning Forum (ALF) には,トラブルシューティングに関するカスタマサポートの事例が掲載されています。ほかのユーザがあなたと同じような問題に遭遇した可能性が高いので,シミュレーションにおいて問題が発生した場合は,ALF で同様の問題を検索することをお勧めします。Application Gallery (アプリケーションギャラリー) には,多くのシミュレーションの事例や,さまざまなタイプのシミュレーションへのアプローチが説明されています。これらの事例には,特定のタイプのシミュレーションを適切に設定するヒントが含まれています。

シミュレーションの単純化:

FDTD のシミュレーションを始めるときは,ソースおよびモニタに加えて,シンプルな構造から始めることをお勧めします。このシンプルな構造のシミュレーションの結果が正確であれば,それぞれのステップにおいて設定が正しいことを確認しながら,シミュレーションの複雑さを徐々に増やしていくことができます。同様のアプローチは,トラブルシューティングにも有効です。完全なシミュレーションで不正確な結果が得られた場合は,シミュレーションの複雑さを段階的に下げることによって,シミュレーションやジオメトリのどの部分でエラーが発生しているかを特定することができます。たとえば,以下のようになります。

  • 完全な 3Dでの FDTD シミュレーションへ拡張する前に,2D でのシミュレーションで構造を近似することから始めます。2D でのシミュレーションは実行速度が速いため,シミュレーションの開発に要する時間を短縮することができます。
  • 広帯域のシミュレーションへ移行する前に,非分散材料を用いて,単一波長でのシミュレーションから始めてください。
  • パターン化された基板からの透過/反射を測定する場合は,まずパターン化されていない基板のシミュレーションを行い,FDTD の結果と stackrt コマンドによる結果を比較してください。

モニタでのフィールドの表示:

Movie (ムービ) または DFT モニタを使用して,シミュレーションのフィールドを表示することができます。これは,エラーが発生した場所を特定することに役立ちます。たとえば,これらのモニタを使用して,発散するシミュレーションにおいてフィールドが発散している場所を特定したり,ソースが入力パルスを適切に注入しているかを判断することができます。

帯域の制限:

FDTD では広帯域のシミュレーションの結果を得ることができますが,ある状況においては,広い帯域でのシミュレーションは機能しないことがあります。たとえば,good material fit (材料の適合性) を見極めるのが困難であったり,PML 境界において,すべての波長が適切に吸収されなかったり,また,ソースが適切に光を注入しないことがあります (最後の点については,multifrequency injection (周波数射出) を使用することで改善できることがあります) 。このような理由から,帯域には結果が計算できる波長のみを含める必要があります。広い帯域 (光学シミュレーションにおいては,数百ナノメートルを超える場合) を使用する場合は,帯域を分割して,複数のシミュレーションを実行することで,問題を解決できることがあります。

ソースのフィールドプロファイルの確認:

ソースフィールドが不適切に計算されたり,ソースオブジェクトのエッジによって切り捨てられるのは,よくあることです。FDTD のシミュレーションを実行する前に,ソースのフィールドプロファイルを再確認することをお勧めします。そのさいに,ソースのエッジでモードフィールドの振幅がゼロに近い値(約 10^-3)になるように,ソースのスパンが十分に大きいことを確認してください。また,偏光面が正しいことを確認するために,ソースの電界プロファイルにおいて,それぞれの成分の確認が役立つことがあります。たとえば,下記のモードソースのスパンは小さすぎて,モードフィールド全体を含めることができていません。

コンバージェンステスト (収束試験):

設定がほぼ正しいと思われる場合は,convergence testing 4 (収束試験) を行い,シミュレーションの設定を確定し,結果が正確であることを確認する必要があります。これは,公開されている論文や別のシミュレーションなどの別のソースからのデータおよび結果を比較する場合に,特に重要なステップになります。

タグ アーカイブ: Lumerical FDTD