OPENFOAM

是对连续介质力学问题进行数值计算的C++自由软件工具包,其代码遵守GNU通用公共许可证。它可进行数据预处理、后处理和自定义求解器,常用于计算流体力学(CFD)领域。该软件由OpenFOAM基金会维护。

一、提交脚本

 #!/bin/bash
 #SBATCH --nodes=1                   # 节点数量
 #SBATCH --ntasks-per-node=56        # 每个节点核心数量
 #SBATCH --ntasks=56                 # 总核心数
 #SBATCH --partition=g1_share           # 队列分区且必须指定正确分区
 #SBATCH --job-name=of                # 作业名称
 #SBATCH --output=of.%j.out          # 正常日志输出 (%j 参数值为 jobId)
 #SBATCH --error=of.%j.err           # 错误日志输出 (%j 参数值为 jobId)

 ##############################################
 #          Software Envrironment             #
 ##############################################
 unset I_MPI_PMI_LIBRARY                        # 取消默认mpi库,使用intel自带
 export I_MPI_JOB_RESPECT_PROCESS_PLACEMENT=0   # intel 多节点作业所需修改参数
 module load intel/2022 intelmpi/2022           # intel 环境加载
 moudle load openfoam                           # 软件加载(参考module使用方法,选择具体版本)

 ##############################################
 #               Run job                      #
 ##############################################

 # Mesh the geometry
 blockMesh
 # Decompose the mesh for parallel run
 decomposePar
 # Run the solver
 mpiexec simpleFoam -parallel
 # Reconstruct the parallel results
 reconstructPar

二、 编译

# openfoam 源码安装
环境依赖 gcc+intel+intelmpi
        gcc+openmpi

1、改文件名格式,将解压包改为以下格式

OpenFOAM-6   ThirdParty-6

2、cd Openfoam

(可以将70行左右的GCC改为Icc  下面一个OPENMPI 改为intelmpi  进行intel 编译  intel编译时指定 $MPI_ROOT值为mpi的位置   /sh3/software/compiler/intel/2022/mpi/2021.6.0/bin/)

3、source etc/bashrc

4、先执行 ThirdParty里面的 ALLwmake

5、后执行 Openfoam里面的 ALLwmake
。
注意 编译失败后执行 allclean  ,ALLWmake 可以加 -J 参数