openform環境搭建-編譯

燕山督云侠發表於2024-08-16

參考文件 OpenFOAM安裝

1 基於docker安裝ubuntu:22.04環境和基礎工具

OpenFOAM 11支援以下版本的Ubuntu作業系統:

  • 20.04 LTS(長期支援版本),代號為focal。
  • 22.04 LTS,代號為jammy。
  • 23.04,代號為lunar,支援直到2024年5月。
  • 24.04 LTS,代號為noble,從2024年6月開始支援。
    當前基於ubuntu:22.04進行安裝

1.1 下載安裝ubuntu:22.04

docker pull ubuntu:22.04
docker run -it ubuntu:22.04

使用的映象"https://docker.m.daocloud.io",需要登入外網

1.2 下載安裝 基礎工具

OpenFOAM 和 ParaView 這兩個軟體可以使用 apt 包管理工具簡單地進行首次安裝。

  • OpenFOAM是一個開源的計算流體動力學(CFD)軟體包,而ParaView是一個用於科學視覺化的開源軟體。
  • 這個新版本與ParaView軟體一起提供,對於Ubuntu的24.04和22.04版本,使用標準的paraview包;而對於Ubuntu 20.04版本,則使用定製的paraviewopenfoam510包。
apt update &&
apt-get install -y build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev 

上述命令需要執行30分鐘左右

2 下載openfoam11原始碼並編譯

2.1 下載安裝

一次性複製下面所有內容到終端

cd /root &&
if [ ! -d "OpenFOAM" ];then mkdir OpenFOAM; fi &&
apt update &&
apt-get install -y build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev &&
cd OpenFOAM &&
git clone https://e.coding.net/dyfluid/OpenFOAM/OpenFOAM-11.git &&
git clone https://e.coding.net/dyfluid/OpenFOAM/ThirdParty-11.git &&
source OpenFOAM-11/etc/bashrc &&
cd OpenFOAM-11 &&
./Allwmake -j &&
sed -i '$a source /root/OpenFOAM/OpenFOAM-11/etc/bashrc' /root/.bashrc

上述命令需要執行十幾分鐘左右

2.2 驗證

編譯之後請嘗試在終端執行

blockMesh

如果顯示如下資訊,表示安裝成功

root@573948480d7d:~/OpenFOAM/OpenFOAM-11# blockMesh
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  11
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 11-c06fdedc879b
Exec   : blockMesh
Date   : Jul 22 2024
Time   : 08:49:17
Host   : "573948480d7d"
PID    : 82826
I/O    : uncollated
Case   : /root/OpenFOAM/OpenFOAM-11
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time



--> FOAM FATAL ERROR:
cannot find file "/root/OpenFOAM/OpenFOAM-11/system/controlDict"

    From function virtual Foam::autoPtr<Foam::ISstream> Foam::fileOperations::uncollatedFileOperation::readStream(Foam::regIOobject&, const Foam::fileName&, const Foam::word&, bool) const
    in file global/fileOperations/uncollatedFileOperation/uncollatedFileOperation.C at line 539.

FOAM exiting

3 下載安裝ParaView

安裝OpenFOAM之後,還需要安裝ParaView。主要用於對OpenFOAM算例進行後處理。Paraview的安裝有倆種方式。一種是安裝原版paraivew,一種是在OpenFOAM環境中編譯paraFoam。注意,原版ParaView不能顯示拉格朗日粒子,但處理大網格算例較快。可按照所需進行選擇。也可兩者同時安裝。

方式一:原版ParaView

在使用的過程中,可以在OpenFOAM算例下建立一個空檔案並命名為case.foam,然後在終端鍵入paraview即可執行。執行後,用ParaView開啟case.foam即可。

apt install paraview

方式二:編譯版paraFoam

一次性複製下面所有內容到終端

cd $HOME/OpenFOAM/ThirdParty-11 &&
apt-get install git cmake build-essential libgl1-mesa-dev libxt-dev libqt5x11extras5-dev libqt5help5 qttools5-dev qtxmlpatterns5-dev-tools libqt5svg5-dev python3-dev python3-numpy libopenmpi-dev libtbb-dev ninja-build qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools &&
./makeParaView &&
wmRefresh &&
cd $FOAM_UTILITIES/postProcessing/graphics/PVReaders &&
./Allwclean &&
./Allwmake

相關文章