25
固体力学 大学院工学研究科機械工学専攻 固体力学(2単位) 002 メッシュ

大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

Embed Size (px)

Citation preview

Page 1: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

固体力学

大学院工学研究科機械工学専攻

固体力学(2単位)

002

メッシュ

Page 2: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

構成

シミュレーション

計算機としてのPC

シミュレーションのための計算機環境

ハードウエア

ソフトウエア

シミュレーションのための計算法

有限要素法

メッシュ

連立一次方程式の解法

可視化

Page 3: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

参考書

有限要素法概説

菊地文雄著,サイエンス社

有限要素法

矢川元基・吉村忍著,培風館

Finite Element ImplementationY.K.Cheung, S.H.Lo, A.Y.T.Leung, Blackwell

Numerical ComputationC.W.Ueberhuber, Springer

Page 4: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

計算機による幾何学

計算幾何学Computational Geometry図形に関するアルゴリズム

計算機支援幾何デザインComputer Aided Geometric Design曲線・曲面など

Page 5: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

計算機による幾何学

計算幾何学

基本アルゴリズム

2点間の距離

凸包

整列

探索

etc.

Page 6: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

計算機による幾何学2点間の距離

問題: n個の点で構成される点群において,最短距離にある2点を抽出する

総当りではnC2個の距離を計算することになる

距離計算の回数を減らし効率化

Page 7: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

計算機による幾何学2点間の距離

分割統治法1.全体を2つに分割

2.各々で最短距離のものを探す

3.2つの領域にまたがった点同士の距離を確認

再帰的探索

計算量 ∝ O(nlogn)

Page 8: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

計算機による幾何学凸包 (Convex Hull)問題: n個の点で構成される点群において,凸包(すべての点を包含する最小の凸多面体・多角形)を構築する

凸包はメッシュなどでも使用される重要な概念

Page 9: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

計算機による幾何学凸包 (Convex Hull)

Graham’s Scan1.y座標が最小の点をP0とする

2.P0から見た角度の順にP1,P2,P3,…とする(同じ角度の点は最遠点を選ぶ)

3.P0-P1-P2を結ぶ

4.P1-P2-P3の角度(内角)が180度以上ならP2をリストからはずす → P1-P3 (さらに遡って修正が及ぶこともある)

5.順次くりかえす

Page 10: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

計算機による幾何学凸包 (Convex Hull)

Andrew’s Algorithm1.x座標により整列.x座標最小の点をP0とする

2.x座標の順にP1,P2,P3,…とする(同じx座標の点はy座標最大点を選ぶ)

3.P0-P1-P2を結ぶ

4.P0-P1-P2の角度(内角)が180度以上ならP2をリストからはずす → P0-P2 (さらに遡って修正が及ぶこともある)

5.順次くりかえす

Page 11: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

計算機による幾何学凸包 (Convex Hull)

Quickhull Algorithm1.点群からx,y座標が最大or最小となる4点を選び四角形を構築し,凸包の第1近似とする.四角形の中の点は以降の検討から除外する.

2.各辺の外側の最遠点を凸包に追加し,凸包を更新する.新たに追加した三角形内の点は以降の検討から除外する.

3.2を繰り返す.

Page 12: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

計算機による幾何学凸包 (Convex Hull)

Quickhull Algorithm

Page 13: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュ

2次元(3次元)領域を3角形(4面体)または4角形(6面体)にの集合として表現

Page 14: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュ

2次元(3次元)領域を3角形(4面体)または4角形(6面体)にの集合として表現

規則性による分類規則格子(構造格子)

不規則格子(非構造格子)

自動メッシュ作成 (Automatic Mesh Generation)3角形(4面体)は可能

6面体は自動化できていない

Page 15: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュ

望ましい自動要素分割の特徴

境界が正確に表現される

内部メッシュに境界の情報が反映される

入力データ量が少ない

対象が広い

形状を選ばない

要素形状が良い

節点番号が適切にふられる

速い

Page 16: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュ

自動要素分割法

Delaunay法凸領域に限定される(非凸領域は複数の凸領域に分解)

生成される要素の形状が良い(正三角形に近い)

Advancing Front法非凸領域も可

Page 17: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュ

Delaunay法

Voronoi分割点群が与えられたとき,領域を各点に対して最短距離にある多角形領域に分割する.

{ }NiPP ii ,,1, L==P点群

{ }NiVV ii ,,1, L==V

{ }jii PQPQijQQV −<−≠∀ℜ∈= ,,2

ボロノイ分割

Page 18: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュ

Voronoi分割とDelaunay三角分割

Voronoi分割 Delaunay三角分割

Page 19: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュ

Delaunay法のアルゴリズム(Watson法)

1 点群を包含する仮想三角形を作る.

2 点群の1点Piを追加する.

3 Piを外接円内に含む既存三角形を抽出.

4 選んだ三角形の頂点で多角形を構成.

5 多角形の各頂点とPiを結び,新しい三角形を生成.6 2から5を繰り返す.

Page 20: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュ

アドバンシングフロント法最初に領域境界に節点を配置し,領域内部に節点を配置しながら,順に内部へ三角形を生成していく方法

Page 21: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュアドバンシングフロント法候補節点を含む領域の境界をフロントラインと呼び,フロントラインを更新しながら三角形を生成する.

Page 22: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュアドバンシングフロント法

1 対象領域の境界に節点を発生

2 領域内に節点を発生

3 境界を初期フロントラインに設定

4 フロントラインの任意の1要素分を「先端部」とする

5 先端部近傍から要素生成用節点を選択

Page 23: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュアドバンシングフロント法6 先端部(A-B)と選択した節点(C)により,新しい要素(A-B-C)を生成7 フロントラインをA-BからA-C-Bに更新8 C-Bを新しい「先端部」にする9 フロントラインの任意の1要素分を「先端部」とする

10 5-9を繰り返す 

A

B

C

Page 24: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュアドバンシングフロント法

節点選択基準

( ) 22232CABCAB

ACABABC

++

×=α

A B

C1 C2

( ) ( ) ( )21121111 ,, CACBCCABC αγαβαα ===

( ) ( ) ( )12212222 ,, CACBCCABC αγαβαα ===

( ) ( )222111 ,max,max γβαγβα ⋅>⋅ なら,C1を選択

Page 25: 大学院工学研究科機械工学専攻 固体力学(2単位)oishi/sm/MS002.pdf · 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境

メッシュメッシュの改良法

Laplacian Smoothing1 節点Pを選択2 節点Pを含む要素を抽出3 節点Pを,2で抽出した要素の節点の重心へ移動4 1-3を領域内部の全節点に対して行う(境界は除く)

P P