Ubuntu 安装 OpenFOAM + PETSc

Ubuntu18.04 环境下安装 OpenFOAM-v2006 + PETSc 3.13.2

1. 安装OpenFOAM-v2006

OpenFOAM-v2006   petsc-3.13.2   ThirdParty-v2006

均可以从相应的官网上获取。
3个安装包解压完成之后,设置环境变量:

vi ~/.bashrc
alias of2006="source ~/of2006/OpenFOAM-v2006/etc/bashrc"

然后命令行输入 of2006加载OpenFOAM-v2006环境。

进入OpenFOAM-v2006文件夹,并行编译,大约需要几小时:

Allwmake -j

编译完成后可以通过blockMesh命令测试:
在这里插入图片描述
出现以上内容则说明编译安装OpenFOAM-v2006完成。

2. PETSc-Foam debugging版本

将以下内容复制到 ThirdParty-v2006/makePETSC 文件中:

./configure
    --with-64-bit-indices=0 \
    --with-precision=double \
    --prefix=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/petsc-git \
    PETSC_ARCH=$WM_OPTIONS

其中的 PETSC_ARCH=$WM_OPTIONS内容也可以先不添加,由系统默认生成。
然后执行指令:

./makePETSC

如果报错 f2cblaslapack 包未安装在指定的文件夹,则可以在 petsc-3.13.2 文件夹中执行指令:

./configure --with-cc=gcc --with-cxx=0 --with-fc=0 --download-f2cblaslapack --download-mpich

f2cblaslapack下载下来,再保存到指定的文件夹,系统中已经安装mpi的可以删掉最后一条指令。

然后再按照提示给出的指令:

make PETSC_DIR=... PETSC_ARCH=... all
make PETSC_DIR=... PETSC_ARCH=... install

完成petsc的安装。

接下来,加载安装时指定的路径:

export PETSC_DIR = ... PETSC_ARCH=... 

然后在OpenFOAM-v2006/etc/config.sh/petsc中修改环境变量,路径就是PETSC_ARCH的路径:

export PETSC_ARCH_PATH=...

然后进入文件夹:

OpenFOAM-v2006/modules/external-solver

执行指令:

./Allwmake --prefix=openfoam

如果编译成功的话,则会在 OpenFOAM-v2006/platforms/linux64GccDPInt32Opt/lib 文件夹中找到 libpetscFoam.so

3. PETSc-Foam no–debugging版本

mo–debugging版本与debugging版本在安装上的唯一不同之处就是,在ThirdParty-v2006/makePETSC中增加的内容:

./configure
    --with-64-bit-indices=0 \
    --with-precision=double \
    --with-debugging=0 \
    --COPTFLAGS=-O3 \
    --CXXOPTFLAGS=-O3 \
    --FOPTFLAGS=-O3 \
    --prefix=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_LABEL_OPTION/petsc-git \
    PETSC_ARCH=$WM_OPTIONS \
    --download-openblas \
    --with-fc=0 \
    --with-mpi-dir=$MPI_ARCH_PATH

其余过程均相同。

4. petsc-Foam的使用

每次使用前,输入如下命令,加载和测试环境变量:

of2006
export PETSC_DIR=/home/ubuntu/of2006/ThirdParty-v2006/petsc-3.13.2
export PETSC_ARCH=DPInt32

eval $(foamEtcFile -sh -config petsc -- -force)
foamHasLibrary -verbose petscFoam

看到终端输出如下信息,则可以使用:

Can load "petscFoam"

使用时,在system/controlDict中添加如下代码,即可使用:

libs    (petscFoam);

亲测可用:

在这里插入图片描述
参考网址:

https://develop.openfoam.com/modules/external-solver

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值