FDTD実装 - その4「空間微分の差分化」 [考え中 - FDTD法の実装]
相撲で興奮してしまったがFDTD実装のための勉強を続ける。前回、時間微分だけを差分化したが、今回残りの空間微分の方をやってみる。3要素あるのでめんどう。だけどまあ、やりゃあいいだけ。
は、例えば、
などで差分化すると、
(すごくうるさい。LaTeXじゃなきゃ書く気もしない)となる。あってるよな。
この後すぐには式-13の差分式を書き下せない。そのためには時間でやったようにHとEの空間側の添字を調整する必要がある。
式-13はHにEのrotationのみが効いているので、式-21からもわかるようにHのその点でのEは効かず、周りのEが効くことになる。そこで一つの単位胞の面心にHが、その周りの辺の中点にEがくるようにする。この場合、一つの面心は二つの単位胞に含まれ、一つの辺は四つの単位胞に含まれる。平行な二つの面心のうち添字の大きい方をその単位胞に、小さい方をその一つ後ろの単位胞に含まれると考えると、一つの単位胞にはx,y,z成分各一つずつが含まれることになる。辺に配置した方も同様である。
このとき、どの成分をどの面心に配置するかは任意性、というか考え方の違いがある。 図-1に示すようにx成分をx-z平面に平行な面の面心に配置するような場合(面内に配置するやり方はあともう一通り)と、面に垂直に配置する場合の合計3通りが考えられる。この場合、面に垂直な成分が乗っていると考えると、面心を表す添字には必ず二つの半奇数が含まれる、例えば(i,j+1/2,k+1/2)のようになるので、半奇数のない添字iに対応する成分、すなわちx成分が対応するのでわかりやすい。同様に辺を表す添字には必ず一つの半奇数が含まれるので成分は半奇数を持つ添字に対応する成分を持つように配置する(従って辺に平行な成分がその辺に乗っていると考える)のがわかりやすい。
ここんとこはわかりやすさの問題、考え方の違いだけで、数値的な安定性などは変わらないと思っているが、本当のところはちゃんと考えた訳ではないのでよくわからない。専門家の話も聞きたいところ。
とりあえずそのわかりやすい配置を選んだとして、例えば式-13のx成分は
となる。
同様に、y、z成分は
全く同様に式-18もやってみると、こっちは元の式がさらにうるさいけどEとHの位置が単位胞内で式-22~24と同じになるように
ここでうるさいので係数部分を以下のようにまとめている。
定式化はこれでおしまい。これをループで回せるようにコーディングすれば計算のキモの部分は出来上がり。でも、あってるよなあ、これ。自信無い。一晩経つと何が書いてあるのかわからなくなる。
ところで、長い式がはみ出すのでスクロールするようにしたけど、読み辛いなあ。やっぱり全体が一度に目に入らないと何が書いてあるかわからない。
なんとかならんかな、これ。
は、例えば、
などで差分化すると、
(すごくうるさい。LaTeXじゃなきゃ書く気もしない)となる。あってるよな。
この後すぐには式-13の差分式を書き下せない。そのためには時間でやったようにHとEの空間側の添字を調整する必要がある。
式-13はHにEのrotationのみが効いているので、式-21からもわかるようにHのその点でのEは効かず、周りのEが効くことになる。そこで一つの単位胞の面心にHが、その周りの辺の中点にEがくるようにする。この場合、一つの面心は二つの単位胞に含まれ、一つの辺は四つの単位胞に含まれる。平行な二つの面心のうち添字の大きい方をその単位胞に、小さい方をその一つ後ろの単位胞に含まれると考えると、一つの単位胞にはx,y,z成分各一つずつが含まれることになる。辺に配置した方も同様である。
このとき、どの成分をどの面心に配置するかは任意性、というか考え方の違いがある。 図-1に示すようにx成分をx-z平面に平行な面の面心に配置するような場合(面内に配置するやり方はあともう一通り)と、面に垂直に配置する場合の合計3通りが考えられる。この場合、面に垂直な成分が乗っていると考えると、面心を表す添字には必ず二つの半奇数が含まれる、例えば(i,j+1/2,k+1/2)のようになるので、半奇数のない添字iに対応する成分、すなわちx成分が対応するのでわかりやすい。同様に辺を表す添字には必ず一つの半奇数が含まれるので成分は半奇数を持つ添字に対応する成分を持つように配置する(従って辺に平行な成分がその辺に乗っていると考える)のがわかりやすい。
ここんとこはわかりやすさの問題、考え方の違いだけで、数値的な安定性などは変わらないと思っているが、本当のところはちゃんと考えた訳ではないのでよくわからない。専門家の話も聞きたいところ。
とりあえずそのわかりやすい配置を選んだとして、例えば式-13のx成分は
となる。
同様に、y、z成分は
全く同様に式-18もやってみると、こっちは元の式がさらにうるさいけどEとHの位置が単位胞内で式-22~24と同じになるように
ここでうるさいので係数部分を以下のようにまとめている。
定式化はこれでおしまい。これをループで回せるようにコーディングすれば計算のキモの部分は出来上がり。でも、あってるよなあ、これ。自信無い。一晩経つと何が書いてあるのかわからなくなる。
ところで、長い式がはみ出すのでスクロールするようにしたけど、読み辛いなあ。やっぱり全体が一度に目に入らないと何が書いてあるかわからない。
なんとかならんかな、これ。
2008-05-20 23:20
nice!(0)
コメント(0)
トラックバック(0)
コメント 0