Radioss技巧又來啦!


本期我們將要討論Radioss的二次開發,因為內容比較多,

我們將分為上下兩部分進行講解,

今天就先來說說Radioss二次開發的準備工作,

Let's go !!!!!

 


 

Radioss支援材料本構、材料破壞和單元屬性的二次開發。

本次主要講介紹以下幾個方面:二次開發背景知識,安裝Fortran編譯器,設置環境變數,編譯二次開發的程式,使用二次開發的程式。

 

二次開發背景知識

Radioss的二次開發是使用動態庫的二次開發,在不同的作業系統上會產生不同的檔,如圖所示:

 

點擊圖片可以查看大圖~)

 

二次開發的流程如下圖所示,首先要用Fortran編寫二次開發程式,程式需要包含兩部分:Starter二次開發程式和Engine二次開發程式;之後需要編譯動態庫;編譯完成後,如果是windows系統會生成尾碼為dll的檔,把這檔和Radioss模型放在同一個資料夾內,在運行模型時,Radioss就可以自動識別二次開發程式。

 

 

安裝Fortran編譯器

 

Fortran編譯器選擇

 

Intel  Fortran 編譯器功能強大,而且支援所有作業系統,但是需要付費;而GNU GCC支持Linux64MinGW Gfortran支持Windows,這兩個是免費的Fortran編譯器,因為這一講的實例都是在Windows系統上,所以推薦大家使用MinGW Gfortran

 

MinG下載

 

大家可以MinGW主頁下載免費的MinGW win64 安裝軟體,檔案只有900K左右,網址如下:

https://sourceforge.net/projects/mingw-w64/

 

安装注意事項

 

下載完成之後,進行安裝,不過要注意的是,在安裝時可以選擇安裝版本,建議大家安裝4.9.2或者7.2.0版本,經工程師測試,這兩個版本最好用、和Radioss最相容Architecture選擇x86_64Threads選擇win32Exception選擇sehbuild revision選擇1推薦參數如下圖所示:

 

安装完成測試

 

安裝完成以後,在開始功能表中找到裡面的“ MinGW-W64 project“ 資料夾中的 Run terminal 進行測試,點開後輸入gcc -v或者gfortran –v可以再次查看MinGW的版本號,核對版本號以及各項設置是否正確。

 
 

看到這樣的版本資訊表示成功安裝MinGW Win64 編譯器啦~


       以上兩部分如果大家覺得看文字還不能很好理解的話,可以觀看下方視頻,Altair China Radioss高級應用工程師Lucy會為大家詳細講解:

 

 

設置環境變數

成功安裝完Fortran編譯器之後,我們就要來設置環境變數啦

 

設置SDK的位址

 

我們需要設置SDK的位址 RAD_USERLIB_SDK_PATH 。

Linux (bash)

image

Windows

image

那如何連結呢?

首先找到安裝HyperWorks的目錄 -- 找到hwsolvers資料夾 -- 點擊Radioss資料夾 -- 找到userlib_sdk

PS:請確保已安裝Hyperwork solver安裝包

安裝磁碟不一樣檔案位置可能有所出入

 

設置動態庫名

 

設置動態庫名  RAD_USERLIB_ARCH,系統不同、Fortran版本不同,要設置不同的動態庫名~

 

上圖放大以後如下:

 

 

這裡展示的是在windows平臺安裝gfortran4.9.2版本,如果安裝的其他版本在圖中找到對應的動態庫名即可

小結一下,設置環境變數的命令如圖所示:

 

 

編譯二次開發的程式

Radioss提供了一些編譯的腳本,不過在編譯中需要注意一些格式,如下圖:

 
 

放大看一下

 

同理,Radioss提供的編譯腳本也是根據使用不同的sdk而不同,參考如下:

我們在剛才提到的設置環境變數以及運行的命令,都可以放在一個腳本裡面從而可以快速地進行。

 

成功編譯starterengine二次開發程式,產生libraduser_win64.dll文件:

 

starterengine二次開發程式有錯誤,編譯將不成功:

這兩小節比較複雜,具體如何編譯,看視頻可能更清楚哈哈~

 

 

使用二次開發的程式

有了dll檔之後,將生成的dll檔(或so尾碼的檔)放入有Radioss模型的資料夾中

 

和平常一樣運行Radioss模型即可,Radioss自動識別使用dll檔(或so檔)。

 

如果你的dll檔比較多,可以在HyperWorks solver run manager 中指定檔

 

HyperWorks solver run manager 中運行完成之後,點開結果檔,檢測是否使用了二次開發編譯的dll檔(或so尾碼的文件)

 

starter二次開發程式(比如lecm29.f)中加入特殊的列印語句

 
 

starter輸出檔*0.out檔中相應位置出現該列印語句

 

這一部分也有視頻供大家更直觀的學習

 

 

練習材料下載

大家可以點擊下方按鈕下載這篇Radioss技巧中用到的練習素材

點擊下載練習素材

 

幫助文檔

如果大家在過程中有問題,可以查閱Radioss二次開發幫助文檔,位址如下:

https://altairhyperworks.com/hwhelp/Altair/hw14.0/help/hwsolvers/hwsolvers.htm?user_subroutines_radioss.htm

 
 

 

我們下期再見啦~

arrow
arrow
    創作者介紹
    創作者 Altair Taiwan 的頭像
    Altair Taiwan

    Altair Taiwan Blog

    Altair Taiwan 發表在 痞客邦 留言(0) 人氣()