• 締切済み

有限要素法の計算量のオーダーについて

有限要素法を勉強しています。 そこで、自由度nの問題について、「要素剛性行列の評価と全体剛性行列への足し込み」の一般的な計算量のオーダーと「CG法での連立方程式の反復解法」の計算量のオーダーを教えてください。 素人質問で申し訳ありませんが、よろしくお願いします。

みんなの回答

  • px1949
  • ベストアンサー率57% (15/26)
回答No.1

計算量のオーダーとは、どのような量で表現されることを期待していらっしゃるのでしょうか? 漠然とした質問のため、誰も答えられないと思います。 「要素剛性行列の評価と全体剛性行列への足し込み」と一口におっしゃっても、2次元の3角形1次要素と、3次元の20節点2次要素とでは、計算量が数十倍違ってきます。 後者では、積分点をいくつとるかによっても違ってきます。 有限要素法の勉強をなさっておいででしたら、ご自分で、使用要素に対して、加減乗除の回数を見積もることができるはずです。 回答者側も同じことをしなければならないのですから、ご自分でなさってみてはいかがでしょうか? 「CG法での連立方程式の反復解法」の計算量については、収束に至る反復回数を何回と見積もるかにもよりますが、それさえ仮定すれば、加減乗除の回数はアルゴリズムから計算できてしまいます。 反復法の場合、全体剛性行列を組み立てなくても、要素剛性行列の集合で演算ができてしまいます。 演算回数は多少増えますが、全体剛性行列の組み立て過程を省略できるメリットは大きいと思います。

関連するQ&A

  • 有限要素法 FEMについて

    有限要素の変位法についての質問です。 有限要素の変位法で応力を求める場合 どのような順序で計算されるのでしょうか? このような順序であってますか?よろしくおねがいします。 (1)各メッシュの剛性を求める (2)各メッシュの剛性をモデル全体と重なり合わせて、モデル全体の剛性を求める (3)拘束条件及び荷重条件を入力して、モデル全体の変位を求める (4)モデル全体の変位量を各要素に展開して、各節点の変位を求める (5)節点の変位量を使い、要素の歪量、応力値を求める。

  • 有限要素法解析(剛性、質量マトリックス)

    突然失礼します。 今現在、有限要素法を用いた構造物の解析をしていまして、 2次元から3次元のほうに急に移行しなくてはならなくなりました。 運動方程式にある、剛性マトリックスと質量マトリックスは 2次元の場合だと、1つの要素について6*6行列だったんですが、 3次元の場合だと、1つの要素について12*12行列にしなくてはならないみたいです。 しかしながら、これらの3次元要素の式を探そうと必死に探せど 全くその式が出てきません。 また、変換行列も必要です。。。 もしあればその式の転用先を教えていただけないでしょうか? また本に関しての情報も宜しくお願いします(あれば) 非常に困っています。。。何卒宜しくお願いします。

  • 有限要素法における分布荷重

    骨組み構造の有限要素法について勉強しているのですが、 分布荷重を受けた際の荷重の処理、剛性方程式の処理が よくわかりません。 ↓↓↓↓↓↓↓↓ |ーーーーーーーピン |2      3     | | |1 数字は節点番号 ピン 上のような構造物の場合、荷重はどのように処理し、 また剛性方程式はどのように立てればよいのか教えてください。

  • 物理シミュレーションにおける有限要素法について

    物理シミュレーション技法に有限要素法というものがあります。私は有限差分法とか境界要素法でのプログラミングの経験はありますが、有限要素法はありません。勉強中です。 そこで1つ教えて頂きたいことがあります。方程式に加速度項がある、すなわち動的な問題を考えています。加速度項はすなわち、質量×加速度=力ということで、質量と関連しています。 そこで、加速度項には質量行列というものができます。(このあたりは込み入っているので原理を理解している方・経験者の方への質問となりますが) この質量行列は対称行列になりますが、対角行列ではありません。ところが、突然その質量行列を対称行列に変えて(質量集中行列という)それを使って計算するという風になってしまいます。 えっ?何故?と問いたくなりますが、経験的にそれでよい、場合によってはその方がいい結果が出るなどと説明されています(説明ではなく説得)。ネットに出ている資料では有限要素法は経験学問であり、実績としてそれがいい結果を出しているなどと書いているのです。対角行列の方が取り扱いが簡単になり、結果が早いだろうというのは想像できます。メモリも大量に必要ないですし。対角行列だったらすでに行列計算の必要はなく、ちょっとした割り算で答えが出てしまいます。 このようなこと(対角行列での置き換え)が可能なことを何らかの演繹的な説明なしに受け入れるのは難しい感じがします。どのように理解すればいいのでしょうか。こだわりがないとラクになるのですが、変だなと思って先に進むのをためらっています。システム全体の対角化だったら分かりますが、質量行列だけ対角化したものを使うということです。 少し調べると、”それ(質量集中行列化)が問題だから、このような(いろいろテクニックを駆使)工夫をした”、というような文献も出てきます。私は質量集中行列化はFEMの原理を理解する上で大いに問題だと思っているのですが。 込み入った質問で申し訳ありませんが、回答をよろしくお願いします。

  • 連立一次方程式を解くプログラムについて

    数値計算の本を見たら必ず載っている連立1次方程式の解法ですが、どのようなタイプの行列でも解くことができるものにはどのような解法があるでしょうか。もちろん、解くことができる範囲でということではあります。その意味でガウスの消去法(ピボット付)になるでしょうか。ガウスの消去法は解き方に基本的な制約はないですね。一方、共役勾配法の説明を見ると"対称正定値行列の場合、..."となっており、その範囲でしか考えていないということでしょうか。そうなるとかなり絞られることになってしまいます。任意の行列は変換して対称正定値に変換できる、ということでもないと思いますが。 有限要素法に関連した連立方程式解法についても書籍1冊分の解説とかありそうですが。高速化のために長い解説があったとしても前提によって使える範囲が狭いものが多いように思えるのですが。よろしくお願いします。

  • 有限要素法 数式の展開1

    有限要素法について勉強している者です。 一番下の左式(3.3)と、右(3.4)式の連立を計算すれば 渦電流問題の解析が可能になるそうですが、 どのように計算すればよいか、わからないので ご教示お願い致します。

  • 要素分割された要素の並び替え

     実際は三次元で行うのですが(自分でプログラムを作成しようと考えています)、二次元でも考え方は同じだと思いますので二次元で質問させていただきます。  有限要素法で円形領域を三角形要素で要素分割して計算を行う場合、計算速度やメモリ領域を考慮して要素の並び替え(バンドマトリクスのバンド幅を狭めるため)を行うと思います。(この場合、要素と節点は既にファイルとして与えられているとします)  これは、有限要素法で解く連立方程式をAX=Bとした場合、対称行列Aの対角成分に行列成分を集めることに相当すると思います。  その場合の要素の並び替えの方法を教えてください。 四角形領域を四角形要素で分割した場合は四角の1辺(例えばX軸方向)に沿って並べ、その行が終われば次の行(Y軸方向)から並べるようにすればよいと思うのですが...。(下図参照)    ----→    ----→    ----→             ----→    ----→  書籍、WEB情報でも結構ですのでよろしくお願い致します。

  • 有限要素法解析について

    有限要素法では、線膨張係数をどのような計算によって考慮しているのですか? 線膨張係数に温度変化をかけて、歪みが求められると思うのですが、それから ε=〔B〕u という関係から変位をもとめて、仮想仕事の原理より求めた剛性マトリックス〔K〕をつかって F=〔K〕u の関係が全体を満たすように計算しているのでしょうか? 間違いのご指摘、正答の提示、なんでもかまいません。 どなたかご返答をお願い致します。

  • m-ブロック法 オーダ表現

    要素数nの配列に対する,m-ブロック法による探索の計算量を考えたとき、 ブロック数をm=√nとしたら計算量はO(√n) ってことはわかるんですが、 ブロック数をm=3としたら計算量のオーダ表現はどうなるんですか? 教えてください。

  • 有限要素法での梁の解法

    こんばんわ。 片持ち梁の問題を解いていたところ、よくわからないところが出てきました。 調べたところ有限要素法で解くことが分かったのですが、 有限要素法の初心者なので、参考書を頼りにやってみても問題の誘導と解法が違い困っています。 どなたかご教示よろしくお願いします。 長さL、曲げ剛性EIの梁の左端Aに鉛直荷重V_A、反時計周りのモーメントT_A、右端Bに鉛直荷重V_Bと反時計周りのモーメントT_Bが作用している。 左端A、右端Bのたわみとたわみ角をそれぞれw_A、θ_A、w_B、θ_Bとし、w_B、θ_Bを以下の形で求めよ。 ただし、(1)式の第1項ははりの剛体変形を表し、第2項は弾性変形によって生じたものとする。 {w_B}=[* *]{w_A}+{Δw}  ─(1)式 {θ_B}=[* *]{θ_A}+{Δθ} 分かりにくくてすみません。上の式は行列表示です。 上下の括弧をひっつけて1行としてみてください。 ただし文の剛体変形、弾性変形にわけて考えているみたいですが、なぜ分ける必要があるのか、 というよりどうやって分けるのかも分かりません Δw、Δθの扱い方、算出の仕方、考え方、そのあたりでつまづいています。 すみませんが、よろしくお願いします。