centos7 编译安装LBPM LAMMPS OPENFOAM
编译安装LBPM
一、更换gcc版本、安装cmake3.10.0
LBPM编译需要gcc版本4.8.5以上,支持stdc++14
1、使用scl安装gcc7.3
yum install centos-release-scl scl-utils-build -y
yum install devtoolset-7-gcc.x86_64 devtoolset-7-gcc-c++.x86_64 devtoolset-7-gcc-gdb-plugin.x86_64 -y
scl --list
scl enable devtoolset-7 bash
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-7/root/usr --mandir=/opt/rh/devtoolset-7/root/usr/share/man --infodir=/opt/rh/devtoolset-7/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --with-default-libstdcxx-abi=gcc4-compatible --with-isl=/builddir/build/BUILD/gcc-7.3.1-20180303/obj-x86_64-redhat-linux/isl-install --enable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)
2、安装cmake-3.10.0
chmod +x cmake-3.10.0-Linux-x86_64.sh
./cmake-3.10.0-Linux-x86_64.sh
将cmake加入到.bashrc环境变量文件中
二、下载相关依赖openmpi zlib hdf5 silo
依赖版本 openmpi3.1.2 zlib1.2.11 hdf51.8.12 silo4.10.2
依赖自行搜索下载
zlib安装:
tar xvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/zlib
make && make install
将zlib lib库加入到.bashrc中
opemmpi安装
tar xvf openmpi-3.1.2.tar.gz
cd openmpi-3.1.2
./configure --prefix=/usr/local/openmpi
make && make install
hdf5安装
tar -xzvf hdf5-1.8.12.tar.gz
cd hdf5-1.8.12
CC=$MPI_DIR/bin/mpicc CXX=$MPI_DIR/bin/mpicxx CXXFLAGS="-fPIC -O3 -std=c++14" \
./configure --prefix=$LBPM_HDF5_DIR --enable-parallel --enable-shared --with-zlib=$LBPM_ZLIB_DIR
make && make install
相关变量要提前设置好!
silo安装
tar -xzvf silo-4.10.2.tar.gz
cd silo-4.10.2
CC=$MPI_DIR/bin/mpicc CXX=$MPI_DIR/bin/mpicxx CXXFLAGS="-fPIC -O3 -std=c++14" \
./configure --prefix=$LBPM_SILO_DIR -with-hdf5=$LBPM_HDF5_DIR/include,$LBPM_HDF5_DIR/lib --enable-static
make && make install
相关变量要提前设置好!
LBPM编译安装
变量设置
export LBPM_SOURCE=/path/to/source/LBPM
export LBPM_DIR=/path/to/build/LBPM
export LBPM_HDF5_DIR=/path/to/hdf5
export LBPM_SILO_DIR=/path/to/silo
根据实际安装路径设置
mkdir $LBPM_WIA_DIR cd $LBPM_WIA_DIR 变量$LBPM_WIA_DIR为要编译的目录
cmake \
-D CMAKE_BUILD_TYPE:STRING=Release \
-D CMAKE_C_COMPILER:PATH=mpicc \
-D CMAKE_CXX_COMPILER:PATH=mpicxx \
-D CMAKE_C_FLAGS="-fPIC" \
-D CMAKE_CXX_FLAGS="-fPIC" \
-D CMAKE_CXX_STD=14 \
-D USE_TIMER=0 \
-D TIMER_DIRECTORY=$LBPM_TIMER_DIR \
-D USE_NETCDF=0 \
-D NETCDF_DIRECTORY=$LBPM_NETCDF_DIR \
-D USE_SILO=1 \
-D HDF5_DIRECTORY=$LBPM_HDF5_DIR \
-D SILO_DIRECTORY=$LBPM_SILO_DIR \
-D USE_CUDA=0 \
$LBPM_SOURCE
根据实际情况调整
make && make install
安装完成后执行 ctest测试
编译安装 LAMMPS
lammps依赖fftw
下载fftw3.3.9,编译fftw
tar zxvf fftw-3.3.9.tar.gz
cd fftw-3.3.9/
./configure --prefix=/usr/local/fftw-3.3.9 --enable-mpi
make && make install
编辑.bashrc,将fftw加入环境变量
下载lammps,编译lammps
tar zxvf lammps-xxx.tar
cd lammps-xxx
cd src
make package-status 查看依赖包状态
make yes-MANYBODY
make yes-KSPACE
make yes-MOLECULE
make yes-MISC #准备安装MANYBODY等四个模块
make mpi
如果编译成功,会生成名为“lmp_mpi”的可执行程序文件
编译安装 openfoam
sudo su 切换到root帐号
安装必要的编译用软件包
yum groupinstall 'Development Tools'
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-devel
yum upgrade
新建目录,下载OpenFOAM
cd ~
mkdir OpenFOAM
cd OpenFOAM
git clone https://github.com/OpenFOAM/OpenFOAM-5.x.git
git clone https://github.com/OpenFOAM/ThirdParty-5.x.git
新建下载目录,准备下载依赖软件包
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
wget -P download http://www.paraview.org/files/v5.4/ParaView-v5.4.0.tar.gz
根据实际情况下载,我这里已经安装了openmpi,所以是不用再下载openmpi,以上只是实例
解压依赖软件包
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
tar -xzf download/ParaView-v5.4.0.tar.gz --transform='s/ParaView-v5.4.0/ParaView-5.4.0/'
修改CGAL配置
sed -i -e 's/\(boost_version=\)boost-system/\1boost_1_55_0/' OpenFOAM-5.x/etc/config.sh/CGAL
sed -i -e 's/\(cgal_version=\)cgal-system/\1CGAL-4.10/' OpenFOAM-5.x/etc/config.sh/CGAL
加载64位环境配置
source $HOME/OpenFOAM/OpenFOAM-5.x/etc/bashrc WM_LABEL_SIZE=64 WM_MPLIB=OPENMPI FOAMY_HEX_MESH=yes
如果有报错,或提示修改OpenFOAM-5.x目录名称为OpenFOAM-5.0 ThirdParty-5.x的也改成5.0 ,要不读取环境变量会出错。
可以装环境变量加入.bashrc中,并使用别名of5x
echo "alias of5x='source \$HOME/OpenFOAM/OpenFOAM-5.x/etc/bashrc $FOAM_SETTINGS'" >> $HOME/.bashrc
source ~/.bashrc后,输入of5x,将载入openfoam环境变量
安装cmake
cd $WM_THIRD_PARTY_DIR
./makeCmake > log.makeCmake 2>&1
wmRefresh
编译所有依赖
cd $WM_THIRD_PARTY_DIR
./Allwmake > log.make 2>&1
wmRefresh
编译安装ParaView
cd $WM_THIRD_PARTY_DIR
#this will take a while... somewhere between 30 minutes to 2 hours or more
./makeParaView -mpi
wmRefresh
如果安装报错缺少QT,则需要另外安装QT
下载并安装QT
wget https://link.zhihu.com/?target=https%3A//download.qt.io/new_archive/qt/5.9/5.9.7/
chmod +x qt-opensource-linux-x64-5.9.7.run
./qt-opensource-linux-x64-5.9.7.run

QT安装时的模块选择
安装完成后,根据安装的目录加入QT环境变量
export QTDIR=/opt/Qt5.9.7/5.9.7/gcc_64
export PATH=$QTDIR/bin:/opt/Qt5.9.7/Tools/QtCreator/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
进入OpenFOAM目录编译
cd $WM_PROJECT_DIR
./Allwmake -j 4 > log.make 2>&1
测试
icoFoam -help
Usage: icoFoam [OPTIONS]
options:
-case <dir> specify alternate case directory, default is the cwd
-noFunctionObjects
do not execute functionObjects
-parallel run in parallel
-roots <(dir1 .. dirN)>
slave root directories for distributed running
-srcDoc display source code in browser
-doc display application documentation in browser
-help print the usage
输出正常则编译安装完成。
补充:
因centos7生命周期结束,centos7源已失效,安装完scl包后需要修改scl yum源信息
将[centos-sclo-rh]下的内容改为下面内容:
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://vault.centos.org/centos/7/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
有gfortran版本需求请安装:
yum install devtoolset-7-gcc-gfortran

浙公网安备 33010602011771号