DALAB情報発信用ブログ:OpenCAE+GPGPU+Peridynamics編

DALABで行っている研究活動の中で、OpenCAEやGPGPUや破壊解析の取り組みについてまとめてゆきます。

広告

※このエリアは、60日間投稿が無い場合に表示されます。記事を投稿すると、表示されなくなります。

Peridigmを用いたPeridynamicsによる破壊解析:実行環境の準備(1)

2012年12月26日 09時32分37秒 | OpenCAE活用
ここでは、Peridynamics破壊力学に基づいた解析システムの構築として、Peridigmの構築方法を解説します。まずは、そもそもPeridigmとは何かについて、簡単に説明します。Peridynamicsは、Sandia National LaboratoriesのSillingらによって提唱された破壊力学理論で、積分方程式を用いることで破断や破壊などの著しい非連続現象を表現することができます。詳しくは論文検索して勉強してください。ここではシステム構築に絞って解説します。

このPeridynamicsの解析を行うには、もちろん理論から独自にプログラムを開発するのも良いですが、オープンCAEとして公開されたシステムを活用することをここでは選択します。もちろんソースコードが公開されていますから、さらに高度な現象や高速な解析を求めることも可能です。

■Peridynamics解析システムの種類

さてPeridynamicsの解析システムとしてウエブ上で見つかるのは、今の所は以下の3つです。なおこの区別は便宜上のもので正確でないかもしれません。

=公開用:PDLAMMPS:http://lammps.sandia.gov
これは分子動力学解析システムLAMMPSにPeridynamics破壊力学に基づく粒子が組み込まれており、これを用いて破壊解析が可能です。著者らはLAMMPSに個別要素法DEMを組み込んだLIGGGHTSを用いて利用しています。ただSNLとしては開発は完了しておりあくまで検証用の解析システムとなっているそうです。それでも色々なことができます。

=研究用:Peridigm:https://software.sandia.gov/trac/peridigm/
これはPeridynamics破壊解析専用システムで、現在もSNLで開発が進められています。弾塑性の材料モデルを扱うことや構造解析的な分析が可能になっており研究用として非常に有用なシステムです。ただしオープンソースではないため、上記ウエブにある著者にお願いしてソースを分けてもらう必要があります。本格的なシステムで構築も大変です。

=開発用:EMU:http://www.sandia.gov/emu/emu.htm
どうもこれがPeridynamicsによる最も本格的な解析システムのようで、様々な応用が提示されています。是非とも利用したいのですが、例題が国防関連の様ですし連絡しても返事がありませんので、国外不可なのかもしれません。ん~ん何とか使ってみたいのですが、非常に多機能の様です。

ここでは、Peridigmの解析システム構築の手順を解説します。それでは少しだけ長くて大変な構築に進みましょう。

■Peridigmの構築の基盤

基本的には、Ubuntu12.04LTS(64)をベースOSとして進めますが、他のLinuxでも何とかなるかもしれません。また上記のウエブでは、MacPortsなどを駆使してMacOSXでの構築の情報もありますので期待できます。(個人的にはこちらを目指しています)なお以下の手順では仮想マシン上のUbuntuで行っていますので、結局のところホストOSは何でも良いですね。実はPeridigmの構築作業は、MacBookPro 15 Retina (OS X 10.8.2)上にVirtualBOx4.2.6上で行っています。ハードウエアの仕様は、CPU: Intel Corei7 2.3GHz, RAM: 16GBです。

仮想マシンを構築するときには、以下の条件を満たすように設定してください。
・ネットワークで様々なツールをダウンロードするので利用できるようにしておきます。
・Peridigmはmpirunで並列処理が可能なので複数のコアを利用します。(検証では4コア)
・Peridigmはメモリを結構必要としますので出来るだけ多く割り当ててください。(検証では10GB)
・様々なツールを構築しますし出力ファイルも大きいので仮想ディスクは多めにしてください。(検証では、128GB)

ここでは、以前にこのブログの「LAMMPSを用いたPeridynamicsによる破壊解析:実行環境の準備(1)」で説明したPDLAMMPSが構築された状態に加えて、Peridigmを構築することにします。なおこの手順では、LIGGGHTSを用いてCFDEM(CFD+DEM)としてOpenFOAMとの連携のためにOpenFOAM2.1.1を導入し、可視化ツールとしてParaView3.12.0をインストールしています。

まずは、ブログ記事:「LAMMPSを用いたPeridynamicsによる破壊解析:実行環境の準備(1)」に従って準備してください。結局のところ/optの中に、LIGGGHTS(liggghts,lpp), openfoam, paraviewなどが構築された状態です。

■構築環境へのパッケージ追加

Peridigm構築の準備として、UbuntuのSynapticを用いて様々なツールをパッケージで追加します。上記の構築でUbuntuソフトウエアセンターからSynapticを使えるようにしてあるはずです。Launcherへ登録してすぐに使えるようにしておきます。追加するパッケージは以下のとおりです。構築手順の基本は、以下の公式ウエブにまとめられています。
https://software.sandia.gov/trac/peridigm/wiki/User/GettingStarted

上記ウエブに対して、構築手順に関してそのままではなく下記の変更や工夫をしています。
・構築の順序が前後しているので、作業手順にしたがって説明しています。この通りに進められます。
・前提となるツールの導入が省略されていますので、Ubuntu12.041をベースに追加を説明します。
・説明ではSVNが使われていますが、ここでは直接にソースプログラムのtar-ballから行っています。
・可視化用にVTKの指示がありますが、ParaViewで直接読める計算結果を出力出きるので、不要です。
・最適化用にDAKOTAの指示がありますが、これはオプションとあるので今後の課題として、不要です。

上記ウエブの最初に、Peridigmを構築するために必要なライブラリなどがまとめられています。この中で、以下に示すものは、ライブラリに依存関係があって段階的に構築してゆくため、ソースパッケージから手動で構築する必要があります。
mpich-3.0.1 => boost_1.52.0 => hdf5-1.8.10 => netcdf-4.2.1.1 => trilinos-11.03

以下のツールは、Synapticを用いて説明の最初に示すキーワードで検索して、必要なパッケージをインストール指定して適用で実行します。依存関係が指摘されたパッケージも全て導入します。

□コンパイラ関係
・g++: ツールの構築にg++のライブラリが必要です。
 g++でver4.6.3関連は全て揃えて置きます。ここでは、g++4.6-multilibをインストール指定、すると多数のライブラリも追加されます。gcc-4.6-docも追加します。インストールファイルは全10個です。
・gfortran: ツールの構築にFortranが必要です。
 gfortranでver4.6.3関連は導入します。gfortran,gfortran-4.6,-doc,-multilibの4つを選択します。関連も追加されて、インストールファイルは全5個です。
・cmake: クロスプラットホームのビルドツールとして必要です。
 検索結果の中からcmake,-data,-dbg,-doc (ver2.8.7)の4つを選択し、インストールファイルは全6個です。

□基盤ツール関係
・blas: 基本的な線形代数ライブラリとして必要です。
 ここでは高速計算で定評があるgotoblasを用いるので、これで検索します。libopenblas-base,-dev (ver0.1alpha2.2-3)の2つを選択します。インストールファイルは全2個です。
・lapack: 線形計算の数値計算ライブラリとして必要です。
 ここでは検索結果の中で、liblapack-dev,-doc,-pic,-test (ver3.3.1-1)の4つを選択し、インストールファイルは全4個です。

□支援ツール関係
・curl: パッケージのダウンロードツールとして必要です。
 検索結果の中で、curl (ver7.22.0)の1つを選択し、インストールファイルは全1個です。
・zlib: データの圧縮展開用のライブラリとして必要です。
 検索結果の中で、zlib1g-dbg (ver1.2.3.4)の1つを選択し、インストールファイルは全1個です。
・python: 汎用スクリプト言語で必要です。
 検索結果の中で、python (ver2.7.3)がインストールされています。ここでは、ver2.6以上でver3.0以下が必要なので確認しておきます。

□補助ツール関係(以下は構築には直接には必要としないものです)
・chrome: 定番のウエブブラウザですが、何かと便利なのでこれを使って意ます。
 要はソースパッケージのダウンロードで用いるだけですので何での良いですが、個人的な趣味です。:
・tree: ディレクトリ内の奥までファイル名をツリー状に表示する。例題ファイルの一覧を見るのに便利
 複数のディレクトリに対して解析ファイルの状態を見る
・vim: 初期導入のviではPeridigmのxmlの色分け表示が出来ないので、標準のvimが便利
 ~/.vimrcにsyntax onを追加しておく
・treeline: さらにxmlデータを見やすく表示編集するためのツールとして
 qt_ja_JP.UTF-8がなくてエラーが出る?

※実行環境の準備(2)に続く※
コメント   この記事についてブログを書く
« MacOSXにおけるOpenCAE環境構... | トップ | Peridigmを用いたPeridynamic... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

OpenCAE活用」カテゴリの最新記事