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

 

posted @ 2024-05-16 13:26  清风6661  阅读(345)  评论(0)    收藏  举报