背景信息
OpenFOAM全称Open Source Field Operation and Manipulation,是一款对连续介质力学问题进行数值计算的软件,可进行数据预处理、后处理和自定义求解器,常用于计算流体力学(CFD)领域。
准备工作
● 创建EHPC集群,具体操作,请见“创建集群”。
● 创建集群用户,具体操作,请见“创建用户”。
● 需要安装的软件:OpenFOAM 10、gcc/11.4.0 和 Intel OneAPI 2022.2.0。
操作步骤
1.登录EHPC集群,安装OpenFOAM 10。
加载编译环境变量:
#加载gcc和Intel编译器等环境变量
$ module load gcc/11.4.0 tbb/2021.6.0 compiler-rt/2022.1.0 oclfpga/2022.1.0 compiler/2022.1.0 mpi/2021.6.0 mkl/2022.1.0
$ export MPI_ROOT=/mnt/nvme0n1/hpc/intel-oneapi/mpi/2021.6.0
$ cd ThirdParty-10-version-10
$ source etc/bashrc
先后编译ThirdParty和OpenFOAM两个文件夹:
$ cd ThirdParty-10-version-10
$ ./Allwake -j
$ cd -
$ cd OpenFOAM-10
$ ./Allwake -j
$ cd -
2.测试步骤。
演示测试样例cavitatingBullet:
cd OpenFOAM-10/tutorials/multiphase/interFoam/laminar/cavitatingBullet
修改Allrun文件:
#!/bin/sh
cd ${0%/*} || exit 1 # Run from this directory
export OMPI_ALLOW_RUN_AS_ROOT=1
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
# Generate the base block mesh
runApplication blockMesh
# Generate the snappy mesh
runApplication snappyHexMesh -overwrite
runApplication decomposePar
# Initialise with potentialFoam solution
runApplication potentialFoam -pName p_rgh
# Run the solver
runParallel $(getApplication)
runApplication reconstructPar
修改system/decomposeParDict文件:
...
numberOfSubdomains 56;
...
simpleCoeffs
{
n (7 4 2);
}
hierarchicalCoeffs
{
n (7 4 2);
order xyz;
}
...
运行程序:
$ ./Allrun
查看运行时长:
$ tail -n 5 log.interFoam
ExecutionTime = 187.48 s ClockTime = 203 s
End
Finalising parallel run
3.查看最终结果。
在文件夹中添加一个.foam的空文件,如
$ touch test.foam
使用paraview打开test.foam,即可查看运行结果。