SSブログ

FDTD実装 - その4「空間微分の差分化」 [考え中 - FDTD法の実装]

相撲で興奮してしまったがFDTD実装のための勉強を続ける。前回、時間微分だけを差分化したが、今回残りの空間微分の方をやってみる。3要素あるのでめんどう。だけどまあ、やりゃあいいだけ。

0519eq19.png

は、例えば、
0519eq20.png

などで差分化すると、
0519eq21.png

(すごくうるさい。LaTeXじゃなきゃ書く気もしない)となる。あってるよな。

この後すぐには式-13の差分式を書き下せない。そのためには時間でやったようにHEの空間側の添字を調整する必要がある。

式-13はHEのrotationのみが効いているので、式-21からもわかるようにHのその点でのEは効かず、周りのEが効くことになる。そこで一つの単位胞の面心にHが、その周りの辺の中点にEがくるようにする。この場合、一つの面心は二つの単位胞に含まれ、一つの辺は四つの単位胞に含まれる。平行な二つの面心のうち添字の大きい方をその単位胞に、小さい方をその一つ後ろの単位胞に含まれると考えると、一つの単位胞にはx,y,z成分各一つずつが含まれることになる。辺に配置した方も同様である。
0519fig1.png

このとき、どの成分をどの面心に配置するかは任意性、というか考え方の違いがある。 図-1に示すようにx成分をx-z平面に平行な面の面心に配置するような場合(面内に配置するやり方はあともう一通り)と、面に垂直に配置する場合の合計3通りが考えられる。この場合、面に垂直な成分が乗っていると考えると、面心を表す添字には必ず二つの半奇数が含まれる、例えば(i,j+1/2,k+1/2)のようになるので、半奇数のない添字iに対応する成分、すなわちx成分が対応するのでわかりやすい。同様に辺を表す添字には必ず一つの半奇数が含まれるので成分は半奇数を持つ添字に対応する成分を持つように配置する(従って辺に平行な成分がその辺に乗っていると考える)のがわかりやすい。

ここんとこはわかりやすさの問題、考え方の違いだけで、数値的な安定性などは変わらないと思っているが、本当のところはちゃんと考えた訳ではないのでよくわからない。専門家の話も聞きたいところ。

とりあえずそのわかりやすい配置を選んだとして、例えば式-13のx成分は
0519eq22.png

となる。

同様に、y、z成分は
0519eq23.png


全く同様に式-18もやってみると、こっちは元の式がさらにうるさいけどEHの位置が単位胞内で式-22~24と同じになるように
0519eq25.png

ここでうるさいので係数部分を以下のようにまとめている。
0519eq28.png

定式化はこれでおしまい。これをループで回せるようにコーディングすれば計算のキモの部分は出来上がり。でも、あってるよなあ、これ。自信無い。一晩経つと何が書いてあるのかわからなくなる。

ところで、長い式がはみ出すのでスクロールするようにしたけど、読み辛いなあ。やっぱり全体が一度に目に入らないと何が書いてあるかわからない。
なんとかならんかな、これ。
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。