OpenRadioss

OpenRadiossインストールから計算実行

こんにちは(@t_kun_kamakiri

Altairのサイトにこれまで商用利用としていたRadiossを2022年9月からオープンソース化するという内容の記事が投稿されていました。RadiossといえばLS-DYNAやPAM-Crashなどと並ぶAltairの衝突系(衝撃解析)の解析ソフトのイメージが強いですが、それが無償で使えるようになったというのはなかなかの衝撃でした。

本記事ではOpenradiossのインストールから計算実行までの一連の流れを示したいと思います。

オープンソースの中でも衝撃解析に関してはどれを使おうか悩むところでしたが、RadiossがOpenRadiossと名前を変えて使えるようになった今、これ一択だなという感じがしているので、早速使ってみようと思います。

本記事の内容
  • OpenRadiossのインストール
  • OpenRadiossの例題(ケースファイル)
  • OpenRadiossの計算実行

【環境】
Windows WSL2

Radiossのインストール

まずはこちらを除いてみましょう。
OpenRadiossのインストール方法から実行方法まで書かれています。

OpenRadiossのインストール方法は2通りあります。

ソースからビルドする方法

githubからソースコードを入手して手順に従ってスクリプトを実行していきます。

対応しているOSなどは確認。

  • CentOS/RHEL 7, CentOS Stream 8, RHEL 8, Rocky Linux 8, Rocky Linux 9
  • Ubuntu 20.0.4 or higher
  • Windows Subsystem for Linux: OpenRadioss works with WSL/WSL2 Ubuntu 20.04 LTS, WSL2 Ubuntu 22.x

Windowsの方は手元のPCにWSL2を入れるとUbuntuが入っているので、そちらにインストールするのが簡単でしょう。
ただし、コンパイル作業にかなり時間がかかるので、手っ取り早く使いたい場合は次の方法の方が良いです。

バイナリ版を入手して解凍(こちらが簡単)

githubからOpenRadioss_linux64.zipをダウンロードして「/opt」以下に解凍します。

権限sudoを付けて、「-d」オプションで解凍先を指定して解凍します。

「/opt/OpenRadioss/」以下は次のような構成になっています。

ファイル構成(抜粋)

計算実行、アニメーション作成のためのvtk変換、csvファイルへの変換などのコマンドは「exec」にまとめられています。

これでインストール完了でOpenRadiossを使うための基本的な環境は整いました。

OpenRadiossに関する例題解説

こちらにOpenRadiossに関する例題解説を行った記事を投稿しています。

Hyper Worksという有償のGUIが無くてもで解説ができるように解説を書いていますので、興味ある方はチャレンジしてみてください。

Radiossのマニュアル

Radiossのマニュアルに関してはAltairのサイトから入手することができます。
※リンクは2022年版

  • ユーザーズガイド
  • 理論マニュアル(英文)
  • ユーザーサブルーチン(英文)
  • リファレンスガイド
  • RADIOSS チュートリアルと例題
  • よくある質問

LS-DYNAのマニュアル

LS-DYNAのマニュアルはLS-DYNA Supportから入手することができます。

  • チュートリアル
  • マニュアル
  • リリースノート
  • リンク

LS-DYNAのプリポスト

LS-DYNAをサポートしているプリポストのソフトとして無償で使えるLS-PrePostがあります。ANSYSのstudent版であれば約10万要素など制限がありますが、ソルバ付きでダウンロードが可能です(半年くらいは使える。使えなくなったらまたダウンロードすればよい)

  • LS-PrePost:LS-DYNAのプリポスト
  • LS-Run:LS-DYNAのソルバ実行

これらが使えるのでこの際にダウンロードしておきましょう。

※LS-PrePostに関しては最新版はUIが変わっているため、Old GUIで使いたい場合は「ver4.3」あたりを使うと良いでしょう。「F11」で切り替えることができます。

当ブログでは新しいGUIも使いながら説明をする予定です。
たぶん新しい方がこれから主流になるので新しい方を多めに使います。

OpenRadiossの例題(ケースファイル)

OpenRadiossの例題となるケースファイルがあると動作確認がすぐにできていいですね。
RadiossにはLS-DYNAのフォーマットを変換して計算実行してくれる機能があるため、RadiossとLS-DYNAのどちらかでモデルを作成しても良いです。

Radiossの例題

Radiossの例題は以下から入手できます。

Altair CommunityはAltair oneに登録するとマニュアルやチュートリアルファイルをダウンロードすることができます。
※現在は登録なしでもダウンロードできるようです。

この中から「RD-E:0700 振り子」がわかりやすかったので、本記事ではこちらを使いたいと思います。

LS-DYNAの例題

LS-DYNAの例題は以下から入手することができます。

※ただし、Radiossの中でサポートしているLS-DYNAの機能は以下で調べることができます。

LS-DYNAのキーワードの説明に加えて、対応するRadiossのキーワードがリンクされているので、LS-DYNAユーザの方にもわかりやすいマニュアルになっています。

自分でもわかりやすく対応表を作成しましたのでご参考ください。

今回はOpenRadiossのExample@LS-DYNAから「Tensile Test Model in LS-DYNA® format」を使います。

OpenRadiossの計算実行

計算実行方法は今はPythonのGUIがありますので、リリース当初(2022年9月)よりいくぶんかハードルは下がりました。

PythonのGUIを使用する方法

解析に必要なファイルは以下の2つです。

  • 200_main_0000.rad:Starter ファイル(解析設定ファイル)
  • 200_main_0001.rad:Engine ファイル(解析制御と出力設定ファイル)

OpenRadiossの計算実行は、こちらで公開されているPythonで作られたGUIを使うと簡単に行えます。

WSLを使っているのでLinux環境での実行方法を参考にします。

これで計算投入用のGUIが立ち上がるので、アニメーションとデータ出力の項目にチェック(②)を入れて計算を実行します。
ここにチェックを入れておくことでA-ファイル(アニメーション用ファイル)はParaViewでも閲覧できるvtk形式に変換し、T-ファイル(データ用ファイル)はcsvファイルに変換してくれます。

OpenRadiossのインストール先は下記のスクリプトで自身の環境に合わせる必要があります。

openradioss_run_script_ps.sh

問題なく計算が進んでいれば大量の「A-ファイル」が出力されているはずです。

スクリプトを利用する方法

こちら「RD-E:0700 振り子」のモデルの計算実行を行います。

必要なファイルは以下の2つです。

「$OPENRADIOSS_PATH/exec」にある、
  • starter_linux64_gf
  • engine_linux64_gf
  • anim_to_vtk_linux64_gf:vtk変換
  • th_to_csv_linux64_gf:csv変換
が今回使用する実行コマンドです。
run.sh

make_vtk.sh

make_toCsv.sh

Allrun.sh

Allrun.shの実行は以下で行います。

今回は「pendulum」がファイル名なので位置パラメータとして指定することで$1がすべて「pendulum」に置き換わります。

計算が実行されると「pendulumA001、pendulumA002」と出力されます。
これがradiossのアニメーション用のファイルですが、可視化ソフトのParaViewでは読み込むことができないため「make_vtk.sh」スクリプトでvtkに変換しています。

ParaViewを起動して「pendulumA..vtk」を読み込みましょう。


th_to_csv_linux64_gf によって、pendulumT01が変換されてpendulumT01.csvとして結果閲覧ができる形になってます。

LS-DYNAから変換

OpenRadiossはLS-DYNAのフォーマットからでも変換可能なので、LS-DYNAで用意したファイルでも計算を実行してみましょう。
今回はOpenRadiossのExample@LS-DYNAから「Tensile Test Model in LS-DYNA® format」を使います。

必要なファイルは以下の1つです。

「$OPENRADIOSS_PATH</span><span>/exec」にある

  • starter_linux64_gf
  • engine_linux64_gf
  • anim_to_vtk_linux64_gf:vtk変換
  • th_to_csv_linux64_gf:csv変換
が今回使用する実行コマンドです。
run.sh

Radiossファイルと違い拡張子が.kなので$OPENRADIOSS_PATH/exec/starter_linux64_gf -i $1.k
の1文が変わっています。
※LS-DYNAの拡張子は何でもよいため「.k」「.key」「.inc」などで使われる場合が多いです。

make_vtk.sh

make_toCsv.sh

Allrun.sh

Allrun.shの実行は以下で行います。l

今回は「zug_test3_RS」がファイル名なので位置パラメータとして指定することで$1がすべて「zug_test3_RS」に置き換わります。

計算が実行されると「zug_test3_RSA001、zug_test3_RSA002」と出力されます。
これがradiossのアニメーション用のファイルですが、可視化ソフトのParaViewでは読み込むことができないため「make_vtk.sh」スクリプトでvtkに変換しています。

ParaViewを起動して「zug_test3_RSA..vtk」を読み込みましょう。

zug_test3_RST01.csvがデータの出力結果です。

並列計算(OpenMPI)

MPIを使った例としてはRunning Camry Impact Model in LS-DYNA® Format Using OpenRadioss and Apptainerも参考になります。

OpenMPIは以下の2行を追加するだけで並列計算ができます。

環境変数「OMP_NUM_THREADS=4」でスレッド数を指定しています。

スクリプトにまとめると以下のようになります。

run.sh

(おまけ)WSLでOpenMPIの設定から実行

github

「/opt/OpenRadioss」にRadissをインストールした場合は以下のように環境変数を指定する。

環境変数設定から計算実行までをスクリプトにまとめました。

例題としてIce Cubeを使います。
※スクリプトは適当な部分があるので、修正もしていきますので参考程度に・・・

run.sh

vtkファイルへの変換は以下のスクリプトにします。

make_vtk.sh

csvファイル変換は以下のスクリプト

make_toCsv.sh

そして、これらのスクリプトを一括で実行すために「Allrnn.sh」とまとめます。

Allrun.sh

Allrun.shの実行は以下で行います。l

今回は「cube_TYPE7」がファイル名なので位置パラメータとして指定することで$1がすべて「cube_TYPE7」に置き換わります。

まとめ

本記事ではOpenRadiossに関する、

  • インストール方法
  • マニュアル、例題の入手場所
  • 計算実行から可視化
  • 並列計算

の基本的な情報をまとめました。

LS-DYNA書籍

LS-DYNA for Engineers: A Practical Tutorial Book (FE analysis for Engineers)

LS-DYNA for Engineers: A Practical Tutorial Book (FE analysis for Engineers)

Lee, Ryan
4,662円(05/18 19:57時点)
Amazonの情報を掲載しています
LS-DYNA for Beginners: An insight into Ls-Prepost and Ls-Dyna

LS-DYNA for Beginners: An insight into Ls-Prepost and Ls-Dyna

Shah, Qasim, Abid, Hasan
10,971円(05/18 19:57時点)
Amazonの情報を掲載しています

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です