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

フォトニック結晶チュートリアル:フォトニック結晶および導波路のシミュレーション

Scanning electron microscope style image of a two-dimensional photonic crystal consisting of a periodic array of air holes etched into a dielectric slab, illustrating the type of structure commonly used to control and guide light
フォトニック結晶の走査型電子顕微鏡(SEM)画像である。周期的に配列した空孔群により空間的に不均一な屈折率分布が生じ、これによって光の閉じ込め、導波、および制御が可能となる。フォトニック結晶は、導波路、共振器、光フィルターをはじめとする多くの集積型光デバイスの基盤となっている。

1. フォトニック結晶と導波路の概要

フォトニック結晶とは、光の波長スケールで屈折率が周期的に変化する光学構造のことである。典型的な例としては、??に示すように規則正しく配列された空気孔を有する誘電体板が挙げられる。このような周期構造によってフォトニックバンドギャップが生じ、これは光が結晶内を伝播できない波長範囲を意味する。この現象は半導体における電子のバンドギャップと類似しているが、対象が電子ではなく光子である点が異なる。格子構造に意図的に欠陥、例えば空気孔の列を取り除くといった処置を施すことで、バンドギャップ内に光モードを形成することが可能となる。こうして生成された領域では光が閉じ込められ、極めて低損失の状態で曲がりくねった経路を通っても伝播できる。このようなフォトニック結晶導波路は、光インターコネクト、共振器、フィルター、センサー、波長選択型コンポーネントなど、数多くの集積型光デバイスの基盤となっている。

このチュートリアルでは、OghmaNanoの有限差分時域法(FDTD)ソルバーを用いて二次元フォトニック結晶を構築・シミュレーションします。ステップエディターを利用して周期的な格子を生成し、FDTD光源を用いて構造物内に光を入射させ、電磁場分布を可視化します。さらにFDTD検出器およびスペクトル抽出機能を用いて波長ごとの透過スペクトルを算出します。格子の幾何形状を変更することでフォトニックバンドギャップがどのようにシフトするかを確認でき、欠陥を導入することでフォトニック結晶導波路が形成され、その中を伝播する光の様子も観察可能となります。

フォトニック結晶は、チップ上でごく小さな領域しか占めないにもかかわらず光の伝播を精密に制御できるため、現代の集積フォトニクス分野で広く利用されている。したがって、フォトニックバンドギャップがどのように形成されるか、また欠陥を利用して光モードをいかに操作できるかを理解することは、高度なフォトニックデバイスを設計する上で不可欠なステップとなる。

2. 新規フォトニック結晶シミュレーションの作成

WindowsのスタートメニューからOghmaNanoを起動し、[新規シミュレーション]をクリックすると、利用可能なデバイスタイプの一覧が表示されます。この一覧は??に示されています。

[新規シミュレーション]ウィンドウ(??)内で「FDTD examples」をダブルクリックすると、??に示す光学/FDTD用テンプレートの一覧が表示される。この一覧にはファブリ・ペロー共振器、自由空間、集積フォトニクス用リング共振器、マッハ・ツェンダー変調器、および複数の導波路が含まれる。本チュートリアルでは「Photonic crystal」をダブルクリックする。その後、書き込み権限のあるフォルダーにシミュレーションデータを保存するよう求められる。

💡 ヒント:最適なパフォーマンスを得るためには、C:\ のようなローカルドライブにシミュレーションデータを保存してください。ネットワークドライブやUSB、クラウドフォルダー(例:OneDrive)に保存した場合、頻繁な読み書き処理により シミュレーションが遅くなる可能性があります。

OghmaNano new simulation window listing device categories such as organic solar cells, OLEDs, OFETs, perovskites, ray tracing, and FDTD examples
新規シミュレーションウィンドウには、各種デバイスタイプやサンプルプロジェクトが収録されたライブラリが用意されています。アイコンをダブルクリックすることで、事前に設定済みのシミュレーションを起動できます。フォトニック結晶の場合は、FDTD例題アイコンをダブルクリックすると、光学シミュレーション用のテンプレートが表示されます。
OghmaNano FDTD examples list showing Fabry-Perot cavity, free space, integrated photonics ring resonator, photonic crystal, photonic-xtal trumpet, silicon Mach-Zehnder modulator, and tapered 975 nm waveguide
FDTDサンプルフォルダーには、すぐに実行可能な光学構造物が複数記載されています。各項目をクリックすると、事前に設定済みのFDTDシミュレーションが起動し、ユーザーはそれらを自由に変更できます。このチュートリアルで使用する構造物を読み込むには、「フォトニック結晶」をダブルクリックしてください。

3. シミュレーションを実行する

保存が完了するとメインウィンドウが開きます(??参照)。このデバイスは誘電体柱(赤色の円柱)の配列であり、光源の近くに位置する紫色の入力検出器と反対側にある緑色の出力検出器の間に配置されています。xy/yz/xzボタンを使用して視点を調整できます。「Run simulation」ボタン(青色の再生アイコン)をクリックするかF9キーを押してください。処理能力が低いマシンではFDTD計算に多少時間がかかる場合があります。

計算が完了したら、出力タブ(??)を開いてソルバーが生成したファイルを確認してください。任意のファイルをダブルクリックすると、該当するビューアーで開かれます。

Main OghmaNano interface showing the Run Simulation button and a 3D view of a photonic crystal made from a square array of red dielectric pillars, with purple and green detector planes.
メイン画面 オグマナノ フォトニック結晶を読み込んだ後のインターフェース。 3Dパネルには誘電体柱の配列、ならびに入力側(紫色)および出力側(緑色)の検出器面が表示される。 ボタンを押下してください シミュレーションを実行 ボタン(または F9)をクリックしてFDTD計算を開始します。
OghmaNano Output tab while the FDTD simulation is running, showing progress messages, solver initialization and time-step information.
シミュレーション実行中、出力タブにはFDTDソルバーからの進捗情報が表示される。これにはデバイスの初期化処理、検出器の設定状況、および現在のシミュレーションタイムステップが含まれる。
OghmaNano Output tab displaying the simulation working directory with result files such as detector0, detector1, snapshots, power.dat, and device.csv.
出力タブにはシミュレーション用の作業ディレクトリが表示される。主な項目としては、電場の時間的スナップショットが保存されているsnapshotsフォルダ、および入力・出力検出器によって記録されたスペクトルが格納されているdetector0およびdetector1フォルダがある。ファイルまたはフォルダをダブルクリックすると、それらが開く。

4. 電場の伝播状況を観察する

snapshotsフォルダをダブルクリックしてスナップショットビューアー(??)を開いてください。表示されるファイルはEy.csvであり、これは電場の各成分のうちの1つです。色付きのワイヤーフレーム面として描画されており、色と高さの両方が単位V/mで表される電場強度を表しています。

プロット下にあるスライダーを動かすことで時間を進めていきます。そうすると、発射されたパルスが左側の光源から広がり、フォトニック結晶に衝突した後、一部が散乱され、また一部が透過していく様子が確認できます。電場の時間的変化を観察することこそ、得られた数値が妥当であるかを直感的に検証する最良の方法なのです。

OghmaNano simulation snapshot viewer showing the Ey component of the electric field as a coloured wireframe surface, with a time slider beneath the plot.
スナップショットビューアにおいて、Ey.csvがワイヤーフレーム形式で描画される。
Early-time snapshot of the electric field interacting with the photonic crystal.
パルスがフォトニック結晶内に進入している様子を示す初期時刻のスナップショット。
Later-time snapshot showing the electric field after propagating through the photonic crystal.
結晶内を伝播した後の電場状態を示す、後段のスナップショットである。

5. 検出器と透過スペクトル

さて、2つの検出器が記録したデータを見てみましょう。[Output]タブからdetector0およびdetector1フォルダーを開くと、それぞれにlam_E.csvというファイルが存在します。このファイルには、各検出器に到達した波長ごとの電場強度|E|2の値が記録されています。この2つの検出器は、デバイス表示画面上に見える紫色および緑色のグリッドがそれに相当します。

detector0内のlam_E.csvを開くと入力スペクトル(??)が得られる。これは構造体に入射された広帯域パルスであり、そのエネルギーの大部分は900 nm付近にある。またdetector1内のlam_E.csvを開くと出力スペクトル(??)が得られ、対数軸上にプロットされる。ほとんどの波長において光が大幅に減衰していることに注目されたい。これはフォトニック結晶がそれらの波長を遮断しているためである。

目視で2つの生のスペクトルを比較するのは困難であるため、検出器フォルダ内にはlam_norm.csvとして|EOutput|2/|EInput|2の比が記録されている。これがフォトニック結晶の透過スペクトルに相当する。このファイルをダブルクリックすると??が得られる。

1000nm付近に現れる明確なピークは、フォトニック結晶が透過させる波長帯域を示しています。一方、その両側で強く抑制されている領域がフォトニックバンドギャップであり、光の伝播が禁止される範囲となります。つまり、この1本の曲線だけで結晶が透過させる波長とバンドギャップの位置の両方が把握できるのです。

Input detector spectrum lam_E.csv showing |E| squared versus wavelength on a linear axis, with a broad peak near 900 nm.
入力検出器(detector0/lam_E.csv):結晶に入射する広帯域パルスで、波長約900 nm付近でピークを示す。この値が出力データと比較される基準となる。
Output detector spectrum lam_E.csv showing |E| squared versus wavelength on a logarithmic axis, strongly attenuated across most of the band.
出力側検出器(detector1/lam_E.csv)による対数スケールでの測定結果である。ほとんどの波長はフォトニックバンドギャップ内に位置するため、数桁にわたって強く抑制されている。
Transmission spectrum, the ratio of output to input field intensity, showing a single sharp peak just above 1000 nm.
lam_norm.csvから得られた透過スペクトル |EOutput|2/|EInput|2である。1000 nm付近に現れるピークが、フォトニック結晶が透過させる波長を示しており、抑制されている波長はすべてフォトニックバンドギャップ内に位置している。

6. 柱構造の半径の調整

フォトニック結晶のバンドギャップの位置は、その格子構造によって決定される。これを確認するため、デバイスビュー上でフォトニック結晶を右クリックし、メニューからメッシュエディタを選択する(??)。メッシュエディタ(??)を使用すると、結晶を構成する繰り返し構造の形状を変更できる。ここでは半径100ナノメートル、高さ400ナノメートルの円筒形構造が用いられており、さらに設定されたリング数やセグメント数によってメッシュの細かさも制御される。

Right-click context menu on the photonic crystal with the Mesh editor option highlighted.
フォトニック結晶を右クリックするとコンテキストメニューが表示されます。メニューから「メッシュエディタ」を選択することで、繰り返し配置される構造物の形状を変更できます。
Mesh editor showing a Tube primitive with radius 100 nm, height 400 nm, 10 rings and 32 segments.
チューブプリミティブが選択された状態のメッシュエディタである。半径フィールド(ここでは100ナノメートル)により、配列内のすべての誘電体柱の太さが決定される。
Device view of the photonic crystal after increasing the pillar radius to 150 nm, showing visibly fatter pillars.
柱構造の半径を150 nmに増加させた後のフォトニック結晶の様子である。この結果、各誘電体柱は明らかに太くなり、格子内に占める誘電体の量も増加している。

柱構造の半径を150ナノメートルに変更します。デバイス表示画面では柱構造が明らかに太くなっているのが確認できます(??)。その後シミュレーションを再実行し、lam_norm.csvを再度開くことで更新された透過スペクトルを生成します(??)。

次に、柱構造の半径を120ナノメートルに設定し、再びシミュレーションを実行します。得られた透過スペクトル(??)は約1200ナノメートル付近でピークを示し、これは100ナノメートルの場合と150ナノメートルの場合の中間的な値となります。明らかな傾向として、柱構造の半径を大きくするほどフォトニックバンドギャップが長波長側へ移動します。このように単一の幾何学的パラメータを調整するだけで、フォトニック結晶のバンド構造や透過する波長を自在に制御できるのです。

Transmission spectrum for 150 nm pillars, with the main transmission feature shifted to roughly 1400 to 1500 nm.
150 nm径の柱構造を用いた場合、透過ピークは約1400~1500 nm付近へと移動しており、これは100 nm構造の場合と比較して大幅な長波長側へのシフトが生じていることを示している。
Transmission spectrum for 120 nm pillars, with the main peak near 1200 nm.
120nmの柱構造を用いた場合の透過特性では、1200nm付近に現れる透過ピークは、100nm構造および150nm構造の結果の中間に位置しており、柱半径の増大に伴いフォトニックバンドが滑らかにシフトしていく様子が確認できる。

7. フォトニック結晶導波路の構築

これまでのところ、フォトニック結晶の格子は自動的に生成されていました。その仕組みを確認し、ユーザー自身で制御するには、フォトニック結晶を右クリックして「オブジェクト編集」を選択してください(??)。オブジェクト編集画面(??)には、そのオブジェクトに関するすべての情報が記載されています。すなわち位置情報、チューブ形状、光学材料(ここではシリコン)、そして「ステップ」行に記載された格子生成規則です。この行にある…ボタンをクリックすると、ステップエディタが開き、そこで結晶格子や繰り返し構造、スクリプトで定義された幾何形状の作成・変更が可能となります。

Right-click context menu on the photonic crystal with the Edit object option highlighted.
フォトニック結晶を右クリックし、「オブジェクト編集」を選択すると、完全なオブジェクトエディタが開きます。
Object editor showing object type, offset, the Steps row labelled custom crystal lattice 10x1x10, colour, tube shape, and silicon optical material.
オブジェクトエディタです。ステップ欄には「Custom crystal lattice 10x1x10」と記載されており、これがチューブを繰り返し配置してフォトニック結晶を構築するための設定内容です。この行の右端にある…ボタンをクリックすると、設定内容を編集できます。
Crystal editor showing lattice vectors a1, a2, a3, an origin, and a number of objects of 10 by 1 by 10.
ステップエディタの「結晶」タブ。ここでは格子ベクトルa1、a2、a3ならびにオブジェクト数を用いて、フォトニック結晶生成用の三角格子が定義される。

「ステップ」行にある…ボタンをクリックするとステップエディタが開く。「Crystal」タブ(??)においては、3つの格子ベクトルとオブジェクト数によって格子が定義される。ここではa1 = (400 nm, 0, 0)によりx軸方向の格子間隔が400 nmとなり、a2 = (0, 1 µm, 0)はy軸方向の単層構造を表す。またa3 = (200 nm, 0, 346 nm)により各列が半分の格子間隔分だけオフセットされる。この200 nmのシフトに加え346 nmという値は400 nm × √3/2に相当し、これによりよく知られた三角格子(六方最密充填構造)が形成される。この結晶構造はx軸方向に10回、y軸方向に1回、z軸方向に10回繰り返される。

Lua script editor generating the photonic crystal lattice with clear_points and add_point inside two nested for loops, with conditions that skip selected pillars.
Luaスクリプトの説明。通常の格子構造ではなく、コードによって各柱構造の位置が生成されるため、任意の配置が実現可能となる。主なコマンドはclear_points()およびadd_point()であり、すべての座標値はメートル単位で指定される。
Device view of a photonic crystal with a U-shaped channel of missing pillars forming a photonic crystal waveguide.
フォトニック結晶導波路においては、取り除かれた誘電体柱がU字形状の欠陥チャネルを形成している。フォトニックバンドギャップ内に存在する波長の光はこの欠陥領域に閉じ込められ、曲がり角を通って導波される。
Transmission spectrum of the photonic crystal waveguide showing several sharp guided-mode peaks.
導波路における透過率 |EOutput|2/|EInput|2の値を示す。多数現れる鋭いピークは、U字型欠陥チャネルにおける導波モードを表しており、これらの波長の光は曲がり角を通過して伝播する一方で、その他の波長の光は遮断される。

規則正しい格子構造は最も単純な例ではあるが、唯一の可能性というわけではない。Luaスクリプトボタンをクリックするとエディタがスクリプト編集モードに切り替わる(??)。ここでは、あらかじめ定義された格子構造からではなく、プログラム的に柱構造の位置が生成される。必要なコマンドはわずか2つだけで、clear_points()は既存の柱構造位置をすべて削除し、add_point(x, y, z)は指定された座標に新たな柱構造を追加する。これらのコマンドをループ処理や条件分岐文と組み合わせることで、ほぼあらゆるフォトニック結晶の幾何形状を生成することが可能となる。

??に示すスクリプト例では、ピッチ400nmの13×10格子が生成される。少数のif文を用いることで、特定の柱構造に対してskip=trueが設定され、それらの柱が構造内に追加されないようになっている。こうして生じた柱構造が欠落した部分が、結晶内に欠陥チャネルを形成している。この例では、その欠陥がU字型の経路を描いており、??に示すフォトニック結晶導波路が形成されている。

シミュレーションを再実行し、lam_norm.csvを再度開いてください。そうすると、導波路の透過スペクトル(??)には、かつては単一の広いバンドしか存在しなかったのに対し、今度は複数の狭い透過ピークが現れます。これらのピークは、フォトニックバンドギャップ内にある欠陥チャネルによって支持される導波モードに対応しています。これらの波長の光は導波路内に閉じ込められ、曲がり部を通過してうまく伝送される一方、導波モードに該当しない波長の光は周囲のフォトニック結晶によって遮断されます。

おめでとうございます!フォトニック結晶の有限差分時域法シミュレーションを実行し、その透過スペクトルを測定したほか、格子構造の変化に伴うフォトニックバンドのシフト現象を調査しました。さらに格子内に欠陥を導入することで、機能するフォトニック結晶導波路も作成できたのです。

8. 有限差分時域法シミュレーションの出力結果

各FDTDシミュレーション実行ごとに、電場の時間的変化状況や各検出器で記録されたスペクトル、さらにはデバイス自体の幾何構造など、光学的挙動のさまざまな側面を捉えた出力データが生成される。これらのファイルは通常、単純なCSV形式であり、OghmaNanoに内蔵されたビューアで直接開くことも、外部ツール(例えばExcelやPython)を用いて処理することも可能である。本フォトニック結晶研究において最も重要な出力データを以下の表1にまとめる。

Table 1: Files produced by the photonic crystal FDTD simulation
ファイル名 説明
detector0/lam_E.csv入力スペクトル |E|2と波長の関係(紫色の検出器)
検出器1/lam_E.csv出力されるスペクトル|E|²と波長の関係(緑色検出器)
detectorN/lam_norm.csv波長に対する透過率 |Eout|2/|Ein|2
スナップショット/電場の時間的スナップショット(例:Ey.csv)。??も参照のこと。
device.csv3次元デバイス/幾何形状モデル
escape.csvシミュレーション領域から漏れ出るエネルギー
power.dat電場強度と時間の関係
conv.dat有限差分時域法ソルバーの収束性
gui_config.json保存済みのビュー/プロット設定については ?? を参照してください