Windows 环境安装部署 OpenFOAM-v2106 及 ParaView 保姆级教程
-
作者:牛马丁
本人是OpenFOAM初学者,在安装OpenFOAM过程中遇到了很多问题,感谢前辈们的无私分享,才能一一解决。
吃水不忘挖井人,本人几经折腾终于有了点心得,遂总结了这篇经验帖以造福后人,前辈们的帖子放在末尾以供参考。目录
1 安装WSL2
因为OpenFOAM在Linux环境下运行,所以要在Windows中配置Linux环境。本文选用的是微软的Windows Subsystem for Linux(简称WSL)子系统。
对于windows10版本2004版本及更新版本或者windows11,可以直接一行命令符安装,方法如下:
-
Windows搜索powershell,以管理员身份启动
-
方法一(不指定版本): 在控制器中输入命令:
wsl --install
等待安装完成后重启电脑。
- 方法二(指定版本): 输入如下命令安装Ubuntu 20.04 LTS版本:
wsl --install Ubuntu-20.04
-
输入用户名和密码完成安装。
-
如果是Win10系统,WSL默认版本为1.0,可以手动设置为2.0(Win11可忽略):管理员运行powershell,输入:
wsl --set-default-version 2
因为WSL2比WSL1的性能提升很多。
Tips: 建议在微软商店下载
终端
应用,在终端
中启动Ubuntu更详细的教程可以参考:Windows 10 安装配置WSL2(ubuntu20.04)教程 超详细
2 配置OpenFOAM安装环境
2.1 下载源码
对于OpenFOAM-v2106,需要下载的源码包括:
Source: https://sourceforge.net/projects/openfoam/files/v2106/OpenFOAM-v2106.tgz/download
因为本帖使用基于Windows的ParaView,所以可以不必下载/编译ThirdParty文件。
2.2 安装所需库
- 逐行复制如下命令安装OpenFoam必要库:
sudo apt-get update sudo apt-get install build-essential autoconf autotools-dev cmake gawk gnuplot sudo apt-get install flex libfl-dev libreadline-dev zlib1g-dev openmpi-bin libopenmpi-dev mpi-default-bin mpi-default-dev sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev sudo apt-get install libfftw3-dev libscotch-dev libptscotch-dev libboost-system-dev libboost-thread-dev libcgal-dev
- 逐行复制如下命令安装ThirdParty必要库:(如果使用windows版本ParaView,这一部分可以忽略掉)
# 这里可以不执行,因为可以使用Win版ParaView sudo apt install paraview-dev # 这里最好还是执行一下 sudo apt install cmake qtbase5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev libqt5x11extras5-dev libxt-dev
2.3 配置编译环境
- 创建目录文件夹并进入,终端输入:
mkdir $HOME/OpenFOAM cd $HOME/OpenFOAM
- 拷贝源码到文件夹
将下载好的源码拷贝到Windows桌面,输入cp命令拷贝,其中目录的盘符/c/
和用户名myname
根据情况替换:
cp /mnt/c/Users/myname/Desktop/OpenFOAM-v2106.tgz .
注意:路径后以
空格
加.
结尾- 解压源码
终端逐行运行:
tar -xvf OpenFOAM-v2106.tgz
- 配置环境变量
终端运行:
vim ~/.bashrc
回车后打开bashrc文件,使用方向⬇键将光标移至最后一行,输入
i
进入编辑模式,在最后插入一行:source ~/OpenFOAM/OpenFOAM-v2106/etc/bashrc
按
Esc
退出编辑模式,并输入:wq
保存并退出。
接着在命令行输入:source ~/.bashrc
启动环境变量配置
3 编译OpenFOAM
- 测试安装环境
foamSystemCheck
- 移动到OpenFOAM目录($WM_PROJECT_DIR):
foam
注意:如果这一步失败了,说明环境变量配置不成功。
- 编译OpenFOAM
./Allwmake -j -s -l
Tips:根据测试,命令包含
-q
(queue)有概率失败,原因未知。4 检查安装
4.1 方式一
输入如下命令:
foamInstallationTest
输出没有Error即可。
注意: 对于OpenFOAM-v2106,输出可能包含critical error,但是经测试不影响使用;只要4.2的测试通过就行
4.2 方式二
- 测试案例中的算例,例如:
foamTestTutorial -full incompressible/simpleFoam/pitzDaily
- 也可以手动运行:
# Create the user "run" directory: mkdir -p "$FOAM_RUN" # Change to the user "run" directory: run # Copy tutorial cp -r "$FOAM_TUTORIALS"/incompressible/simpleFoam/pitzDaily ./ # Run the tutorial ( cd pitzDaily && blockMesh && simpleFoam )
以上就是OpenFOAM-v2106程序的全部安装过程。
接下来是后处理软件ParaView的Windows版本安装过程。5 安装ParaView Windows版本
OpenFOAM可以在windows下的Linux子系统(WSL)安装,但是很麻烦的一个问题是WSL没有图形化的界面,只有一个控制台窗口,在后处理的过程中我们就没有办法直接调用paraFoam命令启动ParaView来对OpenFOAM的计算结果进行后处理。paraFoam的实质其实就是调用ParaView的一个脚本,我们可以重写此脚本,在调用windows下安装ParaView来对OpenFOAM的计算结果进行后处理。简单的步骤如下:
5.1 下载/安装Windows版本的ParaView
- 首先从ParaView的官网上下载ParaView的windows系通下的安装包,下载链接如下:
https://www.paraview.org/download/
-
对于OpenFOAM-v2106,选择
ParaView-5.13.3-Windows-Python3.10-msvc2017-AMD64.zip
这个版本; -
解压缩到对应文件夹即可。
5.2 添加系统环境变量
-
windows搜索:
查看高级系统设置
,点击环境变量
,在系统变量里找到Path
,点击编辑:
-
点击
新建
,将上一步解压目录里的bin/目录添加到Path中,例如:
D:\Program Files\ParaView-5.13.3-Windows-Python3.10-msvc2017-AMD64\bin
- 添加完成后,确定。
5.3 修改paraFoam脚本
- 打开WSL Ubuntu,进入paraFoam脚本所在目录,并进行备份:
cd ~/OpenFOAM/OpenFOAM-v2106/bin sudo cp ~/OpenFOAM/OpenFOAM-v2106/bin/paraFoam ~/OpenFOAM/OpenFOAM-v2106/bin/paraFoam.bk
- 使用windows资源管理器打开该目录:
explorer.exe .
- 使用记事本打开paraFoam文件,将所有内容替换为以下脚本:
pre_para=`basename $PWD` para_file=${pre_para}.foam >${para_file} cmd.exe /c "paraview ${para_file}" rm ${para_file}
- 为paraFoam加上可执行权限:
sudo chmod +x paraFoam
- 重启WSL Ubuntu
5.4 建立Windows文件夹下的OpenFOAM算例运行目录
基于以上修改,需要在Windows目录下运行OpenFOAM算例,否则在WSL Ubuntu目录下执行paraFoam会报错。
- 首先在Windows目录里建立一个run文件夹,用于存放OpenFOAM算例,例如:
D:\OpenFOAM_run
- 然后启动Ubuntu,编辑环境变量:
vim ~/.bashrc
- 输入
i
进入编辑模式,在文件的末尾添加:
win_run=/mnt/d/OpenFOAM_run
-
按Esc退出编辑模式,并输入
:wq
保存并退出 -
执行环境变量:
source ~/.bashrc
- 然后输入$win_run就可以直接跳转Windows目录:
cd $win_run
然后我们输入paraFoam就是启动windows下的ParaView对OpenFOAM计算结果进行处理了
5.5 ParaView 远程桌面闪退问题
当使用虚拟机或者远程桌面时,使用的GPU驱动为OpenGL,这种驱动不足以显示ParaView界面,以下是解决办法:
- 下载,解压ParaView(使用5.13.3版本测试);
- 下载release-msvc(使用20.0.6版本);
- 在任意位置解压;
- 复制
x64/opengl32.dll
和x64/libglapi.dll
到ParaView根目录:ParaView_Path/bin/
- 打开windows命令提示符
- 使用cd命令进入到ParaView根目录
ParaView_Path/bin/
- 输入:
set MESA_GL_VERSION_OVERRIDE=4.5 paraview.exe #启动paraview
参考链接