Itasca軟件(FLAC3D, 3DEC, PFC)推出Linux版本---一個更好的體驗?

1 引言

為了滿足不同用戶的需求,許多工程計算軟件都同時發布Windows版本和Linux版本。現在Itasca的3DEC、FLAC3D和PFC從7.0版本開始為網絡許可證用戶免費推出Linux版本,運行在Ubuntu 20.04 Linux操作系統。Ubuntu是一個非常流行的開源Linux操作系統,可以在Windows系統下安裝,實現雙系統運行;也可以使用可啟動的U盤,不需要把系統安裝在硬盤上。

Itasca軟件(FLAC3D, 3DEC, PFC)推出Linux版本---一個更好的體驗?的圖1

2 L版比W版運行速度快? 

按照Itasca目前的說法,Linux版與Windows版的運行速度差不多。不過Linux比Windows有著天然的優勢,一些Abaqus用戶作的基準測試表明,Linux版本比Windows版本運行得更快,這可能是由于Linux內存管理和硬盤寫入算法比Windows更好一些。此外,在Linux系統(Debian/Ubuntu或Fedora)下使用Abaqus,可以使用免費的Fortran編譯器(gfortran)運行子程序。一些ANSYS用戶也證實FluentLinux系統下比在Windows系統下運算速度快。


3 L版與W版的模型文件

在Linux版本上創建的模型保存文件(model save)能在Windows版本上加載,反之亦然。Ubuntu系統下,也可以使用GUI和命令行,并以單一的Debian文件分發。


L版與W版差異

(1) 一些微小的圖形用戶界面上的差異(如字體)。Ubuntu的用戶界面更炫酷一些,色彩更重些(我自己的體驗,使用過一段時間,但不太適應它的那種界面風格);

(2) 由于不同操作系統版本使用不同的編譯器,Linux版本的結果可能與Windows版本的結果不完全相同。所有的模型在Linux或Windows中都是可以重復的,不過當更新或改變編譯器時,由于浮點運算和編譯器優化的變化,模型結果會發生變化。有多大的不同?這取決于模型的類型。對于一些模型來說,由于編譯器的數值差異,結果會出現分歧。在某些情況下,差異可能小于0.1%。

(3) Linux系統的文件名和路徑是區分大小寫的,不應該包括空格。因此,從其他數據文件中調用數據文件時要小心。

(4) Linux版本構模型的C++插件功能還沒有實現。


5 串函數string()

題外話,這個部分與本文主題無關,剛好遇上啦,順便記錄一下。在原來的FISH語句中,下面這段代碼是沒有問題的:

fish define in_def(msg,default)  local xx = io.in(msg+'('+'default:'+string(default)+'):')   if type(xx) = 3    in_def = default  else    in_def = xx  endifend

但不知什么時候軟件作了改變,導致運行這段程序時出現錯誤:“Cannot use operator + between types Float and String.” 意思是浮點數和字符串不可以用+號相連接, 這意味著不能使用string()函數顯式地把數字轉換為字符串, 必須使用下面的string.build函數才不出錯。string.build()函數類似于Python的format()定位函數,技術上講,這種改變是一種進步。

xx = io.in(string.build('%1 (default:%2):',msg,default))

測試顯示在3DEC和FLAC3D中都存在這個問題,但在UDEC中還未作出改變,string()和string.build()都可以使用,整合時期感覺弄得挺混亂的,估計以后UDEC也會作出相應的改變

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

2
3
1