東京大学本郷キャンパス 工学部8号館2階222中会議室 13:30-14:00 FrontISTRと利用可能なソフトウェア 2017年4月28日 第35回FrontISTR研究会 FrontISTRの並列計算ハンズオン 精度検証から並列性能評価まで
観測された物理現象 物理モデル ( 支配方程式 ) 連続体の運動を支配する偏微分方程式 離散化手法 ( 有限要素法, 差分法など ) 代数的な数理モデル コンピュータで計算可能な代数方程式 構造解析シミュレーション 解析対象 2
変形は微小変形を仮定 材料は線形弾性体で近似 ( つり合い方程式 ) 2 u b 2 t b 0 ( 線形弾性体の構成方程式 ) (tr ) I 2 1 u( u) 2 ( 境界条件 ) u u on S t t on S u t T u I E t : ナブラ [1/m] ex ey ez x y z : 応力テンソル [Pa] 物体内部に働く単位面積当たりの力 : 密度 [kg/m 3 ] b : 単位質量当たりの体積力 [m/s 2 ] : 微小ひずみテンソル [-] : 変位 ( 未知量 ) [m] : 恒等テンソル [-] : Lame 定数 [Pa] E E (1 )(12 ) 2(1 ) : Young 率 [Pa] : Poisson 比 [-] 元の状態からの変形の割合 元の状態からどの程度変形したか どの程度硬いか : トラクションベクトル [Pa] 3
( つり合い方程式 ) xx yx zx bx 0 x y z xy yy zy by 0 x y z xz yz zz bz 0 x y z ( 線形弾性体の構成方程式 ) ( ) 2 ( ) 2 zz ( xx yy zz ) 2zz xy yx 2 xy yz zy 2 yz zx xz 2 zx xx xx yy zz xx yy xx yy zz yy ux xx x u y yy y uz zz z 1 u y u x xy yx 2 x y 1 u u z y yz zy 2 y z 1 ux uz zx xz 2 z x 4
有限要素 e (finite element) 節点 (node) N M (4) 解析メッシュ (8) (10) (6) (1) n : 要素内の節点数 e V : 要素の体積 : 全節点数 : 全要素数 (9) (3) (7) (5) (2) 全体剛性マトリックス 全体外力ベクトル 有限要素法 (Finite Element Method) による離散化 K u f 3N3N 3N1 3N1 連立一次方程式 e e T K Α K, K B e D B e1 V 3N3N 3n3n 3n3n 3n6 66 63n 1 1 1 2 2 2 I I I N N N u ux uy uz ux uy uzux uy uz ux uy uz 3N1 M 要素剛性マトリックス アセンブリ記号 ( 要素マトリックス成分を全体マトリックス成分へ足し込む ) 変位ベクトル ( 未知量 ) 要素外力 t x b x M ベクトル e T T, e f Α f f e ty ds e by dv e1 N V N V N n n n n t z b z dv 3 1 3 1 3 1 3 3 3 3 T 5
有限要素 e (finite element) アイソパラメトリック要素 物理空間座標 節点 (node) 補間関数 I u( ) N ( ) u 変位 (4) (8) I I (10) (6) (1) (9) (3) (7) n : 要素内の節点数 e V : 要素の体積 (5) 写像関数 I x( ) N ( ) x 様々な種類の有限要素があります ( 要素の幾何形状や補間の次数が異なります ). I I (2) 計算空間座標 有限要素法 (Finite Element Method) による離散化 ( 続き ) B B B B B B ( ) N 0 0 x ( ) N 0 0 y N 0 0 z N N 0 y x N N 0 z y N N 0 z x (1) (2) ( ) ( n) ( ), ( ) ( ) 63n 63 2 0 0 0 2 0 0 0 2 0 0 0 D = 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ( ) ( ) ( ) ( ) ( ) ( ) N 0 0 0 N 0 0 0 N (1) (2) ( ) ( n) ( ) ( ) N N N N N, N 33 n 3 n ( ) 6
構造解析シミュレーション 解析メッシュの生成 境界条件 ( 初期条件 ) の付与 有限要素法プログラムの実行 内面に圧力を付与 解析対象 解析結果の可視化 底面を固定 7
構造解析シミュレーション 形状の作成 解析メッシュの生成 境界条件 ( 初期条件 ) の付与外力の付与 今回のハンズオンでは, 並列有限要素法プログラムの実行と解析結果の可視化に焦点を当てます. 並列有限要素法プログラムの実行 FrontISTR 解析結果の可視化 REVOCAP_PrePost 8
並列有限要素法ソフト FrontISTR ( フロントアイスター ) とは 1998 年に開始された文部科学省科学技術振興調整費総合研究 高精度の地球変動予測のための並列ソフトウェア開発に関する研究 から始まり, 2013 年 3 月に終了した文部科学省次世代 IT 基盤構築のための研究開発 イノベーション基盤シミュレーションソフトウェアの研究開発 まで, 各プロジェクトにおける研究の一部として, 開発および改良に継続的に取り組まれてきたオープンソースソフトウェア 1998-2002 2002-2004 2005-2007 2008-2012 9
並列有限要素法ソフト FrontISTR ( フロントアイスター ) とは 2013 年 4 月からユーザ会 FrontISTR 研究会 を中心として, 開発および改良が継続中 FrontISTR 研究会 FrontISTR (REVOCAP_PrePost を含む ) の利用促進 産業応用 機能改良, ソフトウェア資産や解析データの維持管理などを目的とするユーザ会 2014 年度より文部科学省 フラッグシップ 2020 プロジェクト のポスト 京 重点課題 8 近未来型ものづくりを先導する革新的設計 製造プロセスの開発 ( 課題代表 : 加藤千幸先生 ) にサブ課題 E として参画 2013- FLAGSHIP 2020 PROJECT 重点課 8 サブ課題 E 2014-2019 ( 予定 ) 10
並列有限要素法ソフト FrontISTR の特徴 様々な解析機能線形 / 非線形静解析, 線形 / 非線形動解析, 固有値解析, 周波数応答解析, 定常 / 非定常熱伝導解析 並列性能に優れた線形ソルバー ( 反復法ソルバーと直接法ソルバー ) MPI 並列計算 : メッシュ領域分割によって, プロセス並列計算が可能 OpenMP 並列計算 : ノード内でスレッド並列計算が可能 プログラム内で剛性マトリックスを BCSR (Block Compressed Sparse Row) 形式で格納 Windows や Linux の PC クラスタはもとより, 京, 地球シミュレータ, Oakleaf-FX などのスパコンにも対応 FrontISTR による逐次計算 解析メッシュ 領域分割 ( パーティショニングツール ) FrontISTR による MPI 並列計算 Mises 応力分布 11
FrontISTR のプログラム FrontISTR_V45.tar.gz は, FrontISTR 研究会のホームページ (http://www.multi.k.u-tokyo.ac.jp/frontistr/) からダウンロードできます. ファイル FrontISTR_V45.tar.gz 解凍 ディレクトリ FrontISTR_V45 ディレクトリ fistr1 とディレクトリ hecmw1 の中のファイルがソースプログラムです. 12
FrontISTR による逐次計算 解析メッシュ 領域分割 ( パーティショニングツール ) FrontISTR による MPI 並列計算 Mises 応力分布 パーティショニングツール, マージングツールなど METIS ( 逐次計算用グラフ分割ツール ) ParMETIS ( 並列計算用グラフ分割ツール ) MUMPS ( 直接法ソルバー ) Trilinos の ML ( 反復法ソルバーの前処理 ) REVOCAP_Refiner ( メッシュリファインメント ) --with-tools --with-metis --with-parmetis --with-mumps --with-ml --with-refiner ParMETIS は FrontISTR で使用されませんが,MUMPS や Trilinos で使用できます. 使用する場合, インストールの時にライブラリのリンクが必要です. 13
ディレクトリ FrontISTR の中に FrontISTR をインストールしてみます. cd cd data170428/frontistr ディレクトリ FrontISTR_V45 内の Makefile.conf.org を編集し, ファイル名を Makefile.conf に変更します. 編集済みの Makefile.conf を用意しましたので, data170428/frontistr/conf/ic/3.7 をご覧ください. cd sh/ic/3.7/serial chmod +x install.sh sh install.sh cd sh/ic/3.7/mpi chmod +x install.sh sh install.sh インストール手順の詳細は,install.sh をご確認ください. METIS,MUMPS,Trilinos,REVOCAP_Refiner はこちらで 14 インストール済です. ディレクトリdata170428/toolsの中をご覧ください.
実行形式のファイルの置き場所 逐次計算用 /home/guests/ ゲストアカウント名 /data170428/frontistr/bin/ic/3.7/serial - fistr1 FrontISTR 実行形式ファイル MPI 並列計算用 /home/guests/ ゲストアカウント名 /data170428/frontistr/bin/ic/3.7/mpi - hecmw_part1 パーティショニングツール実行形式ファイル - fistr1 FrontISTR 実行形式ファイル - rmerge 解析結果統合ツール実行形式ファイル 計算を実行するとき, 自分の作業ディレクトリへ fistr1 や hecmw_part1 をコピーします. 15