1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ansys Lumerical MCPでAIにフォトニクス解析させてみた

1
Last updated at Posted at 2026-08-03

はじめに

前回、PyLumerical-MCPがリリースされたので、Pythonプログラムで環境を構築し、そのAIエージェントにお願いしてフォトニクス解析ソフトウェアAnsys Lumerical上にY分岐導波路をモデリングしてもらいました。

今回は解析編です!

作成したモデルに対して、

  • 解析条件の確認
  • シミュレーションの実行
  • 解析結果の取得
  • 結果の評価

まで、全部AIに任せてみました。

前回の記事はこちら。

今回利用したAIモデルはOpenAI社のGPT-5.5です。他のモデルを使用した場合はもちろん、同じGPT-5.5を使用した場合でも、コンテキストやプロンプトによって出力内容は変化します。以降の内容は、使ってみた結果の「ある一例」としてご覧ください。

まずは解析条件を確認

前回作成したY分岐導波路がこちらです。

img2.png

モデリングした後にAIは、以下のように次やることを提案してくれました。

次に必要なら、以下のどちらかを実行できます。

1. **FDTDを 実行して、上側/下側出力透過率を取得 **
2. **3ポートのsパラメータ sweep設定を追加して、S行列を
取得 **

では、さっそく解析してもらいましょう!

You>1をお願い。で、結果について分析して

相変わらず、雑な指示。。

それでも、AIはめげずに、解析を始めてくれました。

img2-1.png

まず、get_guidelines_for(Lumericalを操作するうえでの注意点をまとめたもの)で解析実行のためのガイドラインを確認してます。
次に、LumericalでFDTD解析を実行するするPythonコードを作成し、execute_python_codeを使って実行しました。

Pythonコードを見やすくすると以下の通り。

fdtd = _lum_get("fdtd_main")

fdtd.save(save_path)
fdtd.run()

_lum_print_json({
    "stage": "run_complete",
    "ok": True,
    "save_path": save_path,
    "available_results": fdtd.getresult()
})
  • _lum_get("fdtd_main") : セッション取得
  • fdtd.save(save_path) : FSP保存
  • fdtd.run() : シミュレーション実行
  • fdtd.getresult() : 利用可能な結果一覧取得
  • _lum_print_json(...) : MCPへJSON返却

なお、シミュレーション中はLumerical側で進捗を確認できます。

シミュレーション完了、結果分析

しばらく待つと、計算完了。

すかさず、結果の数値確認です。

img2-2.png

人間は解析結果をピークや平均などの代表値、グラフやチャートで確認しますが、AIは数値そのものを直接チェックします。

はい、分析結果がレポートされました。

img2-3.png

ちなみに、ここまででだいたい5分。セッション立ち上げ→モデリング→FDTD解析→結果分析→レポート、と全部やって、この時間です。

分析レポートを見てみる

以下はAIからのレポート原文です。実際にはマークダウン記法のプレーンテキストでしたが、それだと読みづらいため、整形はしました。


FDTDを実行し、input_portからTE基本モードを入射したときの上側・下側出力透過率を解析しました。

結果ファイルは以下に保存済みです。

C:\XXX\y_branch_1600nm.fsp

1. 1.60 µm付近の結果

実際のサンプル点は 1.60044 µm でした。

項目 結果
上側出力透過率 0.4489
下側出力透過率 0.4489
合計出力透過率 0.8977
上側出力 -3.479 dB
下側出力 -3.479 dB
合計過剰損失 0.469 dB
反射 S11 0.00218
反射 S11 -26.6 dB
上下分岐比 49.99997 : 50.00003
上下不均衡 約0.000005 dB

2. 結果の解釈

かなり理想的な 50:50 Y分岐 になっています。
上側・下側の透過率がほぼ完全に一致しており、分岐対称性は非常に良好です。

一方で、合計出力透過率は約 89.8% なので、入力パワーのうち約 10.2% が上側・下側の基本モード出力としては回収されていません。

これは主に以下の成分と考えられます。

  • 分岐部での放射損失
  • 高次モードや非導波モードへの散乱
  • PMLへ抜ける放射成分
  • メッシュ粗さによる数値誤差
  • ポート位置・ポートモードとのミスマッチ

反射は -26.6 dB と十分小さいため、問題の大部分は入力側への反射ではなく、分岐部での放射・モード変換損失です。

3. 波長範囲1.55~1.65 µmでの傾向

項目 最小 最大 平均
上側透過率 0.4401 0.4582 0.4490
下側透過率 0.4401 0.4582 0.4490
合計透過率 0.8802 0.9165 0.8981
過剰損失 0.379 dB 0.554 dB 0.467 dB
反射 -33.5 dB -26.4 dB -29.0 dB
上下不均衡 ほぼ0 dB ほぼ0 dB ほぼ0 dB

波長が長い側、特に 1.65 µm 付近では合計透過率が高く、
1.55 µm 側ではやや損失が増えています。

サンプル点で見ると、以下のとおりです。

波長 合計透過率 過剰損失 反射
1.650 µm 0.9165 0.379 dB -32.5 dB
1.629 µm 0.9099 0.410 dB -31.4 dB
1.608 µm 0.9012 0.452 dB -27.3 dB
1.589 µm 0.8931 0.491 dB -26.5 dB
1.569 µm 0.8875 0.518 dB -28.3 dB
1.550 µm 0.8802 0.554 dB -28.5 dB

4. 評価

今回の初期モデルとしてはかなり良いです。

  • 分岐比:非常に良い
    → ほぼ完全な50:50
  • 反射:良い
    → -26 dB以下なので入力側反射は小さい
  • 損失:改善余地あり
    → 合計透過率が約90%、過剰損失が約0.47 dB

特に、今回のY分岐は「まかせる」という条件で作った簡易Sベンド型なので、形状最適化をしていません。
過剰損失を下げたい場合は、以下が有効です。

  1. 分岐長を長くする
    • 現在:10 µm
    • 例えば15~25 µmにすると、放射損失が下がりやすくなります。
  2. 分岐開始部にテーパを入れる
    • 急に2本に割れる形状より、徐々に広げる形状の方が低損失です。
  3. メッシュ精度を上げて収束確認
    • 現在:mesh accuracy = 2
    • 評価用には3、または局所mesh overrideを推奨します。
  4. Sパラメータsweepを使う
    • 今回はinput_portから入射した単発FDTDです。
    • 3ポート全体の完全なS行列が必要なら、S-parameter sweepを追加して3×3のS行列を取得できます。

結論

このY分岐は、50:50分岐器としては対称性が非常に良く、反射も小さいです。
ただし、過剰損失が約0.47 dBあるため、低損失設計にしたい場合は、分岐長延長・テーパ化・メッシュ収束確認を行うのが次のステップです。


いかがでしょうか??フォトニクス解析についてご存じない方には、良し悪しを判定しづらいかもしれませんが。。

結果の解釈として、透過率低下の原因候補をリストアップしてくれています。
波長範囲の傾向も説明しています。「ほぼ0dB」という表現は普通の数値計算の結果では出てきませんよねー。
最後にまとめとして評価してくれて、損失を下げる方法についても提案がありました。

AIでLumericalを操作する意味

今までのセッション起動、モデリング、設定、解析実行は、自分でスクリプトを組めば自動化はできると思います。
スクリプトであれば、厳密に処理を実行してくれます。何回実行しても全く同じ処理が行われます。

生成AIはアルゴリズム上、出力するテキスト(今回であればLumericalを操作するコマンド)が毎回変化します。
代わりに、ふわっとした指示でも、不足している情報を自分で勝手に補って、"いい感じ"に実行してくれます。

また、結果の分析や原因候補リストアップ、モデルの改善方法についてのレポートは生成AIならではのアウトプットです。しかも自然文で出してくる。

ただし、これはあくまでもAIによる解析結果の解釈です。

AIが提示した原因が本当に支配的なのか、モデルや結果を見ただけで断定できない場合ばあります。改善案についても、実際にモデルを変更して再解析し、結果を比較する必要があります。

AIは解析者の代わりに正解を出すというより、確認すべき項目や次の検討案を提示してくれる存在として使うのがよさそうです。今は。

さぁ、次は少し難しい事例にトライしてもらおう♪
つづく。

お問い合わせ

フォトニクス解析ソフトウェアAnsys Lumericalをはじめ、光学シミュレーションソフトの導入や技術相談、設計解析委託をお考えの方はサイバネットにお問合せください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?