Comments
Description
Transcript
資料1205(PDFファイル)
固体力学 大学院工学研究科機械工学専攻 固体力学(2単位) 005 可視化 構成 シミュレーション 計算機としてのPC シミュレーションのための計算機環境 ハードウエア ソフトウエア シミュレーションのための計算法 有限要素法 メッシュ 連立一次方程式の解法 可視化 参考書 有限要素法概説 有限要素法 矢川元基・吉村忍著,培風館 Finite Element Implementation 菊地文雄著,サイエンス社 Y.K.Cheung, S.H.Lo, A.Y.T.Leung, Blackwell Numerical Computation C.W.Ueberhuber, Springer 可視化 可視化(Scientific Visualization) 有限要素解析結果の可視化 可視化のためのハードウエア 節点値と要素(積分点)値 CPU GPU 可視化のためのソフトウエア AVS OpenGL 可視化のためのハードウエア PC CPU Pentium4,Xeon Athlon GPU 高速な描画には特に重要 グラフィックバス・・・AGP,PCI-Express ATI Radeon → FireGL Nvidia Geforce → Quadro 可視化のためのソフトウエア FEMソフトウエアの専用 プリポスト専用ソフトウエア FEMAP,PATRAN 可視化ソフトウエア MENTAT(MARC),TAURUS(DYNA3D) AVS,MicroAVS CGライブラリ OpenGL,DirectX 可視化のためのソフトウエア 汎用FEMソフトウエアの解析結果可視化 専用ポスト 汎用ポスト 自作FEMコードの解析結果可視化 汎用ポスト → データフォーマットの変換 可視化ソフト → AVS UCDフォーマット 自作可視化ソフト FEM解析のAVSによる可視化 AVS UCDファイルフォーマット 非構造格子データ(Unstructured Cell Data) アスキー形式,バイナリ形式 拡張子 .inp MicroAVSで使用可能 要素形状・・・4面体,6面体 要素次数・・・1次要素が基本 FEM解析のAVSによる可視化 AVS UCDファイルフォーマット 節点データ(節点座標) 要素データ(要素コネクティビティ) 節点における物理量(スカラー,ベクトル) 有限要素解析結果の可視化 応力可視化の問題点(1) 変位法に基づく応力解析では,各節点の変位が未知 数となり,連立一次方程式を解くことにより各節点の 変位が求められる 応力は要素内の積分点における値が算出される 有限要素解析結果の可視化 応力可視化の問題点(2) 変位: 節点値 応力: 積分点値 可視化ソフトウエアは節点値に対応するものが多い 応力の可視化(応力分布など)には 応力の節点値(節点における応力値)が必要 有限要素解析結果の可視化 節点応力(1) 応力節点値の算出法 1.最近接積分点値 2.要素内積分点値の平均値 3.形状関数による外挿 節点 積分点 4.形状関数による内挿 有限要素解析結果の可視化 節点応力(2) 応力節点値の算出法 3.形状関数による外挿 1.積分点を節点とする要素を想定 2.要素内の応力が形状関数に従うと想定 3.節点位置の局所座標を代入 P N j P , P G 4 i 節点(P1~P4) 積分点(G1~G4) j 1 i i j 有限要素解析結果の可視化 節点応力(3) 応力節点値の算出法 4.形状関数による内挿 1.要素内の応力が形状関数に従うと想定 2.積分点応力の式を逆に解く G1 N1 G1 N 4 G1 P1 N G N G 4 4 P4 G4 1 4 節点(P1~P4) 積分点(G1~G4) P1 N1 G1 N 4 G1 N G N G 4 4 P4 1 4 1 G1 G4 有限要素解析結果の可視化 節点応力(4) 複数の要素に共有される節点の応力 変位は要素間境界で連続 応力は要素間境界で不連続 節点 積分点 複数の要素が共有する節点では 各要素で算出された節点応力を 平均化 グラフィックスライブラリ OpenGL Windows Xwindow(Linux,FreeBSD) 3次元ComputerGraphics グラフィックスアクセラレータによる高速化 市販ソフトウエアではできない表現も可能 グラフィックスライブラリ #include <GL/glut.h> static void displayCallback(void){ glClearColor(0.0,0.0,0.0,1.0); glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_TRIANGLES); glVertex3f(-1.0,-1.0,0.0); glVertex3f(1.0,0.0,0.0); glVertex3f(0.0,1.0,0.0); glEnd(); glutSwapBuffers(); } int main(int argc,char *argv[]){ glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); glutCreateWindow(); glutDisplayFunc(displayCallback); glutMainLoop(); } 等高線表示アルゴリズム 等高線 100 ・要素(面素)毎に処理 ・線形な分布を仮定し,辺上の点を求める 90 60 80 70