IBAMR在Linux系统的安装

IBAMR在Linux系统的安装

参考自官网安装说明https://ibamr.github.io/index

在这里插入图片描述IBAMR (Immersed Boundary Method Adaptive Mesh Refinement Software Infrastructure)是浸没边界方法(IBM)的分布式内存并行实现,支持笛卡尔网格自适应网格细化(AMR)。通过消息传递接口 (MPI) 支持分布式内存并行。

本次安装在ubuntu22.04系统,前几步过程可以参照官网安装教程的 Build IBAMR on Linux 部分:Boost、Eigen、HDF5、Silo、MPI,不过需要注意的地方是,Boost版本并不是官网写的1.60.0,而是1.66.0以上。

(1)在安装PETSc的时候应该按照以下步骤:

mkdir petsc
cd petsc
tar xvfz petsc-3.17.5.tar.gz
mv petsc-3.17.5 3.17.5
cd 3.17.5

指定PETSc目录和版本(release而非debug):

export PETSC_DIR=$PWD
export PETSC_ARCH=linux-release

接下来在当前目录下执行configure,prefix是安装的目标路径,因人而异:

./configure \
  --prefix=/home/w/2023-08/ibamr/sfw/linux/3-17-5/linux-opt \
  --CC=/home/w/2023-08/openmpi/bin/mpicc \
  --CXX=/home/w/2023-08/openmpi/bin/mpicxx \
  --FC=/home/w/2023-08/openmpi/bin/mpif90 \
  --COPTFLAGS="-O3" \
  --CXXOPTFLAGS="-O3" \
  --FOPTFLAGS="-O3" \
  --PETSC_ARCH=linux-opt \
  --download-hypre=1 \
  --with-debugging=0 \
  --download-fblaslapack=1 \
  --with-x=0

接下来,按照提示执行如下步骤:

make PETSC_DIR=/home/w/2023-08/petsc/3.17.5 PETSC_ARCH=linux-opt all
make PETSC_DIR=/home/w/2023-08/petsc/3.17.5 PETSC_ARCH=linux-opt install

完成后需要将路径添加到系统的环境变量~/.bashrc:

export PETSC_DIR=$HOME/2023-08/petsc/3.17.5
export PETSC_ARCH=linux-opt

(2)libMesh的安装

tar -xvf libmesh-1.6.2.tar.gz
cd libmesh1.6.2
mkdir objs-debug
cd objs-debug

编译安装Opt版而非debug版:

../configure --prefix=/home/w/2023-08/ibamr/sfw/linux/libmesh-1.6.2/1.6.2-opt --with-methods=opt \
    CC=/home/w/2023-08/openmpi/bin/mpicc  \
    CXX=/home/w/2023-08/openmpi/bin/mpicxx \
    FC=/home/w/2023-08/openmpi/bin/mpif90 \
    F77=/home/w/2023-08/openmpi/bin/mpif90 \
    --with-mpi=/home/w/2023-08/openmpi \
    --with-petsc=/home/w/2023-08/ibamr/sfw/linux/3-17-5 \
    --enable-exodus \
    --enable-triangle \
    --enable-petsc-required \
    --disable-boost \
    --disable-eigen \
    --disable-hdf5 \
    --disable-openmp \
    --disable-perflog \
    --disable-pthreads \
    --disable-tbb \
    --disable-timestamps \
    --disable-reference-counting \
    --disable-strict-lgpl \
    --disable-glibcxx-debugging \
    --disable-vtk \
    --with-thread-model=none

注意,在执行这一步之前,需要将此前已经安装好的petsc安装目录中的linux-opt/include/petscversion.h头文件中第三行:

#include <petscconf.h>

替换为本地的petscconf.h文件路径:

#include "/home/w/2023-08/ibamr/sfw/linux/3-17-5/linux-opt/include/petscconf.h"

否则编译器无法找到该文件,会给出如下报错:

checking /home/w/2023-08/ibamr/sfw/linux/petsc/linux-opt/include/petscversion.h usability... no
...
configure: error: *** PETSc was not found, but --enable-petsc-required was specified.

configure完成后,执行:

make -j4
make -j4 install

(3)在上述工作完成后,按照官网的 Compiling IBAMR with CMake 部分内容完成 IBAMR的编译。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值