Upload
dinhtuong
View
220
Download
4
Embed Size (px)
Citation preview
固体力学
大学院工学研究科機械工学専攻
固体力学(2単位)
002
メッシュ
構成
シミュレーション
計算機としてのPC
シミュレーションのための計算機環境
ハードウエア
ソフトウエア
シミュレーションのための計算法
有限要素法
メッシュ
連立一次方程式の解法
可視化
参考書
有限要素法概説
菊地文雄著,サイエンス社
有限要素法
矢川元基・吉村忍著,培風館
Finite Element ImplementationY.K.Cheung, S.H.Lo, A.Y.T.Leung, Blackwell
Numerical ComputationC.W.Ueberhuber, Springer
計算機による幾何学
計算幾何学Computational Geometry図形に関するアルゴリズム
計算機支援幾何デザインComputer Aided Geometric Design曲線・曲面など
計算機による幾何学
計算幾何学
基本アルゴリズム
2点間の距離
凸包
整列
探索
etc.
計算機による幾何学2点間の距離
問題: n個の点で構成される点群において,最短距離にある2点を抽出する
総当りではnC2個の距離を計算することになる
距離計算の回数を減らし効率化
計算機による幾何学2点間の距離
分割統治法1.全体を2つに分割
2.各々で最短距離のものを探す
3.2つの領域にまたがった点同士の距離を確認
再帰的探索
計算量 ∝ O(nlogn)
計算機による幾何学凸包 (Convex Hull)問題: n個の点で構成される点群において,凸包(すべての点を包含する最小の凸多面体・多角形)を構築する
凸包はメッシュなどでも使用される重要な概念
計算機による幾何学凸包 (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.順次くりかえす
計算機による幾何学凸包 (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.順次くりかえす
計算機による幾何学凸包 (Convex Hull)
Quickhull Algorithm1.点群からx,y座標が最大or最小となる4点を選び四角形を構築し,凸包の第1近似とする.四角形の中の点は以降の検討から除外する.
2.各辺の外側の最遠点を凸包に追加し,凸包を更新する.新たに追加した三角形内の点は以降の検討から除外する.
3.2を繰り返す.
計算機による幾何学凸包 (Convex Hull)
Quickhull Algorithm
メッシュ
2次元(3次元)領域を3角形(4面体)または4角形(6面体)にの集合として表現
メッシュ
2次元(3次元)領域を3角形(4面体)または4角形(6面体)にの集合として表現
規則性による分類規則格子(構造格子)
不規則格子(非構造格子)
自動メッシュ作成 (Automatic Mesh Generation)3角形(4面体)は可能
6面体は自動化できていない
メッシュ
望ましい自動要素分割の特徴
境界が正確に表現される
内部メッシュに境界の情報が反映される
入力データ量が少ない
対象が広い
形状を選ばない
要素形状が良い
節点番号が適切にふられる
速い
メッシュ
自動要素分割法
Delaunay法凸領域に限定される(非凸領域は複数の凸領域に分解)
生成される要素の形状が良い(正三角形に近い)
Advancing Front法非凸領域も可
メッシュ
Delaunay法
Voronoi分割点群が与えられたとき,領域を各点に対して最短距離にある多角形領域に分割する.
{ }NiPP ii ,,1, L==P点群
{ }NiVV ii ,,1, L==V
{ }jii PQPQijQQV −<−≠∀ℜ∈= ,,2
ボロノイ分割
メッシュ
Voronoi分割とDelaunay三角分割
Voronoi分割 Delaunay三角分割
メッシュ
Delaunay法のアルゴリズム(Watson法)
1 点群を包含する仮想三角形を作る.
2 点群の1点Piを追加する.
3 Piを外接円内に含む既存三角形を抽出.
4 選んだ三角形の頂点で多角形を構成.
5 多角形の各頂点とPiを結び,新しい三角形を生成.6 2から5を繰り返す.
メッシュ
アドバンシングフロント法最初に領域境界に節点を配置し,領域内部に節点を配置しながら,順に内部へ三角形を生成していく方法
メッシュアドバンシングフロント法候補節点を含む領域の境界をフロントラインと呼び,フロントラインを更新しながら三角形を生成する.
メッシュアドバンシングフロント法
1 対象領域の境界に節点を発生
2 領域内に節点を発生
3 境界を初期フロントラインに設定
4 フロントラインの任意の1要素分を「先端部」とする
5 先端部近傍から要素生成用節点を選択
メッシュアドバンシングフロント法6 先端部(A-B)と選択した節点(C)により,新しい要素(A-B-C)を生成7 フロントラインをA-BからA-C-Bに更新8 C-Bを新しい「先端部」にする9 フロントラインの任意の1要素分を「先端部」とする
10 5-9を繰り返す
A
B
C
メッシュアドバンシングフロント法
節点選択基準
( ) 22232CABCAB
ACABABC
++
×=α
A B
C1 C2
( ) ( ) ( )21121111 ,, CACBCCABC αγαβαα ===
( ) ( ) ( )12212222 ,, CACBCCABC αγαβαα ===
( ) ( )222111 ,max,max γβαγβα ⋅>⋅ なら,C1を選択
メッシュメッシュの改良法
Laplacian Smoothing1 節点Pを選択2 節点Pを含む要素を抽出3 節点Pを,2で抽出した要素の節点の重心へ移動4 1-3を領域内部の全節点に対して行う(境界は除く)
P P