在上一篇探索企業(yè)級(jí)開源求解器OpenRadioss(一)發(fā)表后,有大神反映Code_Aster也是企業(yè)及的開源求解器,而且很早就開源了,只不過以隱式求解居多。小仿真覺得有道理,所以將標(biāo)題稍微修改一下,但內(nèi)容是一如既往的高質(zhì)量且統(tǒng)一的。關(guān)于Code_Aster,以后有機(jī)會(huì)小仿真會(huì)帶著大家一起探索。

上篇文章中,演示了在Linux Ubuntu 20.04 LTS下編譯OpenRadioss的全過程,同時(shí)給出了一些直接的感受。今天將會(huì)在Windows下演示編譯OpenRadioss,同時(shí)文章結(jié)尾會(huì)給出一些體會(huì)。
在OpenRadioss的官方GitHub主頁(yè),說明了可以在Windows下通過使用WSL編譯。也就是說運(yùn)行的時(shí)候應(yīng)該也只能通過WSL了。好在WSL和Windows的文件交互很方便,尤其對(duì)于求解器的輸入和輸出文件,操作起來應(yīng)該是沒有問題。

小仿真WSL中安裝的是Ubuntu 20.04 LTS,所以就以Ubuntu的命令行來更新和下載所需要的依賴庫(kù)。在WSL的命令行中輸入以下命令。
? ? apt-get update
? ? apt-get upgrade
? ? apt-get install build-essential, gfortran, cmake, perl, git-lfs, libapr1-dev
按照官方教程給出的方式下載源碼
git lfs install
git clone git@github.com:OpenRadioss/OpenRadioss.git
如果官方的庫(kù)無法下載源碼,可以先fork到自己GitHub項(xiàng)目中,再?gòu)淖约旱膄ork中下載。
下載完畢后,在OpenRadioss/starter目錄中輸入命令進(jìn)行編譯
./build_script.sh -arch=linux64_gf -nt 20
編譯成功后,顯示如下:

試運(yùn)行一下:
./starter_linux64_gf

可以運(yùn)行。
接下來編譯engine程序。進(jìn)入OpenRadioss/engine目錄并輸入
./build_script.sh -arch=linux64_gf -nt 20
編譯成功后,得到如下

試運(yùn)行一下
./engine_linux64_gf

可以運(yùn)行。
就此,Windows下編譯OpenRadioss就完成了。還是很順利的。
下面來談?wù)勑》抡娴母惺埽?/p>
1. 由于使用WSL環(huán)境,總體來說和Linux原生系統(tǒng)編譯是沒有什么區(qū)別。并行編譯也能感受到調(diào)用多核且明顯的提速。
2. 運(yùn)行starter_linux64_gf可能會(huì)提示找不到動(dòng)態(tài)庫(kù)libhm_reader_linux64.so,這個(gè)問題在Linux下也可能遇到。可以通過patchelf給文件設(shè)置連接路徑。
3. 運(yùn)行starter_linux64_gf可能會(huì)提示找不到動(dòng)態(tài)庫(kù)libapr1.so.0,這個(gè)問題在Linux下也可能遇到??梢酝ㄟ^安裝libapr1-dev到系統(tǒng)或者使用patchelf的方式解決。
4. WSL安裝名義上解決了Windows下編譯的問題,但是實(shí)際并不是原生的Windows應(yīng)用。對(duì)于使用者友好,但對(duì)于熟悉Windows開發(fā)環(huán)境的開發(fā)者并不是很友好。因?yàn)檎{(diào)試程序的時(shí)候無法用到Visual Studio的強(qiáng)大功能。好處是現(xiàn)在可以在Windows下快速的進(jìn)行Radioss的運(yùn)算求解了。是不是躍躍欲試要跑幾個(gè)算例了呢?
下一篇,小仿真還會(huì)和大家一起來探索OpenRadioss,希望看到什么內(nèi)容呢?在評(píng)論區(qū)留言吧。
WelSim不隸屬于Altair,OpenRadioss。和Altair,OpenRadioss的開發(fā)者沒有直接關(guān)系。這里引用Altair,OpenRadioss僅用作技術(shù)博客文章與軟件使用的參考。