openfoam需要多少linux知識?

想openfoam,但是從網上看了linux版本更加好用全滿,想問學習openfoam需要的linux知識多嗎,如果學習周期太長,就放棄了,畢竟只是自己想掌握以下,不是實驗室的大方向!


不請自來

分享一下我的經驗

在使用OpenFOAM之前

我一直生活在windows溫暖舒適的環境里

因為要裝OpenFOAM才第一次在電腦上下載了Ubuntu系統

小心翼翼的拿滑鼠一路點確認就安裝成功了。

OpenFOAM的安裝和編譯也很容易

只要按照官網的流程一步步都能成功

所以如果只需要讓程序跑起來

那麼就像之前幾個回答里說的那樣

幾個常用的命令就足夠了

隨手正能量:常用的Linux命令官網上有一個總結 https://cfd.direct/openfoam/linux-guide/

雖然只有一頁

但綽綽有餘

到此為止

使用OpenFOAM就像使用普通的商業軟體一樣

不需要支付任何的費用

不過免費只是好處之一

開源意味著我們可以自由地為OpenFOAM增加功能

而這才是大多數人使用OpenFOAM的原因

到了這一步

會發現一些想實現的功能並沒有被包括在官方的版本里

但是網上有開源的代碼

好比swak4Foam功能包可以幫助實現複雜的邊界條件 處理計算結果

pyFoam提供很多腳本來自動完成一些重複性的操作

又或者是一些專門領域用到的開源包 好比造波用的waves2Foam

但這些第三方開發的工具

就並不像OpenFOAM官方版本那麼友好了

它們當中很有可能依賴於其他的函數庫 需要自己去解決一些依賴關係的錯誤

這時候就需要了解一下這些依賴關係是怎麼工作的 學會正確地安裝依賴包 正確地設置環境變數

再進一步

可能需要自己編腳本 來自動化前後處理

隨手正能量:

Bash入門教程

Bash腳本可以用來避免重複的勞動 提高工作效率
http://ryanstutorials.net/bash-scripting-tutorial/

awk入門教程

這個非常有用 可以用來分析log文件 跟蹤殘差和收斂性

尤其是在使用自己編寫的solver時 官方工具不能實現需要的功能時 這是從log文件里提取信息的最髙效的方法
https://www.tutorialspoint.com/awk

最後一個有用的東西是python (是的沒錯)

其實和OpenFOAM還有Linux關係都不大

但我全靠它進行數據分析和畫圖

略略略略略

以上


謝邀。

現在的Linux界面做的挺好的Ubuntu,OpenSUSE什麼的都很容易上手,如果你windows電腦里沒有360和百度全家桶之類的東西,那根本不用擔心Linux下用OpenFOAM的問題23333

Linux基本操作入門很容易,如果僅限於操作OpenFOAM的話,跟著OpenFOAM的教程做一遍就可以了。比如看蘇軍偉老師的博客,會比較詳細地教怎麼用OpenFOAM,環境就是linux

舉個例子,openfoam的編譯簡直傻瓜,對著官網的步驟,一步步把命令複製粘貼到終端里,所有依賴都能解決,把步驟做完就能編譯完了。之後你寫的openfoam程序都是用openfoam自帶的wmake編譯的而不是gcc等。你要是不需要自己開發,只是當作商軟一樣用的話就更簡單了。


這個問題下的主流答案都是強調需要的 Linux 知識並不多。其實回想起來,確實沒什麼「知識點」,需要的命令可以簡單的歸納成一個網頁,如 OpenFOAM Linux Guide | CFD Direct,再如 OpenFOAM Linux Cheat Sheet。官方的安裝過程也非常具體。

這是事實,不過可能有些片面。

我第一次接觸 OpenFOAM 是幫本科同學安裝,當時選了 openSUSE 發行版,一點兒都不順利。在 openSUSE 發行版上安裝 OpenFOAM 需要下載源代碼後編譯。下載的過程異常艱難,源代碼下載速度很慢,但還算順利。困難出現在安裝必備的系統工具上,當時並不知道 Linux 換源是什麼,用了默認的軟體源。對比了我們能接觸到的多種網路之後,發現圖書館的無線最快,然後全天守候在圖書館,安裝、更新。編譯過程也毫不順利,很慢。paraview 編譯後打不開,重試了幾遍,看了很多貼子,最終發現這是個 bug,解決方案早就忘了,只記得花了很長時間。

當時我們解決問題的能力簡直弱爆了,不知道代理伺服器,不會流暢地使用 Google,不會用英語搜索。現在這些問題再也難不倒我了,擁有這些經驗和方法之後,學習知識事半功倍。

上手 OpenFOAM 確實不需要太多 Linux 知識,但需要解決問題的能力。


需要linux知識不是很多,不過對於沒有任何經驗的人來說還是免不了一番折騰的。最好能找個人指導一下,能節省不少時間。


沒用過OPENFOAM,但是幫實驗室同學配置過

印象中OPENFOAM有自己的配置手冊,寫的很詳細了

這些Linux下的大型軟體其實說白了主要問題在於包管理的坑……怎麼正確處理包依賴比較蛋疼

The Linux Command Line

我是看上面那本入門的,除掉最後一章bash不用看,基礎知識部分一天就能看完

另外,除掉apt-get,可以試試aptitude

aptitude的好處是在於碰到包不對的情況會給你一些選項去解決包依賴問題

最後的最後,Google跟stackoverflow是你的好朋友~


一點點,我學openfoam的時候就知道兩個命令:cd,ls。


如果採用ssh的遠程登錄的話,那就要熟練掌握不少linux的命令了。常用的也就是mv cp sed ls cd find du touch這些


推薦閱讀:

如何列印出所有的漢字?
如何區分一串字元是亂碼還是英文或是拼音?
新手剛接觸編程怎樣去學習比較好?
作為一個什麼都不懂的初學者,應當從哪裡開始學習編程?
如何選擇業餘學習編程的方向?

TAG:編程 | Linux | 計算流體力學CFD |