ansys2024R1_usermat

ANSYS usermat構築


Windows11

Ansys 2024R1

Visual Studio2022 community

Intel ONEAPI Fortran compiler 2024.2

すぐに対象のバージョンが変更されてしまうので参考程度だが、今手に入るソフトだけでusermat環境を構築する方法について備忘録。

自己責任で参考にしてください。

 

実際には環境変数などを操作するごとにログのエラーが変わる(ifort.exeが見つからないからはじまり、link.exeがみつからない、ifconsol.dllや rc.dllやMSVCRT.libやucrt.dllやらがなかったり未定義だったりするエラーが出続ける)のをググりながら一つずつ解除していくのだけれど、修正箇所を大きくまとめなおしている。うまくいかなかったらそこからはまあがんばってください。

なお、環境をいじった後の検証時はansysを再起動したほうがよいです。 


Ansys usermatのざっくりした仕組み(workbench)

解析フォルダ- (解析ファイル名)_files- dp0- sys(番号)- MECH内にusermaf.fファイルを入れて、APDLコマンドでworkbenchから呼び出されると、フォルダ内でコンパイルされる。

この際、usermat.fをVSを使ってコンパイルし、他のモジュールとリンクして、解析セットのフォルダに格納している。

そのため以下のソフトが必要

・Visual Studioインストール

必ずVC v140が入るようにオプションを調整する

 

・Intel ONEAPI basekit

・Intel ONEAPI HPC toolkit をインストールしIntel Fortranコンパイラーを入手

 

VSとのインストール手順が逆だとVSと統合されないので注意

 

・Ansysのインストール

usermatを使用するためのオプションにチェックを入れること、デフォルトはオフである。


インストールが終わったら、主にバッチファイルと環境変数とVSの設定をいじる。

(なお試行錯誤したためいくつかは不必要である可能性がある)

 

※C:\Program Files\ANSYS Inc\v241\ansys\customのフォルダをコピーしてバックアップしておく

 

・C:\Program Files\ANSYS Inc\v241\ansys\custom内のバッチファイルの書き換え

VSとFortranとVCのバージョンがansysの推奨と異なるため、書き換える。

書き換えには管理者権限が必要なため、メモ帳を管理者権限で開いて、各バッチファイルを開いて編集していく。

 

・ANSCUST.BAT

特にVCは全く違うところにあるはず

・ANSUPF.BAT

・ANSUSERSHARED.BAT

・環境変数

・新規にANSYS_USE_UPF 、値はTRUE

これでusermatが使用可になる。というかこの環境変数がないとAPDLコマンドで命令しても無視される。

・システム環境変数 PATH 追加

・システム環境変数 LIB(新規) 値を複数入力したいときは値の間にセミコロン;を入力

・システム環境変数 IFortInstallDir(新規) 値はIFORT_COMPILER24と同じ

これはVSの設定変更で打ちもらしたとき用。 

・VSの設定変更

適当なc++プロジェクトを立ち上げる。

ツール-オプションから、Intel Compilers and Libraries- IFORT Intel Fortran Classic- コンパイラーの設定、おそらく必要なのはx64のはずだが、x86も気になるなら変更する。

変更内容は、コンパイラーが<最新>となっているところを特定のバージョンに指定したうえで、実行可能ファイル、インクルード、ライブラリーの横の「…」から編集する。

IFortInstallDirを探して、すべてFORT_COMPILER24に書き換える。

・プロジェクトのプロパティの編集

表示-プロパティ ウィンドウで、プロパティを表示させる。

プロパティウインドウのスパナマークをクリックしてプロパティ編集ウィンドウを開く。

VC++ディレクトリのインクルードディレクトリを編集する。

値は$(IFORT_COMPILER24)\compiler\include

ソフトのバージョンが変わるとパスが変化することがあるので実在を確かめつつ追記する。

ライブラリディレクトリ、同様に編集、$(IFORT_COMPILER24)\compiler\2024.2\libと、$(LIB)。

インクルードディレクトリ、同様に編集、$(IFORT_COMPILER24)\2024.2\include

ファイル- すべて保存 および プロジェクトの保存。


なお実際にコンパイルされるときどのパターンが使用されているか不明のため、debug/release、x86/x64で設定しておく(おそらくx64だが)。x86の時はx86用のフォルダを指定する。

・ファイルのコピー

Program files (x86)- windows Kits- 10- bin- (バージョン)- x64フォルダから、rc.exeとrcdll.dllをコピーし、Program Files (x86)- Microsoft Visual Studio 14.0- VC- binフォルダに貼り付ける。