0 寫在前面
此文檔是我的學習筆記整理氏淑,內容不是很多读整,也可能比較老拒逮,是學習一份英文資料時寫的罐氨,希望能夠有幫助。
1 OpenFOAM路徑管理
$WM_PROJECT_DIR
(OpenFOAM安裝路徑)
├──
Allwmake(文件)
├──
applications
├──
bin
├──
COPYING(文件)
├──
doc
├──
etc
├──
platforms
├──
README.org(文件)
├──
src
├──
tutorials
└──
wmake
>$ echo $WM_PROJECT_DIR # 查看OpenFOAM安裝路徑
>$ env | grep "OpenFOAM" # 查看OpenFOAM定義的環(huán)境變量
>$ alias | grep FOAM # 查看OpenFOAM定義的別名命令
- 在
$WM_PROJECT_DIR
下做的任何代碼更改將會影響整個類庫玩徊。除了軟件升級外租悄,除非你知道自己在做什么,否則不要更改原始文件
1.1 applications路徑
>$ cd $WM_PROJECT_DIR/applications # 切換路徑
文件夾:
- solvers --- 包含求解器的源代碼
- test --- 測試算例恩袱,展示如何使用OpenFOAM類
- utilities --- 包含工具的源代碼
1.2 bin路徑
>$ cd $WM_PROJECT_DIR/bin # 切換路徑
包含很多實用工具腳本泣棋,如foamNew
等
1.3 doc路徑
>$ cd $WM_PROJECT_DIR/doc # 切換路徑
doc路徑下包含OpenFOAM文檔,分別是user guide畔塔、programer‘s guide 和 用于doxygen
生成html文檔的相關文件
1.4 etc路徑
>$ cd $WM_PROJECT_DIR/etc # 切換路徑
- 包含環(huán)境配置文件潭辈,OpenFOAM全局命令鸯屿、模板和數據庫
- 包含超級字典controlDict,可配調試選項和默認單位
1.5 platforms路徑
>$ cd $WM_PROJECT_DIR/platforms # 切換路徑
包含編譯applications時生成的二進制文件和編譯src中源代碼生成的庫文件
1.6 src路徑
>$ cd $WM_PROJECT_DIR/src # 切換路徑
- 該路徑包含所有OpenFOAM基礎庫的源代碼把敢,是OpenFOAM的核心
- OpenFOAM:包括用于操作的容器的定義寄摆、場的定義,諸如區(qū)修赞、集等網格特性及網格的聲明婶恼。
- finiteVolume:有限體積離散需要的所有類的定義,例如網格處理柏副、有限體積離散運算符和邊界條件勾邦。另外,finiteVolume/lnInclude下的fvCFD.H被大多數應用程序包含搓扯。
- sixDoFRigidBodyMotion:包含動網格求解器的核心代碼
- transportModels:輸運模型核心庫
- turbulenceModels:湍流模型
1.7 tutorials路徑
>$ cd $WM_PROJECT_DIR/tutorials # 切換路徑
路徑下包含針對每個求解器的測試算例
- 不要把算例當成最好的實踐检痰,算例只是為了展示如何使用求解器
1.8 wmake路徑
>$ cd $WM_PROJECT_DIR/wmake # 切換路徑
-
wmake
讀取該目錄下的文件,進行編譯 - wmake/rules 可以修改默認設置
- 其他腳本
1.9 OpenFOAM用戶路徑
>$ cd $WM_PROJECT_UEER_DIR # 切換路徑
建議:將自己的算例放在用戶路徑下锨推,同時自己寫或修改的求解器铅歼、工具和庫都編譯到這里。
1.10 使用find
换可、grep
查找文件及內容
- 使用
find
命令查找文件
>$ find $WM_PROJECT_DIR -type d -name "*fvPatch*"
# 查找位置 類型:路徑 包含信息
>$ find $WM_PROJECT_DIR -type f - name "*fvPatch*"
# 查找位置 類型:文件 包含信息
- 使用
grep
命令查找文件內容
>$ grep -r -n "LES" $FOAM_SOLVERS
# -r 遞歸查找 -n 顯示行號
1.11 配置環(huán)境
>$ source $WM_PROJECT_DIR/etc/bashrc # for bash