###### tags: `深度學習`
# Openfoam
## 環境建立
### [安裝 (WSL 環境)](https://openfoam.org/download/windows/)
透過 wsl 可以在 Window 環境中下載 [OpenFOAM for Ubuntu](https://openfoam.org/version/ubuntu/) packaged distributions
使用 XServer 軟體可以支援 Linux 系統的圖形應用程式,像是 OpenFOAM reader module 的 ParaView 版本
### 安裝 OpenFOAM
- 建立 OpenFOAM List
透過使用 apt 工具來下載 OpenFOAM list
- 輸入下面的指令
`sudo sh -c "wget -O - https://dl.openfoam.org/gpg.key > /etc/apt/trusted.gpg.d/openfoam.asc"`
`sudo add-apt-repository http://dl.openfoam.org/ubuntu`
- 更新 apt
`sudo apt-get update`
- 安裝 OpenFOAM 包含 paraviewopenfoam5.6.3 的版本
`sudo apt-get -y install openfoam10`
- User Configuration
如果要使用安裝好的 OpenFOAM,會需要完成一些步驟
- 打開 ==.bashrc== 檔案
`gedit ~/.bashrc`
- 在該檔案的最後一行加上 `source /opt/openfoam10/etc/bashrc` 並存檔
- 打開新的終端介面,測試 ==SimpleFoam==
`simpleFoam -help`
應該要出現 'Uasge' 的訊息
- Getting Started
- 在 ==$HOME/OpenFoam== 建立名字是 ==<USER>-10== 的專案資料夾
`mkdir -p $FOAM_RUN`
- 輸入下面的指令來建立一些可以使用的 Example
`cd $FOAM_RUN`
`cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .`
`cd pitzDaily`
`blockMesh`
`simpleFoam`
`paraFoam`
### Enabling Graphical Applications
如果要使用 Linux 的圖形化應用程式,會需要安裝 ==XServer==
這邊是使用 ==VcXsrv==
- 下載 [XServer](https://sourceforge.net/projects/vcxsrv/files/latest/download)
選擇最新版本的 VcXsrV
- 執行 ==Xlaunch==
- 打開 “Extra settings” 視窗
- 取消勾選 ==“Native opengl”==
- 選取 ==“Disable access control”==
當 bash shell 是打開的狀態下,Display 環境應該要指向運作中的 XServer
透過 user 中的 ==.bashrc== 檔案來調整 Display
- 輸入下面的指令來更改 .bashrc 的設定
`echo "export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0" >> ${HOME}/.bashrc`
- 重新 source ==bashrc== 檔案
`. $HOME/.bashrc`
- 透過下面的指令可以額外安裝其他常用的圖形化應用程式,像是 ==gedit file editor== , ==GunPlot==, 以及 ==mplayer video==
`sudo apt-get install gedit gedit-plugins`
`sudo apt-get install gnuplot gnuplot-x11 gnuplot-doc libgd-tools`
`sudo apt-get install mplayer mencoder`
### 使用
- [Running](https://develop.openfoam.com/Development/openfoam/-/wikis/running#transient-one-time-use)
- [Tutorial_Lid-driven cavity flow](https://www.openfoam.com/documentation/tutorial-guide/2-incompressible-flow/2.1-lid-driven-cavity-flow)
簡單的教學,必須看呢
## NOTE