1 / 17

スカイライン法

スカイライン法. 2013 年 9 月 20 日 後 保範. 有限要素法の線形計算. 有限要素法離散化. 対称疎行列. 非対称疎行列. 直接解法. 反復 解法. 直接解法. 反復 解法. 対称帯行列 スカイライン法 スパースソルバ. 非 対称帯行列 スパースソルバ. 対称スカイライン行列の形( × ). この部分が 非ゼロになる. この形は 不可能. 対称スカイライン行列の形(○). この影響は 行列内だけ. 計算可能. 対称スカイライン行列の持ち方. IDX[k]: k 列の先頭行番号. データの 並び順. k.

felice
Download Presentation

スカイライン法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. スカイライン法 2013年9月20日 後 保範

  2. 有限要素法の線形計算 有限要素法離散化 対称疎行列 非対称疎行列 直接解法 反復解法 直接解法 反復解法 対称帯行列 スカイライン法 スパースソルバ 非対称帯行列 スパースソルバ

  3. 対称スカイライン行列の形(×) この部分が 非ゼロになる この形は 不可能

  4. 対称スカイライン行列の形(○) この影響は 行列内だけ 計算可能

  5. 対称スカイライン行列の持ち方 IDX[k]:k列の先頭行番号 データの 並び順 k A[PT[k]] : Kの対角要素

  6. 対称スカイライン行列の消去計算 Aの位置: PT[k]-k IDX[k] 内積で更新 i 内積で更新 i k Aの位置: PT[k]

  7. 対称スカイライン消去1(全体) for (k=1; k<n; k++) { KP = PT[k] – k; //密A[0][k]に対応位置 for (i=IDX[k]; i<k; i++) { i列によるk列の消去計算 } k列の正規化計算 }

  8. 対称スカイライン消去2(消去) JS = Math.max(IDX[k], IDX[i]); IP = PT[i] – i; S = 0.0; for (j=JS; j<i; j++) { S += A[IP+j]*A[KP+j]; } A[KP+i] -= S;

  9. 対称スカイライン消去3(正規化) S = 0.0; for (i=IDX[k]; i<k; i++) { Val = A[KP+i] / A[PT[i]]; S += Val*A[KP+i]; A[KP+i] = Val; } A[PT[k]] -= S;

  10. 対称スカイライン前進代入 for (k=1; k<n; k++) { KP = PT[k] – k; S = 0.0; for (i=IDX[k]; i<k; i++) { S += A[KP+i]*B[i]; } } B[k] -= S; for (k=0; k<n; k++) { B[k] = B[k] / A[PT[k]; }

  11. 対称スカイライン後退代入 for (k=n-1; k>0; k--) { KP = PT[k] – k; for (i=IDX[k]; i<k; i++) { B[i] -= A[KP+i]*B[k]; } }

  12. 3x3ブロックスカイライン法 • 構造解析用のスカイライン法 • 構造解析は1節点が3自由度を持つ場合が多いことに着目した方法 • スカイラインに1要素を3x3の行列として、ポインターを持つ • 3自由度を持たない点は、ダミー自由度を挿入して、1節点3自由度にする • ポインタ処理に対し演算量が9倍になるため、高速化が期待される

  13. 帯行列の分解前後

  14. スカイライン行列の分解前後

  15. スパースソルバの分解前後

  16. スカイライン用番号変換 • RCM法 Reverse Cuthill-Mckee Algorithm • 目的 UTDU分解において生じる帯幅(スカイライン幅)の縮小 • 基本的な考え方 既にラベル付けされた頂点に頂点を優先的に番号付けしていく。最後に番号を逆順に。

  17. スパースソルバ用番号変換 • 最小次数順位法 Minimum Degree Ordering Algorithm • 目的 UTDU分解において生じるfill-in最小化 • 基本的な考え方 結合接点の少ない順に番号を付ける

More Related