本贴记录一下自己使用OpenFOAM时遇到的问题和解决方案。
有遇到以下问题的朋友,欢迎交流!
【问题1】
计算条件:OpenFOAM8和olaFlow kOmegaSST湍流模型
问题:在并行设置时decomposeParDict中的method设置为simple时,
运行时的interfaceHeight采集到的波面高程为2倍;
设置为scotch时,一些算例正常,一些算例的个别采样点还是2倍。
【问题2】(未完全解决) 多版本安装的并行问题
现在WSL的Ubuntu安装了OpenFOAM-8,后又安装了OpenFOAM-v2012。v2012运行正常,8并行出现如下图错误。二者的Open MPI版本不同,OpenFOAM-8为2.1.1,v2012为4.0.3。
另一台电脑也是WSL的Ubuntu先安装了OpenFOAM-8,后又安装了OpenFOAM-9,二者运行皆正常。查看了二者的Open MPI版本是相同的,均为2.1.1。
野路子解决方案如下(捂脸):
之前安装的OpenFOAM-8是通过网络方式的命令安装的(即https://openfoam.org/download/windows/),这种安装方式下Open MPI的版本是2.1.1。
因此,先卸载OpenFOAM-8,重新通过源码编译的方式安装,参考【OpenFOAM学前预备3——安装OpenFOAM-v8】。
此时,我的WLS下有两个版本的OpenFOAM,即OpenFOAM-v2012和OpenFOAM-v8。但是在使用时通过“alias”方式仍无法解决v8的并行问题。因此暂时采用一个傻方法,想用使用某一版本时,修改~/.bashrc(注释掉另一个,如下),然后重新打开一个终端。
source /opt/OpenFOAM/OpenFOAM-8/etc/bashrc
# source /opt/OpenFOAM/OpenFOAM-v2012/etc/bashrc
附:OpenFOAM-v8源码编译过程
下载源码:https://openfoam.org/download/8-source/
sudo apt update
sudo 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
vim ~/.bashrc
# source /opt/OpenFOAM/OpenFOA-8/etc/bashrc
./Allwmake -j
就好了。