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