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

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

DEXCS-Salomeの有効活用:並列版Code_Asterのコンパイル(4)

2012年03月14日 05時25分25秒 | OpenCAE活用
Code_Asterの並列実行の試してみます。サンプルとして下記のピストンを取り上げます。
http://www.caelinux.org/wiki/images/7/74/Piston_tutorial.pdf
例題の形状データなどは、下記よりダウンロードしておきます。
http://www.caelinux.org/wiki/images/e/e0/Piston.zip

■サンプルの解析実行
ホームディレクトリ /home/dexcs に、サンプル作業用ディレクト TestPiston を作って上記の2つのファイルを保存しておきます。まずは、通常の解析を手順書の通りに進めます。
$ /home/dexcs/TestPiston → 解析フォルダに移動
$ unzip Piston.zip → 形状ファイルを展開
ここでは、DEXCS2011-Salome の Salome-Meca を用いて実行します。

解析を実行すると、いくつかのファイルが作られます。並列実行に必要なファイルを説明します。
Piston.comm → 解析内容
linear-static.mmed → 入力情報

解析フォルダの中に並列処理検証用の PAR ディレクトリを作ります。
$ mkdir PAR
この中に、Piston.comm と linear-static.mmed→Piston.med をコピーしておきます。

■ASTKによる解析実行
並列実行は、Salome からではなく ASTK と言うツールを用いて行います。これは、事前に作られた所定の入力データを設定して、解析を実行するものです。

次のコマンドで実行します。起動時に注意が表示されますが、OK で進めます。
$ /opt/aster/bin/astk → ASTK の起動
これより ASJOB と ASTK が起動されます。
Base path を /usr/dexcs/TestPiston/PAR と設定します。欄の右のフォルダアイコンから指定します。
入力用に、先に準備した2つのファイル、解析内容 Piston.comm と入力情報 Piston.med を登録します。
出力用に、解析のログ Piston.mess と解析の結果 Result.med を設定しておきます。
実行するため、Runボタンを押すと、現在の状態を保存するか聞かれます。Piston.astkとして保存しておきます。実行が開始されます。

この時、ASJOB に実行の状況が示されます。リストで PEND として完了しています。結果を確認するために、Salome-Meca を起動して、Post-Pro モジュールに切り替えます。エディタでログ Piston.mess を開くと、最後に総解析時間 TOTAL_JOB 10.16 秒となっています。
結果を可視化するために、File → Import → MED file から Result.med を読み込みます。あとは通常の手順で可視化ができます。確認したら、Salome-Meca を終了します。

■ASTKによる並列実行
まず解析内容の Piston.comm を修正して並列実行用に変更します。このファイル名にカーソルを入れた状態で、ASTK のメニューの Tools から Command file editor (Eficas) を実行します。
最初に、ソルバー ASTER のバージョンを聞かれます。STA10.6 を選択します。
Eficas が起動したら、左側の欄に Piston.comm の内容が表示されています。
MECA_STATIQUE を展開します。(三角ボタンを押す)
中央の欄から SOLVEUR を選択し、Valider を押して追加します。
中央の欄から METHODE を選択し、Valider を押して追加します。
並列ソルバーとして、MUMPS を選択し、Valider を押して変更します。
修正を保存するために、FDボタンを押して、Fichier → Quitter で修了します。

ASTK の Options より、mpi_nbcpu を4に変更します。Version のメニューから PAR10.6 を選択します。これで RUN ボタンを押すと並列実行します。解析の状況を確認するために、Piston.mess をエディタで開いて確認します。最初に、MPI で並列処理がなされたこと、プロセッサが4つ使われたことが記されています。最後に計算時間ですが、11.44秒となりより時間がかかっています。これは、モデルが小さいため処理の分割に余分な時間がかかったためです。

最新の画像もっと見る

コメントを投稿

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