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

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

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

2012年07月18日 07時27分47秒 | OpenCAE活用
このブログはPENGUINITISさんのブログを参考に作成しています。
PENGUINITISさん情報公開ありがとうございます。
http://www.geocities.jp/penguinitis2002/study/LIGGGHTS/LIGGGHTS/LIGGGHTS.html

■ システム環境を準備する

①Ubuntu12.04をインストールする
http://www.ubuntu.com/downloadを開く
Ubuntu Desktopをクリックする。
Choose your flavourから32bitか64bitを選択し、Start downloadでダウンロードを開始すると、ubuntu-12.04-desktop-amd64.isoを入手できる。
このISOを用いて、Ubuntu-12.04を導入する。
起動の方法は通常のUbuntuと同様である。

②ネットワークを設定し、不完全な日本語を対応させる。
 System SettingsからNetworkを選択し、Wiredを「ON」にする。
 Ptionsをクリックし、IPv4 Settingに移動する。
 Methodを「Manual」に変更し、「Addresses」に移動する。
 AddressにIPアドレスを入力   
 Netmaskにネットマスクを入力
 Gatewayにデフォルトゲートウェイを入力
 DNS serversとSearch domainにもそれぞれ入力する。
 Saveを押して閉じる。

③ソフトウェアアップデートを実行
 システム設定→詳細→概要で「更新をインストール」を左クリックする。
 アップデートマネージャーで「再チェック」をし、その後、「アップデートをインストー        
 ル」を左クリックする。

④OpenFOAM2.1.1とParaView3.12.0をインストールする。
http://opencae.gifu-nct.ac.jp/pukiwiki/index.phpで公開されている第15回勉強会の「OpenFOAMの使い方DEM準備編」を参照し、この通りにインストールを進める。
※端末の開き方
Dashホームを開き、「ter」で検索すると、端末が表示されるので、それを左クリックする。
左側に表示される端末の形の上で右クリックし、Launcherへ登録すると、そこから開くことができるようになる。

■ LIGGGHTSのインストール

①Synapticパッケージマネージャーをインストールする。
Ubuntuソフトウェアセンターで「Synaptic」を検索し、Synapticパッケージマネージャーをインストールする。
 Synapticパッケージマネージャーを開き、パスワードを入力し「認証する」を左クリックすると、起動する。「git」で検索して、「git」にチェックを入れ、適用をクリックし、インストールする。
Synapticパッケージマネージャーもよく使うので、端末と同様にLauncherへ登録しておく。

②LIGGGHTSをインストールする。
 gitで入手する。
$ git clone https://github.com/CFDEMproject/LIGGGHTS-PUBLIC.git
コンパイルには、OpenMPIが必要なので、用意する。
バージョンが「1.4.3-2.1ubuntu3」のものは全てインストールする。
このバージョンのものでまだインストールできていなかったのは、「libopenmpi-dbg」と「openmpic-doc」だったので、この二つをインストールした。

インストール先の準備をする。
$ sudo mkdir /opt/LIGGGHTS
$ sudo chmod 777 /opt/LIGGGHTS
$ mv ~/LIGGGHTS-PUBLIC /opt/LIGGGHTS/liggghts-2.0.4

バージョンを確認しておく。
$ cd /opt/LIGGGHTS/liggghts-2.0.4/src
$ cat version_liggghts.txt
現時点では、「2.2.0」だが、随時更新されているので、適宜合わせてください。

ポスト用パッケージをインストールする。
$ cd ..
$ cd /opt/LIGGGHTS
$ git clone git://cfdem.git.sourceforge.net/gitroot/cfdem/lpp lpp-2012-03-29

Peridynamics用にmake yes-periを実行ずる。
$ cd /opt/LIGGGHTS/liggghts-2.0.4/src
$ make yes-peri
コンパイルする。
$ make fedora_fpic
上手くいけば、“lmp_fedora_fpic”という実行ファイルが出来る。

ライブラリを作る。
$ make makelib
$ make –f Makefile.lib fedora_fpic
上手くいけば“liblmp_fedora_fpic.a”という実行ファイルが出来上がる。

リンクを作る
$ ln –s lmp_fedora_fpic liggghts
$ ln –s liblmp_fedora_fpic.a liblmp.a

~/.bashrcにパスを追加する
$ gedit ~/.bashrc
最下行に移動し、以下のような設定を追加する。
export PATH=/opt/LIGGGHTS/liggghts-2.0.4/src:$PATH
export CFDEM_LPP_DIR=/opt/LIGGGHTS/lpp-2012-03-29/src
export CFDEM_PIZZA_DIR=$CFDEM_LPP_DIR
alias lpp="python $CFDEM_LPP_DIR/lpp.py"
alias pizza="python $CFDEM_PIZZA_DIR/pizza.py"

保存して閉じ、~/.bashrcを実行する。
$ source ~/.bashrc

Peridynamicsの例題を実行する。
Dashホームから「sys」で検索し、システムモニターをランチャーに登録しておく。

解析用フォルダを作り、解析に使うin.periをコピーする。
$ mkdir ~/DEMwork
$ cd DEMwork
$ mkdir peri0
$ cd /opt/LIGGGHTS/liggghts-2.0.4/examples/LAMMPS/peri
$ cp in.peri ~/DEMwork/peri0

$ cd ~/DEMwprk/peri0
$ gedit in.peri
結果を出力するために[#dump 1 all custom 100 dump.peri id type x y z c_1]の前にある#を消し、保存してin.periを閉じる。

■ 計算を実行する。

$ liggghts < in.peri
並列計算する場合は
$ mpirun –np 2 liggghts < in.peri
システムモニターで確認すると、ふつうに計算を実行する場合は、一つのCPUしか使われていないが、mpirunで計算した場合は、複数のパソコンが同時に使用されていることが分かる。

可視化のためにPythonのnumpyをインストールする。
Synapticパッケージマネージャから「numpy」で検索し、python-numpy、python-numpy-doc、python-numpy-dbgをインストールする。

■ データ変換と可視化

$ lpp dump.peri
$ paraview
「peroi._boundingBox.vtk」「peri..vtk」をそれぞれ開き、「Apply」をクリックする。
アニメーションを実行すると、可視化される。

アニメーションを保存したい場合
Synapticパッケージマネージャから「ffmpeg」を検索し、「ffmpeg」「ffmpeg-dbg」「ffmpeg-doc」を適用する。

ParaViewを開き、アニメーションを開始した状態で、File→Save Animationを左クリックする。
peri0の中に新しいフォルダ「movie」を作り、File name「m1」を付けて保存すると、movieの中に11枚の画像が作成される。

コマンドからmovieのフォルダに移動し、下記にコマンドを実行
$ cd movie
$ ffmpeg –r 1 –i “m1.%4d.jpg” –vcodec mjpeg –sameq out.avi
上手くいくと、out.aviがmovie内に作成され、これを開くと、アニメーションを見ることができる。
ここまでで、LAMMPSの構築は終了である。

最新の画像もっと見る

コメントを投稿

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