ホーム 例 スクリーンショット ユーザーマニュアル Blueskyロゴ YouTube ☰
OghmaNano 有機/ペロブスカイト太陽電池、OFET、OLEDをシミュレーション ダウンロード Quick Start guide

ファブリ・ペロー共振器のシミュレーション(FDTD法):1次元光共振器チュートリアル

1. はじめに

Guitar string showing standing-wave modes, used as a physical analogy for Fabry–Pérot cavity resonances
具体的な例として、ギターの弦は離散的な定在波モードを形成するのと同様に、ファブリ・ペロー共振器もまた離散的な光学的共鳴モードを生じるのである。
Conceptual diagram of a Fabry–Pérot cavity showing standing-wave patterns between two reflecting boundaries
ファブリ・ペロー共振器の概観図:二つの反射面の間に存在できるのは、特定の定在波パターンのみである。
Fabry–Pérot cavity setup in OghmaNano FDTD showing source, cavity region, and detector planes
OghmaNano内でこのFDTDチュートリアルで用いられるファブリ・ペロー共振器モデル。

ファブリ・ペロー共振器は、光学およびフォトニクス分野において最も重要な共振構造の一つである。最も単純な形態では、二つの反射面に囲まれた領域となり、そこで光が往復反射して定在波共振が形成される。これを機械的な現象に例えると、振動するギターの弦に相当する。図??にその様子を示す。固定された弦上では特定の振動パターンのみが許容され、それらは特定の波長や周波数(音楽的な音階)に対応するが、ファブリ・ペロー共振器内部でも同様に特定の光学的モードのみが存在しうるのである。

この概念の光学的な側面を図??に示す。光は二つの反射面の間で繰り返し反射し、これらの反射光同士が互いに干渉する。往復する光の位相が適切な関係にある場合、波は同位相で重なり合い、共振モードが共振器内に形成される。この単純な原理が、光フィルター、誘電体ミラー、干渉計、レーザー共振器など、多種多様な光デバイスの動作基盤となっている。

ファブリ・ペロー共振器においては、その共振器の寸法に適合する波長を持つ光モードのみが存在可能となる。垂直入射の場合、共鳴条件が満たされるときにこれが実現されるのである。

\(2nL = m\lambda\)

ここで \(n\) は共振器領域の屈折率、\(L\) は共振器の長さ、\(\lambda\) は波長、\(m\) は整数値のモード番号を表します。図中には3つのモードが示されており、基本モード(m = 1、水色)、第2高調波モード(m = 2、青色)、第3高調波モード(m = 3、濃青色)となります。このことから、この共振器は任意の連続的な波長ではなく、離散的な定在波解のみを許容することがわかります。

同様に、許容される波長は次のように表すこともできる

\(\lambda_m = \dfrac{2nL}{m}\)

高次の共振モードはそれぞれ異なる整数値の\(m\)に対応し、各モードごとに特有の定在波パターンが形成される。これは定在波モデルから予測される挙動そのものであり、ファブリ・ペロー共振器が光共振器や波長選択素子、レーザー共振器として広く利用される理由でもある。

このチュートリアルでは、有限差分時空離散法(FDTD法)を用いて単純な一次元ファブリ・ペロー共振器のシミュレーションを行う。このモデルには光源、2つの反射領域、それらに挟まれた共振器部分、および光学応答を記録する検出器面が含まれている(??)。このモデルを実行することで、広帯域パルスがどのように共振器を励起し、定在波が形成されるか、また透過・反射スペクトルがどのようにしてデバイスの共振モードを明らかにするかを確認できる。

2. 新規シミュレーションの作成

「新規シミュレーション」ウィンドウを開き、FDTD例のカテゴリを選択してください(??)。次にファブリ・ペロー共振器の例を選択します(??)。これにより??に示すメインインターフェースが表示されます。

OghmaNano New simulation window showing categories including an FDTD examples option.
新規シミュレーションウィンドウ。FDTD例を開く。
FDTD example list including the 1D Fabry–Pérot cavity example.
FDTDサンプル一覧。ファブリ・ペロー共振器のサンプルを選択してください。
Main OghmaNano window showing a one-dimensional Fabry–Pérot cavity geometry with source, cavity, detectors, and absorbing boundaries.
ファブリ・ペロー共振器のサンプルを読み込んだ後の、OghmaNanoのメインインターフェース。

シミュレーションを読み込んだ後、??に示すようにメインウィンドウが表示されます。デバイス構造タブ内の3Dビューに構造体が表示され、このビューにはファブリ・ペロー共振器シミュレーションに用いられるすべての主要な構成要素が映し出されます。

左側に見える緑色の矢印が時空離散有限差分法用の光源であり、ここから光パルスが入射する。構造体を貫く細い紫色の線がFDTD格子である。本例ではシミュレーションが事実上一次元的であるため、この格子は共振器を通る単一の線として表現されている。

光源のすぐ右側にある紫色の平面が入力検出器であり、入射光および反射光の電磁場を記録する。構造体の中央部分には、ファブリ・ペロー共振器を形成する2つの反射領域が存在する。右側にある緑色の平面は出力検出器で、共振器を通過した透過光を測定する。これらの検出器は電磁波の伝播に影響を与えず、単に時間の経過に伴う電磁場の変化を記録するだけである。

まもなくシミュレーションを実行し、光が構造体を通過して共振器とどのように相互作用するかを観察します。波がどの程度反射され、またどの程度が共振器内部へ入り込んで鏡面間で定在波を形成するか、そしてその様子が構造体の両側に設置された2つの検出器によってどのように記録されるかをご覧いただけます。

Terminal tab showing the FDTD Fabry–Pérot cavity simulation starting, including timestep, wavelength information, and backend selection.
FDTDシミュレーション実行中のターミナルタブ。
Output tab listing files produced by the Fabry–Pérot cavity simulation including monitor outputs and snapshots directory.
シミュレーション実行後の出力タブ。

3. シミュレーションの実行

シミュレーションを保存し、構造体の確認が済んだら、計算を開始するために「Run (▶)」ボタンをクリックしてください。計算中は、??に示される「Terminal」タブで進行状況を確認できます。ここにはタイムステップや波長範囲、使用されているバックエンドなどの情報が表示されます。計算開始直後には Searching for OpenCL devices という記述が現れます。これらはシミュレーションの高速化に利用可能なハードウェア加速デバイスです。図例のように適切なOpenCL対応デバイスが検出された場合、OghmaNanoは自動的にそのGPUを利用してCPUではなくGPU上で計算を実行します。

シミュレーションが完了したら、??に示す出力タブに切り替えてください。ここに実行中に生成されたデータが格納されています。本チュートリアルにおける主要な出力データはdetector_0およびdetector_1であり、これらには2つの検出器によって記録された信号が含まれています。またdeviceを開くことで3次元幾何形状を確認でき、snapshots/ディレクトリを参照すれば電磁場が時間とともにどのように変化していくかも見ることが可能です。このシミュレーションは非常に迅速に実行される点にご注目ください。1次元問題であるため、通常は数秒程度で計算が完了します。もしこれよりもはるかに長い時間がかかる場合は、前述の通りシミュレーションデータを高速なローカルドライブに保存するようご対応ください。

5. 電界のスナップショットの閲覧

snapshots/出力ディレクトリ(出力タブより)を開き、ダブルクリックしてスナップショットビューアを起動します。これにより時間の経過に伴うシミュレーション結果を確認できます。+ボタンを1回クリックしてデータセットを追加し、続いてEyを選択します。本シミュレーションでは電界がy方向に励起されるため、この成分が波の伝播状況を最も直接的に示します。その後スライダーバーを操作して時間を進め、電界の変化の様子を観察できます。??から??には代表的なスナップショット3点が示されています。

初期段階(左側のパネル)では、初期の広帯域パルスが構造体内に進入している様子が確認できます。この時点では電磁場は空間的に局在化しており、注入された励起に起因する鋭い立ち上がり部分が見られます。時間が経過すると(中央のパネル)、パルスは共振器領域と相互作用します。その結果、波形はより構造化され空間的に拡大し、複数の周波数成分がそれぞれ異なる位相で伝播していることを示しています。これは構造体内における部分的な反射および干渉現象の特徴的な兆候です。

時間が経過すると(右側のパネル)、電場の分布はもはや単一の進行波の形態を呈さなくなる。むしろ、異なる空間周波数を持つ波の重ね合わせとして現れる。この現象は、共振器が特定の波長を選択的に増幅する一方で他の波長は反射または透過させるため生じる。その結果、単純な定在波ではなく複雑な干渉パターンが形成されるのである。なお、本シミュレーションでは広帯域なパルスが用いられ時間領域で観測されているため、共振器の共鳴現象は直ちに明確な定在波モードとして現れない。実際には、多数の反射および干渉の作用により、共振器の共鳴条件を満たす周波数成分が徐々に形成されていく過程が観察されるのである。

Early-time electric field (Ey) showing the injected pulse entering the structure.
初期段階では、入射したパルスはまだ局在しており構造体内部へと進入している状態です。
Intermediate electric field (Ey) showing interference after interaction with the cavity.
中間時刻:反射現象および干渉作用により波形が次第に変化し始める。
Late-time electric field (Ey) showing complex interference patterns inside the cavity region.
やや時間が経過すると、複数の共振モードが重ね合わさることで複雑な干渉パターンが形成される。

6. 検出器の出力結果の確認

出力タブに戻ると(??参照)、Detector0およびDetector1という2つの検出器フォルダが見え、それらは小さなCCDセンサーのアイコンのように表示される。Detector0は共振器の光源側に位置し、Detector1は光が構造体を通過した後の反対側にある。Detector0をダブルクリックすると、??に示す内容が表示される。このディレクトリ内にはlam_E.csvおよびpower.csvという2つのファイルがある。今はまずpower.csvを開いてみよう。これは時間の経過に伴う検出器を通過するパワー値を示している。その結果が??に示されている。これが入力側検出器で記録されたパワー値である。

これでDetector1に対しても同様の処理を繰り返すことができます。該当フォルダ内のpower.csvを開くと??に示す結果が得られます。この場合、透過信号はパルスが共振器内を通過するのに要する時間に相当する短い遅延の後に現れます。入力側の信号と比較して、透過パルスは明らかに滑らかで規則性に富んでいます。これは、共振器が特定の狭い周波数帯域のみを透過させ他の周波数成分を反射させる性質を反映しています。その結果、出力信号は元の広帯域パルスがフィルタ処理された形となっているのです。

Detector0 folder showing output files lam_E.csv and power.csv for the input-side detector in the Fabry–Pérot cavity simulation.
Detector0の出力フォルダにはlam_E.csvおよびpower.csvが含まれています。
Power versus time plot from Detector0 showing the incident pulse followed by ringing due to cavity reflections.
入力側検出器:初期パルスの後に、共振器内での反射により生じる時間的な振動が続く。
Power versus time plot from Detector1 showing delayed and broadened transmission through the Fabry–Pérot cavity.
出力側検出器:共振器の影響により遅延し広がった透過パルスが観測される。

ここで時間領域の信号から周波数領域の応答へと移行します。先に示した信号に対してフーリエ変換を施すことで、各検出器を通過する光のスペクトル成分が得られます。周波数領域のデータは、Detector0およびDetector1の両方内にあるファイル lam_E.csv に記録されています。

入力側スペクトル:??に示すのが入力側のスペクトルである。これは共振器の光源側に設置された検出器で記録されたスペクトルであり、主な特徴として400 nm付近に強いピークが存在する。このピークは入射パルスの主要なスペクトル成分に対応している。この検出器は共振器の手前に配置されているため、記録されたスペクトルは主に入射光の成分であるが、構造体から反射して戻ってきた光のごくわずかな寄与も含まれている可能性がある。主ピークから離れた領域では信号強度が弱くなるため、これらの領域に現れる微小な特徴を過度に解釈すべきではない。

出力側のスペクトル:??に示す通り、出力側のスペクトルも入力側のスペクトルと同様に、400 nm付近に強いピークが現れており、これがシステムの主要な励起状態を反映している。しかしこのピークの長波長側には、500 nm付近に小さな肩状の構造も認められる。この構造はファブリ・ペロー共振器が特定の波長の光を優先的に透過させることに起因する。光源の波長がこの共鳴条件と一致していないため、共振器由来のこの構造は主要なピークではなく、相対的に弱い二次的な成分として現れているに過ぎない。

入力信号と出力信号の比:上記のスペクトルは主に光源のスペクトル特性に支配されており、そのため共振器の効果を明確に把握することが困難である。共振器応答をより明瞭に示すため、光源スペクトルの影響を可能な限り除去する必要がある。そこで出力信号を入力信号で除算することで、入射電磁場に対する透過電磁場を正規化する。電力は\(|E|^2\)に比例するため、この処理により構造体の近似的な透過関数が得られる。その値が\(T(\lambda) = \frac{|E_{\mathrm{output}}(\lambda)|^2}{|E_{\mathrm{input}}(\lambda)|^2}\)である。得られた結果は??に示されている。

この処理によって光源の影響は完全には除去されないものの、その影響は大幅に低減される。その結果、共振器に起因する特徴がより明確に現れるようになる。特に、未処理の出力スペクトルではごく弱い肩状のピークに過ぎなかった波長約500 nm付近の共鳴が、正規化後の結果でははっきりと強調される。ただし、入力信号が極めて小さい場合には、この比の値が大きくなりノイズが増加する可能性がある。こうした現象は物理的な共鳴現象ではなく、小さな数値で除算を行うことに起因するものである。よりクリーンな透過スペクトルを得るためには、共振器のない参照用シミュレーション結果を用いて正規化することも可能だが、ここで述べた主要な効果を確認する上では必須ではない。

Frequency-domain spectrum at the input detector showing a strong excitation peak around 400 nm.
入力スペクトル(検出器0):主な励起ピークが400 nm付近に存在する。
Frequency-domain spectrum at the output detector showing a secondary shoulder near 500 nm due to the Fabry–Pérot cavity.
出力スペクトル(検出器1):主ピークは400 nm付近に現れ、500 nm付近には共振効果に起因する弱い肩状のピークも存在する。
Transmission spectrum showing enhanced transmission around 500 nm and artefacts where the input signal is weak.
透過スペクトル:500 nm付近で透過率が増大しているが、入力信号が弱い領域では不自然な波形が現れる。

7. 共振器の寸法を変更して実験する

ファブリ・ペロー共振器の挙動がその構造にどのように依存するかを調査するため、??に示すように共振器の鏡のいずれかを右クリックして「Edit object」を選択します。これによりオブジェクトエディタが開き、??に示すように共振器の幾何形状を制御できるようになります。本シミュレーションでは、厚さ10ナノメートルの薄い鏡が2枚あり、それらが250ナノメートルの間隔で配置されて共振器が形成されています。OghmaNanoでは2つの独立したオブジェクトを定義する代わりに、複製機能を用いて1つのオブジェクトを定義した後、任意の方向に繰り返し配置します。この場合、鏡がz軸方向に複製されています。これは「Number of objects」フィールドで制御され、z方向の値は2に設定されています。また「step」パラメータにより、オブジェクトの連続したコピー間の間隔が定義され、ここではz方向のステップ値が260ナノメートルに設定されています。この値には共振器の間隔と最初の鏡の厚さの両方が含まれています。各鏡の厚さが10ナノメートルであるため、2枚の鏡間の実際の間隔は\(260 - 10 = 250\)ナノメートルとなり、これが共振器の長さを決定します。この構造により、単一のオブジェクトを編集するだけで両方の鏡を一貫して制御することが可能となります。

Right-click menu on the cavity showing the Edit object option.
共振器を右クリックし、「オブジェクトの編集」を選択してください。
Object editor showing replication and step settings used to define the cavity spacing.
この共振器は、z方向にオブジェクトを複製することで定義される。
Simulation view showing the cavity after increasing the mirror separation.
ミラー間隔を広げた結果、共振器のサイズが大きくなった。
Output spectrum showing the cavity resonance shifted to longer wavelength.
700 nm付近へとシフトした共鳴状態を示す透過スペクトル。

To change the cavity length, modify the z-step from 260 nm to 360 nm in the object editor. This increases the mirror-to-mirror spacing from 250 nm to 350 nm. After applying this change, the structure should appear as shown in ??, where the cavity region is visibly larger. The resonant wavelengths of a Fabry–Pérot cavity are determined by the round-trip phase condition, \[ 2 n L = m \lambda, \] where \(n\) is the refractive index inside the cavity, \(L\) is the cavity length, and \(m\) is an integer mode number. Rearranging this gives \[ \lambda = \frac{2 n L}{m}. \]

元の構造において、\(L = 250\)ナノメートルおよび\(n \approx 1\)の条件下では、基本モード(\(m=1\))は\[ \lambda \approx 2 \times 1 \times 250 = 500\ \text{nm}. \]において発生する。キャビティ長を\(L = 350\)ナノメートルまで増加させると、対応する波長は\[ \lambda \approx 2 \times 1 \times 350 = 700\ \text{nm}. \]となる。これが、主要なキャビティ共鳴の予測されるシフト量である。

さて、再びシミュレーションを実行し、Detector1から得られる出力スペクトルを確認してください。その結果が ?? に示されています。上記の簡易モデルと一致して、共振器に起因する主要なピークが約500 nm付近から約700 nm付近へとシフトしていることが確認できるはずです。

主たる共鳴モードの他に、より弱い強度を持つ別の共振モードも確認できる。これらはファブリ・ペローの共鳴条件の高次解に相当する(\(m = 2, 3, \dots\))。例えば\(m=2\)の場合、波長はおよそ\(\lambda = 2 n L / 2 = nL\)となり、より短波長側のモードが形成される。励起光が広帯域スペクトルを持つため、複数の\(m\)の値が弱く励起され、結果としてスペクトル上に複数のピークが現れる。ただし、それらの強度は光源のスペクトル成分との重なり具合や、鏡を介した結合効率に依存する。

9. 2次元への拡張

Optical ribbon showing access to the optical mesh editor used to control simulation dimensionality.
光学関連のリボンを開き、メッシュエディタを起動してください。
Optical mesh editor showing X, Z, and wavelength dimensions.
X軸方向の次元を有効化することで、シミュレーションを1次元から2次元へ拡張できます。

これまで我々は、電磁場が伝播方向のみに変化する一次元のファブリ・ペロー共振器について考察してきました。時空離散有限差分法(FDTD法)の利点の一つは、自然に多次元へと拡張可能である点です。本節では、シミュレーションを二次元へ拡張し、電磁場の振る舞いがどのように変化するかを確認します。

これを行うには、まず光学関連のリボン (??) を開き、光学メッシュエディタを起動します。メッシュエディタ (??) 内で x 軸方向の次元を有効化することで、シミュレーションにおいて x 軸および z 軸方向の変化も解析されるようになります。この変更を適用した後、エディタを閉じてシミュレーションを再実行してください。

なお、空間次元を追加することで計算コストが大幅に増加する点に留意する必要がある。格子点の数や電磁場更新回数が次元数に応じて急激に増加するため、計算時間は最大で10倍程度まで長くなる可能性がある。これはFDTD法に共通する特性であり、物理的現実性を高めるためにはそれに見合った計算負荷の増大が避けられないのである。

シミュレーション終了後、snapshots/ ディレクトリを開いてください。例示結果は ?? から ?? に示されています。スライダーを操作することで時間を進め、光源から発生した波がどのように横方向に広がり、共振器内で相互作用した後検出器に到達するかを観察できます。

Early-time 2D field showing initial propagation from the source.
初期段階における電磁場の伝播状況。
2D field showing spreading wavefronts and interaction with the cavity.
波面の広がりと光共振器との相互作用
2D field showing complex interference patterns within and around the cavity.
干渉現象と電磁場の局在化
Transmission spectrum of the 2D Fabry–Pérot cavity showing shifted resonance.
2次元共振器における共鳴現象を示す出力スペクトル。

1次元の場合とは異なり、波面はもはや平面状ではなくなります。代わりに波面は横方向に広がり、曲線状の波面や複雑な干渉パターンが生じます。そのため光は、2つの鏡の間を直線的に進むだけでなく、共振器内を多様な経路を通って伝播することも可能となります。結果として、有効な光路長は単純に幾何学的な共振器長とは一致しなくなるのです。

1次元の場合、共鳴条件は以下の通りである

\(2nL = m\lambda\)

しかし2次元空間においては、波は任意の角度で伝播することが可能である。ある光線が法線に対して\(\theta\)の角度をなして進む場合、その光路長は次のようになる。

\(L_{\mathrm{eff}} = \frac{L}{\cos\theta}\)

そして共鳴条件は次のように修正される

\(2n \frac{L}{\cos\theta} = m\lambda\)

なぜなら \(\cos\theta\) だからである < 1\), the effective cavity length is larger than the physical length. This shifts the resonance to longer wavelengths, which explains why the peak in the 2D simulation appears around 600ナノメートル 単純な1次元モデルで予測される値とは異なる??).

これは重要な結果を示している。すなわち、1次元シミュレーションではファブリ・ペロー共振器の基本的な物理現象が再現される一方で、多次元シミュレーションでは光の角度依存性を伴う伝播や回折現象、さらには空間的なモード構造といった追加的効果が現れるのである。こうした効果は、光がほとんど1次元的にのみ伝播しない実際の光学系を理解する上で不可欠な要素である。