• 締切済み

離散化手法について

質問よろしくお願いいたします。 数値解析における離散化手法のFEM、FVM、FDMそれぞれ長所短所を教えてください。(他にも手法がありますが今回は上記3手法に限定させてください。) 対象は流体になります。 ○○○法は精度が良い等とよく耳にしますが、「同一格子数において」や「同一計算時間において」等の前提条件があいまいで、結局同じ土俵でどれがどう良いのか不明です。 また、大学教授や博士の方とも何人かお付き合いさせていただいておりますが、いろいろ試して○○○法がベストと判断した方とはお会いしたことが無く、学生時代に入った研究室が○○○法だったからとか、先駆者が○○○法だったなどの理由が正直なところのようです。 自分は○○だから○○○法を選ぶ等の回答も歓迎いたします。

みんなの回答

noname#221368
noname#221368
回答No.3

 精度に関して定量的な話は、やはり難しいです(現在、数値解析専門でないので)。でも定性的に見た場合でも、消去法による選択は可能と思います。  ・離散化を考える時には、空間方向と時間方向を分けて考えた方がいい気がします。  ・この前の参考URLを参考にしてます。 (1)空間方向の離散化  まずFVMとFDMですが、FVMは領域型解法,FDMは点型の解法であるはずです。ふつう領域型の解は、個々のメッシュの最良平均近似なので、点型解法より挙動がおとなしいはずです。逆に局所的に急峻な変化を解析したい時は、点型の方が現象に良く追随します。でも解の発散は見たくないので、メッシュが十分細い事を前提に、領域型を使いたい気がします。  FEMも領域型です。FVMとの違いは、解析する物理量の選び方です。FVMは保存則の釣り合いをとるので、変位や力の釣り合いを直接とるFEMよりも流体向きであり、この点が原因で、数値的には格段の差の出る可能性はあると思います。  例えばFEMで、条件として課したエネルギー保存則を数値的に守らせるのは、けっこう難しいんですよね。桁落ち誤差の累積などで。特に無減衰の力学系を扱うと、たやすく解が発散します。このとき保存則の重要性に気づき、アルゴリズム自体が保存則を保証するものはないか?、と思いました。(2)で書きますが、それはありました。そういう意味で、保存則の釣り合いをとるFVMは、解の安定性や定性的正しさにおいて有利そうです。  メッシュについてですが、FVMもFEMと同様に、任意形状の高次要素を使えるそうですね。 >FVMとFDMはメッシュが同じ場合、同程度の精度に・・・  これはそうなるらしいですね。 (2)時間方向の離散化  時間積分は、時間方向でBEMでも使わない限り、ふつうはみな差分計算です。参考URLによれば、何の手も打たない時間差分は不安定だとあります。対策は上流差分化となってます。  上流差分はもともとFDMのもので、FEMには適用しずらく、FVMに適用しやすいとなっています。結果として、ここでも保存則が守られます。  無減衰の力学系を扱ったとき、シンプレティック積分法というのを知りました。これは近似エネルギー曲面上の解が保証される方法で、非常に強力なので驚きました。保存則って大事だと思いました。  そういうわけで定性的に判断するなら、流体には、高次要素を使い、上流差分を適用したFVMを用いたくなります。

noname#221368
noname#221368
回答No.2

 FVMって知らなかったのですが、ざっとGoogleしてみたら、最初は0次要素(定数要素)を用いたFEMのように見えました。実際、非ガラーキン重みを用いたFEMだとか、ガラーキン型のFEMとFVMは等価だと言っている文献も散見しました(主に構造解析分野)。けれど、次の点は違うようですね。 (1)保存則の釣り合いを定式化する  FEMでは直説法主流で、まさに直接、変位と力の釣り合いを定式化しますが、保存則の釣り合いを定式化すれば、確かに流体には相性が良さそうに思えます。 (2)上流差分の適用が容易  昔、構造-FEM,無限遠までの流体-BEM で連成解析を行ったときに、仮想境界として設けた有限距離の境界の透過境界条件をどうするかで悩んだおぼえがあります。このとき上流差分が有効という話を読みましたが、確かにその適用は難しそうでした。結局、仮想境界以降は級数解という姑息な手段に訴えたのですが・・・。  参考URL(ちょっと分野は違いますが)によると、上流差分の使い道は透過境界条件だけでなく、数値スキームに関するもっと基本的な事柄のようで、どうやらこれが FVM の要になると読めました。  各手法の精度は、「頑張れば」みな同程度のようですね。透過境界条件で悩んでいた頃、造船工学の論文集で、透過境界条件に関する特集とレヴュー論文があり、概観を得る上でとても参考になりました。例えば「上流差分」に関して流体関係の論文集で、そういう特集やレヴューを探すのも、一つの手かなと思いました。  もと数値計算屋としての漠然としたイメージでした・・・。

参考URL:
http://www.nict.go.jp/publication/CRL_News/back_number/182/182.htm
spspsp00n
質問者

補足

ご回答ありがとうございました。 冒頭の段落にご回答いただいたFVMとの比較は、まさに気になっていた所です。 確かに、本来空間内に連続分布する物理量を、FVMでは要素中心の値として(つまり0次近似)計算に用い、FEMでは形状関数を導入して要素を構成する各接点に振分け(1次近似)計算に用いる、という点を考えると根本の部分は同じと言えるようですね。 そうすると、同じメッシュを使う(要素のサイズが等しい)という条件の場合は、FEMがFVMよりも精度がよく、ただし接点ベースの計算につき計算時間がかかると言って良いでしょうか? さらにいうとFVMとFDMはメッシュが同じ場合、同程度の精度になりそうですが、いかがでしょうか? 追伸ですが、 構造FEM、流体BEMで透過境界という事は、音波か電磁波かの圧縮性流体計算でしょうか? わたしも圧縮性流体の計算をしてまして、透過境界をPML(パーフェクトマッチングレイヤー)という方法で処理しています。 この方法は、境界外に仮想のメッシュを数層設け、その中でのみ減衰を作用させ、エネルギーを散逸させることで、境界での反射を無くす方法です。 頑張ればどれも同じ、と言われればそのとおりかもしれませんが、その場合、どれを採用しようかと思案するようなケースは希で、研究室がそうだったからや、指導者がFVMだったからなどの環境面が手法を決めるのでしょうか...

  • masa2211
  • ベストアンサー率43% (178/411)
回答No.1

こちらによると、「精度に関してはどれでもおなじようなもの。」 http://accc.riken.jp/hpc/HimenoPresen/0118_differentialequations.pdf また、離散化のときの式のとりかた(たとえば、陽解法なのか陰解法なのか、低次なのか高次なのか。)の違いは、格子数とほぼ同等なくらいな精度変動要因です。 で、流体ということなので、これを不定流のことと解釈すると、 最も便利なのはFDM。 というのは、不定流の用途には、「堤防が決壊したとき、どにが、どれだけの深さで水没するか。そしてどれくらいの被害が出るか」 というのがあります。 まずは相当広範囲の標高データを集めなければならないのだけど、 格子データでいいなら全国が数値化済みだし、人口や家屋数も格子データなら整理済み。 FEMだと、現実の地形に合わせたメッシュが組めるのですが、データを集めるのがあまりにも面倒。 (標高データだけでは足らない。最終的には、人口や家屋数まで必要なことに注意。) 一方、同じ流体でも地下水の挙動ではFEMです。 今度は、砂利層、粘土層などの差が問題となりますが、実際の地層は 格子状に分布している筈ないので、FDMでは現実の地層に係数を あわせるためには格子を細かくしないと現実から乖離するのに対し、 FEMなら、要素の形状は自由(格子に比べれば)なので、現実の地層にあわせた 要素が組め、少ない要素でもそれなりの精度が出ます。 ※手法による精度云々を論議する場合、解析解がわかる状態で論議し、現実にあわせられるか、は度外視されるのが通常。  ですが、現実にあわせたパラメータを作れるかは、最終計算精度に 大きく関連する。 あと、離散化手法以前の問題として、「何と何を隣接格子間で保持するか」というのがあります。 流体力学の場合、 移動した流体の体積は絶対。 流体の運動エネルギーは、(特に洪水氾濫のような場合)すっぽかしても大した影響がなかったりします。 ですので、低平地タンク(FVM?)で解く場合、運動エネルギー伝播はすっぽかします。 結論。 計算精度とか計算時間は、「必要な範囲にあればよい」のであって、 あまり細かいことを気にしても意味ないです。

spspsp00n
質問者

補足

ご回答ならびにリンクありがとうございます。お礼申し上げます。 リンク拝見しましたが資料だけでは3手法の精度が同じ様なものと結論される理由がよくわかりませんでした。よろしければご解説願えませんでしょうか? ご指摘の通り計算精度、時間は計算者要求レベルの問題であり、「必要な範囲にあればよい」わけですが、それを実現しうる適した、またはより有利な手法を知りたいのです。また自分が採用する離散化手法について、採用理由を聞かれたときに返答に窮する状況は避けたいのです。 例えばFEMを採用するとして、非構造格子が採用できるからという動機は良く耳にしますが、FVMも非構造格子に対応できます。よってこの返答では必要十分な答えではありません。 各手法の長短所を理解していないと手法を選択できないはずですが、そのあたりの事を論じた文献を見つけ出せていないので困っています。 また精度の議論は何かの基準が必要ですので、時間積分方法、時空間離散化精度は同じと言う条件での議論になろうかと思います。 もし、離散化方法とマッチングの良い上記条件などがあれば、そういった情報もありがたく存じます。 ご回答ありがとうございました。

関連するQ&A