centos7.7安装OpenFOAM-v2012和插件swak4Foam

获取OpenFOAM源代码

链接: openfoam.com官网.

直接下载源代码与第三方包上传至服务器

或者

$cd ~

$mkdir OpenFOAM

$cd OpenFOAM

$git clone 下载网页链接

$git clone 下载网页链接

解压

tar -xzf OpenFOAM-v2012.tgz
tar -xzf ThirdParty-v2012.tgz

前期准备工作

// 下载一些必要的包(大多数服务器自带)
sudo yum groupinstall -y 'Development Tools'

sudo yum install zlib-devel libXext-devel libGLU-devel libXt-devel libXrender-devel libXinerama-devel libpng-devel libXrandr-devel libXi-devel libXft-devel libjpeg-turbo-devel libXcursor-devel readline-devel ncurses-devel python python-devel cmake qt-devel qt-assistant mpfr-devel gmp gmp-devel

centos7.7系统自带是cmake2,不更新得话,后续openfoam编译中可选组件(ADIOS2)会出现构建问题,但OpenFOAM会继续保持正常功能

根据官网推荐,更新:

//需要输入密码
sudo yum update
sudo yum install build-essential autoconf autotools-dev cmake gawk gnuplot
sudo yum install flex libfl-dev libreadline-dev zlib1g-dev openmpi-bin libopenmpi-dev mpi-default-bin mpi-default-dev
sudo yum install libgmp-dev libmpfr-dev libmpc-dev

//如果打算使用系统组件,root用户可以更新如下系统组件
yum install libscotch-dev libptscotch-dev libfftw3-dev libboost-system-dev libboost-thread-dev libcgal-dev

注意这里不包括paraview所需要的,安装paraview还需要其他组件

一般执行完这些命令,就基本齐全了,重要的openmpi无需自己再安装了

设置环境变量

// 会弹出窗口
gedit $HOME/.bashrc

//若是用xshell且没下xmanager,则
vim $HOME/.bashrc

//将此句输入文件末尾
source $HOME/OpenFOAM/OpenFOAM-v2012/etc/bashrc

//下面两句是之后编译OpenFOAM所需要的并行的链接,这里是提前加进去了,在编译之前加就行
export PATH=$PATH:$HOME/OpenFOAM/ThirdParty-v2012/platforms/linux64Gcc/openmpi-4.0.3/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/OpenFOAM/ThirdParty-v2012/platforms/linux64Gcc/openmpi-4.0.3/lib

//关闭终端,自动保存
//或者输入source ~/.bashrc

构建第三方包

cd ThirdParty-V2012

./Allwmake
//如果重复运行了编译,最好在此步之前执行一下./Allclean

构建OpenFOAM

cd $WM_PROJECT_DIR

./Allwmake -j > log.make 2>&1
//会有些久,耐心等待

icoFoam -help
//如果输出版本信息就安装成功了

blockMesh
//也可以输入这个检查是否安装成功,如果报错找不到文件,就成功了

//其实只要不是command not found,基本都是安装成功

安装插件swak4foam

可参考链接: 官网教程.

从此链接可以跳转至环境构建、下载、安装、错误检查等等

mkdir -p $FOAM_RUN

cd "$HOME/OpenFOAM/$USER-$WM_PROJECT_VERSION"

sudo yum install mercurial
//这步很重要,不安装会出错

hg clone http://hg.code.sf.net/p/openfoam-extend/swak4Foam swak4Foam
//如果下载不了,在上面的官网链接中的download中尝试其他路径

cd swak4Foam

./AllwmakeAll
//还是一样,如果之前有运行过,建议执行./Allclean
//需要一点时间,编译过程出现warning很正常,可以正常使用

funkySetFields
//检查是否安装成功,若出现版本信息,则安装成功

使用需要在op文件中的system/controldict中添加lib,具体参见上述链接

一些其他的题外话

之前搜OP安装时,都会有如下步骤,但是在我执行完如上所有步骤时,一切都运行正常。但还是把总结的前人一些过往经验放上来:

一些必要的包下载:

主要是boost、CGAL、cmake、openmpi,其中除了cmake之外,其他在第三方包中都有,可以自行下载想要的版本解压至Third文件中,cmake在centos系统中也自带了,若要构建paraview需要装新版cmake

$cd ThirdParty-5.x

$mkdir download

$wget -P download https://www.cmake.org/files/v3.9/cmake-3.9.0.tar.gz

$wget -P download https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-4.10/CGAL-4.10.tar.xz

$wget -P download https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.bz2

$wget -P download https://www.open-mpi.org/software/ompi/v2.1/downloads/openmpi-2.1.1.tar.bz2
//新版本openmpi已经到4
$wget -P download http://www.paraview.org/files/v5.4
//paraview下载时间可能很长

//解压
$tar -xzf download/cmake-3.9.0.tar.gz

$tar -xJf download/CGAL-4.10.tar.xz

$tar -xjf download/boost_1_55_0.tar.bz2

$tar -xjf download/openmpi-2.1.1.tar.bz2

关于构建openmpi

cd openmpi-4.0.3/

./configure
//仅root可这样,如果直接configure,那默认安装在/usr/lib64/openmpi/bin下,普通用户没有访问权限,在之后的make install执行时会报recursive的错误,即没有权限安装;普通用户要按下面设定安装目录,否则后面安装会无权访问)

//文件要自己先建立,比如说
./configure --prefix=/home/xy/openmpi

make && make install
//在执行make install时,会出现权限不够无法写入的情况,反复调整,无果。因此还是建议跟前面正文一样yum一下必要的软件

关于构建swak4foam

之前在ubantu20系统上安装swak4Foam插件时,一直不成功,有一个原因是新版ubantu已经删除了python;若输出的log文件有此问题得话,有两种方法供解决:

  1. install a package that does that (I hear Ubuntu 20.04 has such a package
  2. set a symbolic link in a directory in PATH that points to either python2 or 3

你可能感兴趣的:(linux,openfoam,centos)