• ベストアンサー

差分法による数値解析でヤコビアンによる座標変換がよくわかりません。

ヤコビアンによる座標変換のやり方について勉強しているのですが、計算格子のはじっこでヤコビアンが他と異なるのがなんでなのかよくわかりません。 詳しい方いらしたらわかりやすく説明してもらえないでしょうか?イメージをつかめる程度でもいいのでお願いします。 座標変換自体殆ど理解できておらず、何か理解するとっかかりができればと悪戦苦闘している状態です。

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

  • ベストアンサー
回答No.3

すみません。恥ずかしい変換ミスしてました。(変微分→偏微分) それから9つに場合分けするのは面倒だと考えるかも知れません。前進差分と後退差分だけやれば多分4つの場合分けで済むのですが、中央差分の方が精度が高いので出来れば中央差分を使いたいわけです。

その他の回答 (2)

回答No.2

数値微分を中央差分で取るか取らないかで場合分けされていると思います。 物理座標(x,y) から一般座標(xi, eta)への変換を考えます。格子には (1..M-1, 1..N-1)と番号が振ってあるものとします。ヤコビアンJは   1/J = x_{xi} * y_{eta} - x_{eta} * y{xi} なのですが、具体的な値を求める際には、右辺の変微分 x_{xi}, y_{eta}, x_{eta}, y_{xi} を数値的に評価する必要があります。一般座標は計算しやすいように取るので、ここではグリッドの間隔が 1 になるように取ってるものとします。 この時、例えば、(i,j)番目のグリッドの x の xi による変微分 x{i,j,xi}を求める時には、(i-1,j)と(i+1,j)のグリッドを用いて中央差分   x_{i,j, xi} = (x_{i + 1,j} - x{i - 1,j}) / (2Δxi) = 0.5 * (x_{i + 1,j} - x{i - 1,j}) で評価することが出来ます。しかし、グリッドの端の辺上の格子 (1,j) ですと、(0,j)なんて格子は定義されてないので上の式では計算できません。そのため、(1,j)と(2,j)の格子を用いて前進差分   x_{1,j, xi} = (x_{2,j} - x{1,j}) / (Δxi) = (x_{2,j} - x{1,j}) で評価することになります。同じようにグリッドの端の辺上の格子(M-1,j)では (M,j) なる点は定義されてませんので、後退差分   x_{M-1,j, xi} = (x_{M-1,j} - x{M-2,j}) / (Δxi) = (x_{M-1,j} - x{M-2,j}) で求めます。つまり xi で微分する際には端の二辺で中央差分が使えませんので前進差分と後退差分の場合分けが必要です。 これは eta で微分する際も同じで、端の二辺で中央差分が使えず、場合分けをする必要がります。これが四隅ですと xi でも eta でも場合わけが必要となります。したがって、四隅と四辺とそれ以外の9つの場合分けが必要です。 >ヤコビアンの式が >角の4点、上下左右の端の4線、その他の9つに >場合わけされて定義されています。 以上が現状で思いつくことなのですがよろしいでしょうか?

masa2-1
質問者

お礼

ありがとうございます.おかげさまでイメージはちょっとわかってきました.まんなかは中心差分で計算しているようですが,境界では2次精度で前進,後退差分を しているようだということがわかりました. 中心差分も前進,後退差分も知ってはいたのですが, 教えていただくまでは気づきませんでした. 助かりました.

回答No.1

>計算格子のはじっこでヤコビアンが他と異なるのがなんでなのかよくわかりません。 ヤコビアンが他と異なるのがどういうことなのか、具体的に教えてください。例えば、数式の形がはじっこだけで違うのか、それとも数値が他とかけ離れているのかとか。 ヤコビアンは座標変換する際に出てくるものですから、変換前の座標がよほど規則的にでも配置されていない限り、それぞれの格子における値は異なって当然なのですが、だからと言ってはじっこで特に異なるのは不思議です。

masa2-1
質問者

補足

回答ありがとうございます。 説明が至らなかったようで申し訳ありません。 数式の形が違います。いまやっているのは 20*20の計算格子なのですが、ヤコビアンの式が 角の4点、上下左右の端の4線、その他の9つに 場合わけされて定義されています。これがどういうことなのかがぴんとこないのです。 これで理解していただけたでしょうか? そうでなければ更に補足しますので。

関連するQ&A