始めに
Radioss ではユーザーサブルーチンを Fortran で書くことができます。
https://2025.help.altair.com/2025.1/hwsolvers/rad/topics/solvers/rad/introduction_user_code_r.htm
私自身、Windows 11 でのビルド環境の構築に一苦労したため、こちらに注意点を記載します。
なお、ビルド環境は、弊社が提供するものではなく、MicroSoft と Intel が提供しているソフトウェアを使うため、時々構築方法が変化する時もあると思います。ですので、この方法は 2025/07/10 時点での方法です。変化があれば、書き換えようと思います。
対象環境、必要ソフトウェアの注意事項
OS: Windows 10/11
ただし当方の検証環境は 11 です
Radioss 2025.1
執筆時点で Intel が配布している Intel Fortran コンパイラは ifx というものです。Radioss 2025 までは、すでに配布されていない ifort というものをサポートしていますが ifx をサポートしていません。
そのため、必然的に今からユーザーサブルーチンをビルドするには Radioss 2025.1 で行うことになります。
MicroSoft VisualStudio 2022
私から、何エディションを使うべきかという言及はできません。利用規約、組織のポリシー等、皆さま自身で決めることになります。
執筆時点のダウンロードサイトはこちら
https://visualstudio.microsoft.com/ja/vs/
Intel oneAPI よりも先にインストールすることが必要です。
また、インストーラーが示すデフォルトのフォルダー以外にインストールすると、ビルド環境の設定がうまくいかなくて、ビルドに失敗するため、インストールフォルダーは必ずデフォルトのままにします。
ビルドに必要なのは、テキストエディタの部分ではなく、開発環境の部分のため、このワークロードの選択が必須です。
Intel oneAPI base toolkit 2025.2.0
本ツールキット自体は複数のバージョンが選べるようですが、対となる HPC toolkit が 2025.2 のみの配布のようなので、こちらも 2025.2 となります。
ダウンロードサイトはこちらです。
https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html
VisualStudio を先に入れているので、インストールの途中で、このように、VisualStudio に紐づけますよ、という確認が出てくるはずです。必須です。外してはいけません。
Intel oneAPI HPC toolkit 2025.2.0
ダウンロードサイトはこちらです。
https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html
こちらもインストール中に Visual Studio との紐づけが出てきます。必須です。
ビルド手順
必ずこちらの oneAPI 専用のコマンドプロンプトに入ります。普通の cmd.exe から入っても、ビルドは通りません。
そうしたらこちらに従い 3個の環境変数を設定します
https://help.altair.com/hwsolvers/rad/topics/solvers/rad/generate_user_libraries_user_code_r.htm#reference_dvm_fjc_j3b__section_d1f_wjc_j3b
set ALTAIR_HOME=C:\Program Files\Altair\2025.1
set RAD_USERLIB_SDK_PATH=%ALTAIR_HOME%\hwsolvers\radioss\userlib_sdk
set RAD_USERLIB_ARCH=win64_oneapi
ALTAIR_HOME は HWSolvers インストールフォルダです。適宜変えて下さい。上の例は、デフォルトのインストールフォルダとしています。
そうしたら build_userlib.bat を使ってビルドします。
https://help.altair.com/hwsolvers/rad/topics/solvers/rad/generate_user_libraries_user_code_r.htm#reference_wzy_llc_j3b__section_jwb_slc_j3b
例えば starter に lecmuser01.f, engine に luser01.f のソースを指定してビルドするなら、こうなります。
%RAD_USERLIB_SDK_PATH%\%RAD_USERLIB_ARCH%\build_userlib.bat /STARTER "lecmuser01.f" /ENGINE "luser01.f"
毎回コマンドを叩くのも大変なので、私はこのようにバッチファイルにしています。私は "Program files" というフォルダの名前が好きではないため、HWSolvers のインストールフォルダを変更しています。
ビルドに成功すると、こんな感じになります。