【OpenFOAM案例】03 Docker安裝OpenFOAM


“工欲善其事必先利其器”,軟件裝不上,講再多的使用技巧也是白搭。近期不少留言說OpenFOAM不容易安裝,今天來談談如何在Linux下利用Docker安裝OpenFOAM。

Linux發行版眾多,估計有幾百種,比較流行的是三個派系:

  • RHEL系。比較出名的發行版像Red Hat Enterprise、CentOS、Fedora等
  • SuSE系。像OpenSUSE等
  • Debian系。流行的如Ubuntu、Linux Mint等

OpenFOAM對於Ubuntu專門提供了安裝方式,利用apt-get方法快速的安裝。不過對於其他的linux發行版,則沒那么方便了,下面的方法主要針對ubuntu以外的linux系統,不過也同樣適用於ubuntu。

本文采用的是Docker方式安裝OpenFOAM,其實也可以利用源代碼編譯的方式安裝,不過編譯過程耗時較長。

以下內容以CentOS為基礎進行解說,其他發行版並未經過測試。

1 安裝前的准備工作

確保自己使用的Linux內核足夠新。在終端中輸入命令查看操作系統內核版本號:

uname -r

至少保證內核版本高於3.10。如下圖所示,此操作系統內核版本為3.10,滿足安裝要求。

注意:確保網絡暢通。

2 安裝Docker

Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。關於Docker,可以自己上網搜索。

2.1 RHEL、CentOS及Fedora

輸入命令更新源:

sudo yum -y update(在RHEL及CentOS上)
sudo dnf -y update(在Fedora上)

輸入一下命令安裝Docker:

curl -fsSL https://get.docker.com/ | sh
sudo systemctl enable docker.service
sudo systemctl start docker

第一條命令安裝過程會持續很久,視網速而定,需要耐心等待。

2.2 SLES以及openSuSE

在SLES發行版上,要先輸入:

sudo SUSEConnect -p sle-module-containers/12/x86_64 -r ''

之后輸入(SLES及openSuSE上):

sudo zypper -n in docker
sudo systemctl start docker
sudo systemctl enable docker

2.3 Debian

輸入命令:

sudo apt-get -y update
curl -fsSL https://get.docker.com/ | sh

3 配置Docker

輸入命令將用戶添加到Docker中。

sudo usermod -aG docker $(whoami)

4 安裝openfoam4-linux

輸入命令:

sudo sh -c "wget http://dl.openfoam.org/docker/openfoam4-linux -O /usr/bin/openfoam4-linux"
sudo chmod 755 /usr/bin/openfoam4-linux

5 運行openfoam4-linux

輸入命令:

mkdir -p $HOME/OpenFOAM/${USER}-4.1
cd $HOME/OpenFOAM/${USER}-4.1
openfoam4-linux

最后一個命令因為要連接docker,如果網速非常慢可能會出錯,多試幾次。連接成功后會下載文件,好幾百兆的文件,可能會持續很久。

出現如下圖所示情況后,耐心等待吧,幾百兆的文件估計要下載很久很久(建議爬牆,否則會很慢)。

6 測試OpenFOAM

當所有的文件都下載完畢后,終端會自動進行解壓。

解壓完畢后會自動啟動Docker,此時可以在里面運行OpenFOAM。

依次輸入以下命令:

cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressible/simpleFoam/pitzDaily .
cd pitzDaily
blockMesh
simpleFoam
paraFoam

如下圖所示。

計算結果如圖所示。

若要關閉docker,則可以使用命令:

exit

關閉后若要再次啟動Docker,可使用命令:

service docker start
cd $HOME/OpenFOAM/${USER}-4.1
openfoam4-linux

啟動Docker后就可以使用OpenFOAM的各種功能了。


更多關於CFD內容,可微信掃描下方二維碼關注微信公眾號。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM