OpenRadioss

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

こんにちは(@t_kun_kamakiri

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

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

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

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

↓2022年10月22日に報告した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を使うための基本的な環境は整いました。

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の計算実行

Radiossの計算実行

こちら「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

まとめ

本記事では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円(12/08 17:00時点)
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
8,731円(12/09 04:43時点)
Amazonの情報を掲載しています

 

【プロフィール】

カマキリ
(^^)

大学の専攻は物性理論で、Fortranを使って数値計算をしていました。
CAEを用いた流体解析は興味がありOpenFOAMを使って勉強しています。

プロフィール記事はこちら

 

大学学部レベルの物理の解説をします 大学初学者で物理にお困りの方にわかりやすく解説します。

このブログでは主に大学以上の物理を勉強して記事にわかりやすくまとめていきます。

  • ・解析力学
  • ・流体力学
  • ・熱力学
  • ・量子統計
  • ・CAE解析(流体解析)
  • note
    noteで内容は主に「プログラミング言語」の勉強の進捗を日々書いています。また、「現在勉強中の内容」「日々思ったこと」も日記代わりに書き記しています。
  • youtube
    youtubeではオープンソースの流体解析、構造解析、1DCAEの操作方法などを動画にしています。
    (音声はありません_(._.)_)
  • Qiita
    Qiitaではプログラミング言語の基本的な内容をまとめています。

COMMENT

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