電子書籍の厳選無料作品が豊富!

境界要素法(BEM)による電磁場計算の際の発散?状のちらつきの問題
困っています。よろしければ、どなたか解決のアイディアを教えていただけませんか。

必要に迫られて、電磁場のシミュレーションをする事になったのですが、
自分はシミュレーションの専門家ではないので、詳しい事が分からず困っています。

具体的には、添付画像の様に、
直径1マイクロメートルの完全導体球(メッシュの大きさは約50ナノメートル)に、左側から右側へ、波長11マイクロメートルの平面波の光を当て、電場の|E_z|^2分布を見ると、境界付近での発散?のような、ちらつきが起きます。このちらつきをなくして、滑らかな電場分布を得たいのですが、何が原因でちらつきが起きているのか分からなく、困っています。

cassandra という、無料で公開されていた(今は公開されていない?)ソフトを使用しました。
コードをコンパイルして、linux 上で実行しています。

これまでに試した事についてまとめます
1.メッシュを大きく(100ナノメートル以上)すると、ちらつきが消える。
2.イテレーション回数を増やして、収束しているか判定する為のrelResNormという値を小さくしても、まだちらつきが現れる(添付画像はrelResNorm=2.664e-05)
3.ソフトは、モーメント法及び、FMM(高速多重極展開)に対応しているらしいのだが、どちらで試してもちらつきが現れる

問題解決の為に、他に必要な情報等ありましたら、教えてください。
よろしくお願いします。

「境界要素法(BEM)による電磁場計算の際」の質問画像

A 回答 (3件)

ん~、画像が添付できません。


↓のような図です。■の部分が#2でいうOです。

    □
 □□□□□
A□□□□□
□□□■□□□
 □□□□□
 □□□□□
    □
    • good
    • 0
この回答へのお礼

eatern27様、

あの後も何度かシミュレーターを走らせて調査してみましたが、
ちらつきの原因は、結局よくわかりませんでした。
おっしゃるように、荒いメッシュで我慢しようと思います。

3度も回答して頂いて、ありがとうございました。

お礼日時:2010/02/23 12:15

実際どうなのか分りませんが、例えばポアソン方程式を解いて静電場を求めたい場合であれば、導体表面に平行方向の電場がゼロ(電場が導体表面に垂直な方向を向いている)という境界条件になります。


※波長に比べて導体球が小さいので少なくとも近似的にはご質問の系でもこの境界条件が成り立つはずです。

添付図の→方向をx軸、↑方向をy軸とします。

例えば図のAのメッシュにおける電場を考えた場合、本来の境界条件は電場がOA方向を向いているという境界条件となります。
しかしもともとが球だという事を考慮していなければ、Aの下の面の境界条件からはy方向、右の面の境界条件からはx方向に電場が向いている事になるので、結局Aで電場がどっちを向けばいいのか分らなくなりますよね。

こういう効果はメッシュを細かくする事で消えるものではありません。むしろ細かくすればするほど、こういう効果が起こるメッシュの数自体は増えていく訳で、メッシュを細かくする事でこの効果が消えるのかどうかは必ずしも自明ではないと思いますがいかがでしょうか。

いずれにせよ、そのソフトで動かせるパラメータが少なくて、パラメータをいじってもちらつきが消えないのであれば、
・粗いメッシュで我慢する
・ちらつきがあるのを我慢する
・別のソフトを使うor自分でプログラムを組む
くらいしか解決方法はないのでは。
    • good
    • 0

私も専門外ですので、適当に書いているだけです。



>何が原因でちらつきが起きているのか分からなく、困っています。
ちらつき方を見た感じでは、メッシュに分けているせいで変な事が起こっていそうですね。

導体球とは言っても、メッシュに区切っている以上本当は「球」ではなくて立方体を積み木のように重ねた形になっているはずです。
すると、導体球の表面は滑らかではなく凸凹しているはずですが、導体球表面での境界条件はどう処理していますか?
    • good
    • 0
この回答へのお礼

eatern27様、
回答ありがとうございます。
私もちらつきのある箇所は、境界のメッシュと関係があると思います。(メッシュの角の部分なのか、中心部分なのかは分かりませんが)

形状に関しては、おっしゃる通り、メッシュで区切っている為に球ではなく多面体です。

メッシュの細かさを細かくするほど、多面体はより球に近い形状になるはずなのですが、メッシュの細かさを荒く(100ナノメートルのメッシュを使用)した方がちらつきが消える事から、表面の凸凹は原因では無いと考えています。

表面での境界条件の処理は、具体的な事は分かりません
(形状データをインプットするだけで、ソフトが自動的に処理するため。
形状データのインプット方法は、例えば中心座標、半径、メッシュの細かさの数値をインプットするだけで球のシミュレーションが出来ます。ソフトの中で、その値がどう処理されているのかは分かりません)

回答どうもありがとうございました、またアイディアがあれば教えてください。
よろしくお願いします。

お礼日時:2010/02/11 15:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!