OpenCAEPoro 安装指南:编译步骤与注意事项
文章目录
前言
OpenCAEPoro 作为一款专业的多孔介质中多组分流体流动数值模拟软件包,在资源勘探与开发、环境科学与工程、材料科学等领域具有广泛的应用前景。
一、准备条件
1.OpenCAEPoro 所需的外部开源库,包括 lapack-3.11、parmetis-4.0.3、hypre-2.28.0、petsc-3.19.3 和 petsc_solver。
2.推荐使用 Intel C/C++ 编译器(如 oneAPI)和 cmake 3.17
二、安装及编译
1.总体步骤
需要先解压所有软件包,然后按照特定顺序进行安装。
2.具体步骤
lapack:
进入 lapack-3.11 目录。
cd lapack-3.11
依次执行 make blaslib、make cblaslib、make lapacklib 和 make lapackelib 命令
make blaslib
make cblaslib
make lapacklib
make lapackelib
make blaslib命令用于构建 BLAS 库模块,BLAS是一组用于基本线性代数运算的底层函数库。
make cblaslib命令用于构建 CBLAS 库模块。这个库将 BLAS 的功能以 C 语言接口的形式呈现。
make lapacklib命令用于构建 LAPACK 库模块,用于数值线性代数计算的软件库,提供了求解线性方程组、特征值问题、奇异值分解等高级线性代数问题的函数。
parmetis
进入 parmetis-4.0.3 目录。
cd parmetis-4.0.3
修改 “build-parmetis.sh” 脚本中的路径
vim build-parmetis.sh
修改为/home/wangsiyu/OpenCAEPoro_ASC2024/
执行 sh build-parmetis.sh 命令进行安装,构建 ParMetis 并行图分区算法库,为 OpenCAEPoro 提供高效的图分区功能,以便在并行计算环境中进行大规模的数值模拟和数据分析。
sh build-parmetis.sh
hypre
进入 hypre-2.28.0 目录。
cd hypre-2.28.0
修改 “build-hypre.sh” 脚本中的路径和配置选项(路径改为自己对应的路径。
vim build-hypre.sh
进行安装。
sh build-hypre.sh
petsc
进入 petsc-3.19.3 目录。
cd petsc-3.19.3
修改 “build-petsc.sh” 脚本中的路径。
vim build-petsc.sh
其中以防报错可以添加–with-fc=0,表示在编译过程中不链接 Fortran 库或者不使用 Fortran 语言的部分。
执行 sh build-petsc.sh 命令进行安装,
sh build-petsc.sh
小插曲
因为oneapi版本问题,编译petsc时报错fortran error,指定source 2023即可
petsc_solver
进入 petsc_solver 目录。
cd petsc_solver
修改 “build-petscsolver.sh” 脚本中的路径和库路径。
vim build-petscsolver.sh
修改 “CMakeLists” 文件中的路径,设置 PETSC_DIR 和 PETSC_ARCH。
vim CMakeLists.txt
执行 sh build-petscsolver.sh 命令进行安装。
sh build-petscsolver.sh
petsc_solver 是一个基于 PETSc 开发的自定义求解器。
OpenCAEPoro
正确安装和配置以上各个库后,就可以安装OpenCAEPoro了。
进入 OpenCAEPoro 目录。
cd OpenCAEPoro
修改 “mpi-build-petsc.sh” 脚本中的路径,设置各种环境变量,包括 PARMETIS_DIR、METIS_DIR、PETSC_DIR、PETSCSOLVER_DIR 等。
vim mpi-build-petsc.sh
执行 sh mpi-build-petsc.sh 命令进行安装,强调 OpenCAEPoro 是最终要安装的软件包,依赖于前面安装的各个库。
sh mpi-build-petsc.sh
四、测试安装
mpirun -np p ./testOpenCAEPoro./data/test/test.data
p为进程数
总结
以上就是今天要讲的内容,本文介绍了OpenCAEPoro 的安装与编译。