• ベストアンサー

FDTDにおけるPML吸収境界条件について

現在FDTDを用いた光導波路解析アプリケーションを作っているのですが、 吸収境界条件に用いたPMLがうまくいきません。 PMLの、解析領域と接している内側の四角から発散してしまいます。論文や参考書 をトレースして、なんども見直したりしたのですがどうもうまくいきません。 なお、PMLはYeeアルゴリズムを用いています。 どなたかご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • TCM
  • ベストアンサー率44% (81/181)
回答No.1

 困りましたねえ。ご質問の内容だけではどこに問題があるか判然としません。私の経験をもとに思いつくままに原因と思われることを書いてみますので、ご参考になさってください。 1.バグがある  インデクスの範囲指定に間違いがあって保持データを  破壊しているとか、PML領域内のσを与える際の距離の  とり方がおかしいとか。これはもう、asamakenさんの  努力に委ねるしかありません。 2.PMLの理解、離散化に間違いがある  これについては、何度も見直したということですから  大丈夫ですよね。 3.PML領域と通常領域の界面の処理に問題がある  界面における電磁界の値をPML処理と通常処理で交互  に上書きしていませんか?  ちなみに、私はPML(Yeeアルゴリズムです)、MURともに用いたことがありますが、ソルバはきちんと動作しています。うーん、これでは回答とは言い難いですね。申し訳ない。(^.^)

asamaken
質問者

お礼

 TCMさんの回答の3番についてもう一度見直したところ、Hの計算の際に 通常処理とPML処理とでダブって計算していました。その点を修正してみる と、見事に吸収することに成功しました。  TCMさん、どうもありがとうございました。またFDTDについての質問 をするかもしれないので、その時は良きアドバイスをお願いします。

asamaken
質問者

補足

TCMさん、ご回答ありがとうございました。 質問の内容が漠然としていて申し訳ありません。 いろいろ試してみたところ、垂直に入射する波は吸収できている のですが、斜めからの入射で発散しているようです。 僕が作っているのは2次元のTM波(Ez、Hx、Hy成分のみ)で、 PML層ではEzx、Ezyに分け、それぞれを計算した後に Ez=Ezx+Ezyとしています。僕がなにか勘違いをしているかも しれませんので、もう一度最初から見直してみるつもりです。 プログラムや式などの細かなものは、宇野亨さんの 「FDTD法による電磁界およびアンテナ解析」をかなり参考にしています。

すると、全ての回答が全文表示されます。

関連するQ&A