想了想还是随便更新点有关OpenFOAM(以下简称OF)的东西吧。。。这玩意估计...应该没有什么做cfd的家伙在b站上找资源(并不
说起来这软件我也就自己捣鼓了一年多点,也只是稍微会应用其内置求解器求解一些简单问题的水平,还不会到能够根据需求自己写求解器,所以该系列随缘更新,大佬们就当我给自己的备忘录吧...也非常欢迎各位从事cfd的大佬给予批评和指正orz
关于安装的部分,基本基于OpenFOAM官网给出的编译教程 https://openfoam.org/download/source/。本人在个人笔记本上安装了ubuntu,也不知道跟在大型机上的安装有没有什么不同,所以安装部分是基于有root权限的个人ubuntu系统中进行的
首先整个过程需要用到以下几个工具(我也不知道该怎么统称它们,编译器?编译软件?)
c++编译器:推荐gcc 4.8以上
FLEX
cmake
QT version>=4.8
Git工具
OpenMPI
如果没有的话自行百度一波................
对于Ubuntu(笔者所用)
为OF安装以下独立软件包:
sudo apt-get install 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
为ParaView(比较方便的交互式结果查看器,以下简称PV)安装以下独立软件包:
sudo apt-get install libqt5x11extras5-dev libxt-dev qt5-default qttools5-dev curl
这两部分命令可以从官网copy
对于RedHat类的Linux(大概CentOS这种吗)
由于一般自带了低版本的各种软件,比如gcc4.4.7,因此需要对各软件进行更新
1. 安装编程工具
yum groupinstall 'Development Tools'
yum install openmpi openmpi-devel
yum install epel-release
yum install --nogpgcheck qtwebkit qtwebkit-devel
yum install --nogpgcheck CGAL CGAL-devel
2. 重新链接boost c++ lib
ln -s /usr/lib64/libboost_thread-mt.so /usr/lib64/libboost_thread.so
3. 将OpenMPI添加到~/.bashrc
export PATH=/usr/lib64/openmpi/bin/:$PATH
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib/:$LD_LIBRARY_PATH
4. 检查mpirun和gcc
如果gcc版本不符合要求,可以通过如下方式重新设置:
4.1 安装
yum-config-manager --nogpgcheck --add-repo http://springdale.princeton.edu/data/puias/6.5/x86_64/os
yum-config-manager --nogpgcheck --add-repo http://springdale.princeton.edu/data/puias/DevToolset/6.5/x86_64
yum install --nogpgcheck devtoolset-1.1-runtime devtoolset-1.1-gcc.x86_64 devtoolset-1.1-gcc-c++.x86_64
4.2 激活gcc,将以下内容添加于环境变量文件内
source /opt/rh/devtoolset-1.1/enable
从github下载OF
进入$HOME/OpenFOAM(没有自行创建一个),下载OF和三方软件库
git clone https://github.com/OpenFOAM/OpenFOAM-dev.git
git clone https://github.com/OpenFOAM/ThirdParty-dev.git
如果要下载其它版本,将dev改成版本号(1~8),并且随后步骤也需要将dev改成版本号
配置环境变量(~/.bashrc)
将以下内容添加于~/.bashrc内
source $HOME/OpenFOAM/OpenFOAM-dev/etc/bashrc
再source ~/.bashrc
测试是否添加成功:
echo $WM_PROJECT_DIR
输出示例:

安装三方软件(ThirdParty-dev)
Scotch/PT-Scotch
cd ./ThirdParty-dev
./Allwmake
ParaView
./makeParaView
由于中间会下载PV的tar.gz文件,速度较慢的话可以自行从官网下载(https://www.paraview.org/download/),找到对应版本号的tar.gz。版本号由echo $ParaView_VERSION查看。
下载后解压tar -xvzf xxxxxxxx.tar.gz
改名mv xxxx ParaView-v{你的版本号}
进入./ThirdParty-dev/etc/tools
vi ParaViewFunctions
修改以下内容:


再./makeParaView
完成后wmRefresh
编译OF
cd OpenFOAM-dev
./Allwmake -j
一直等就好
调试
simpleFoam -h

更新OF
git pull
./Allwmake -update
若出问题可以尝试
wcleanPlatform
./Allwmake
感谢大佬们的阅读。以上代码都可从官网直接复制(想敲也可以(手动滑稽
欢迎批评指正!
by karag
封面来源于网络