Pythonを使った光電磁場解析

Pythonを使った光電磁場解析

Pythonを使ったナノ構造物質の光電磁場解析の教科書。FDTD法,RCWA法,DDA法を取り上げ,プログラムは全て掲載。

ジャンル
発行年月日
2019/08/08
判型
A5
ページ数
304ページ
ISBN
978-4-339-00926-2
Pythonを使った光電磁場解析
在庫あり

定価

4,730(本体4,300円+税)

カートに入れる

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • 著者紹介
  • 広告掲載情報

Pythonを使った,ナノ構造物質の光電磁場解析のための教科書。球,円柱,回転楕円球などを経て,複雑な形状の非解析的計算にまで言及する。FDTD法,RCWA法,DDA法の三つを取り上げ,プログラムはすべて掲載した。

微小な構造をもつ物質の光学応答を議論する際には,しばしば電磁場解析が必要となる。その原理は光学の教科書に記されているが,実際にそれを計算したり,可視化する際には,多くの場合に計算機を用いる必要がある。この計算には,これまでFortranやBASIC,C言語が用いられてきたが,プログラミングに慣れるまでは相当の時間を要していた。Mathematicaを用いた電磁場解析は,見通しのよいプログラミングが可能であり,少ない労力で多くの知見を与えてくれるが,高価なソフトウエアであり,誰もが利用できるわけではない。

本書で用いるコンピュータ言語であるPythonは,プログラムコードの記述性がよく,誰でも見通しのよいプログラムを書くことができる(ことになっている)。また,科学技術計算用のさまざまな関数や解析結果の可視化のためのツールなど,多くのライブラリーが充実しており,利用することができる。また,機械学習や統計の分野でも広く用いられているため,インターネット上には情報が豊富に存在する。そして,多くの場合には十分な計算速度を提供してくれる。著者らのようなプログラミングの専門家ではないが,光学実験の解釈や光学構造の設計において,計算機の利用が必要な研究者には適した言語である。そしてなによりも,オープンソースであり,さまざまなプラットフォームで—LinuxでもWindowsでも,そしてMac OSでも—無料で自由に用いることができる。

本書では,Pythonを使ったプログラム例を挙げながら,微小な構造や系の光学応答を計算したり,可視化する手法について述べた。言語の仕様を知ることから実際にプログラミングすることの間に生じる「隙間」を埋めることを目的とした。掲載したプログラム例は最適なものではないかもしれないが,背景にある電磁界解析をわかりやすく解説して,それをプログラムに翻訳し,実際の研究現場で役に立つ内容にしたつもりである。

解析的な計算に関する部分である1~4章と7章は梶川が,数値計算に関する部分である5章と6章を岡本が担当した。解析的な計算も数値計算もそれぞれ長所と短所があり,場合によって使い分けることが重要である。今後,本書を基にこの分野で新しい知見が得られることを期待したい。

なお,Python にはバージョン2とバージョン3があるが,本書に掲載したプログラムはすべてバージョン3に準拠している。また,プログラムコードはコロナ社Webページの本書の紹介ページである,以下のURL からダウンロードできる(プログラムの使用については各自の責任で行うこと)。

2019年6月 梶川浩太郎,岡本隆之

1. 反射率や透過率の計算
1.1 電磁波としての光
1.2 反射と屈折
1.3 薄膜の反射と透過
1.4 等方性媒質の伝搬行列法
1.5 異方性媒質の伝搬行列法
 1.5.1 固有伝搬モードと境界条件
 1.5.2 異方性媒質の伝搬行列法
 1.5.3 応用例(ハイパボリックメタマテリアル)
引用・参考文献

2. 球の電磁場解析
2.1 理論
 2.1.1 長波長近似
 2.1.2 遅延を取り入れた球の計算
 2.1.3 コアシェル構造(遅延を考えない場合)
 2.1.4 コアシェル構造(遅延を考える場合)
2.2 プログラミング
 2.2.1 長波長近似
 2.2.2 遅延を考えた球の計算
 2.2.3 コアシェル構造
引用・参考文献

3. 円柱の電磁場解析
3.1 長波長近似
3.2 遅延を取り入れた計算
 3.2.1 円柱構造
 3.2.2 コアシェル構造
3.3 プログラミング
 3.3.1 円柱構造
 3.3.2 コアシェル構造
引用・参考文献

4. その他の形状の解析的な計算
4.1 回転楕円体
4.2 基板上の球
4.3 2連球
4.4 基板上の切断球
引用・参考文献

5. RCWA(厳密結合波解析)法
5.1 基本理論
 5.1.1 TE偏光の場合
 5.1.2 TM偏光の場合
 5.1.3 正しいフーリエ級数表記
5.2 S行列法
 5.2.1 T行列,S行列,R行列
 5.2.2 S行列法
 5.2.3 T行列を経由しない方法
 5.2.4 入射場,反射場,透過場との関係
 5.2.5 格子領域における場
 5.2.6 S行列の入射側からの再帰的計算法
5.3 2次元格子
 5.3.1 直交座標系における2次元格子
 5.3.2 収束性の向上
 5.3.3 斜交座標系における2次元格子
5.4 RCWA法の限界
5.5 プログラムコードの例
引用・参考文献

6. FDTD法
6.1 離散化と時間発展
 6.1.1 計算機上では
 6.1.2 セルサイズと時間ステップ
 6.1.3 物体のYee格子への配置
 6.1.4 完全電気導体と完全磁気導体
 6.1.5 系の対称性を用いた計算量の低減
6.2 分散性媒質
 6.2.1 ドルーデ分散
 6.2.2 ローレンツ分散
6.3 PML吸収境界
 6.3.1 Split-Field PM
 6.3.2 Un-Split PML
 6.3.3 CPML
 6.3.4 PMLにおけるパラメータ
6.4 波源
 6.4.1 双極子波源
 6.4.2 TF/SF法
 6.4.3 TF/SF境界を分散性媒質が横切る場合
 6.4.4 数値分散の影響
 6.4.5 斜入射平面波
 6.4.6 励振波形
 6.4.7 周波数解析
 6.4.8 周期境界の下での斜入射
6.5 近接場から遠方場への変換
6.6 後計算
 6.6.1 散乱,吸収,消衰断面積
 6.6.2 吸収分布
 6.6.3 電荷密度分布
 6.6.4 緩和調和振動の振幅と位相
6.7 局在表面プラズモン共鳴の計算例
6.8 サンプルプログラム
引用・参考文献

7. DDA(離散双極子近似)
7.1 DDAの原理
7.2 DDSCATの使い方の実際
7.3 DDSCATのためのプログラム
引用・参考文献

付録
A.1 表面プラズモン共鳴のプログラム
A.2 多層EMAの計算プログラム
A.3 2連球の光学応答の計算プログラム
A.4 切断球の光学応答の計算プログラム
A.5 RCWA法の計算プログラム
A.6 FDTD法の計算プログラム
A.7 形状を可視化するプログラム(DDSCAT用)

索引

岡本 隆之(オカモト タカユキ)

掲載日:2019/11/05

日刊工業新聞広告掲載(10月31日)

掲載日:2019/10/01

電子情報通信学会誌2019年10月号広告