OpenFOAM 使用指南
1.概述
1.1 软件信息
简介:OpenFOAM(Open Source Field Operation and Manipulation)是一款用于连续介质力学问题数值计算的开源 C++ 软件工具包,代码遵循 GNU 通用公共许可证。它可以进行数据预处理、后处理和自定义求解器,常用于计算流体力学(CFD)领域。该软件由 OpenFOAM 基金会维护。
可用版本:
| 版本 | 平台 | 处理器 | 模块名 | 使用方式 | 备注 | 
|---|---|---|---|---|---|
| 11 | 隐秀 | intel | intel/openfoam/11/intel2023.2_impi | 图形界面、命令 | 使用 intelmpi2023.2 编译 | 
| 2406 | 隐秀 | intel | intel/openfoam/v2406/intel2023.2_impi | 图形界面、命令 | 使用 intelmpi2023.2 编译 | 
如需使用其它版本,请联系工作人员 ~
1.2 使用步骤
- 数据传输:将计算所需的文件上传到 data目录。
- 软件加载:打开软件中心,找到所需软件并点击 立即使用按钮。
- 任务提交:在弹出的软件参数设置页面,进行参数设置,然后点击 提交按钮提交计算任务。
- 任务查看:计算任务提交之后,会自动跳转到 任务中心,能够对计算任务状态、基本信息进行查看,还能停止计算任务。
2.数据传输
1). 打开文件夹:登录超算系统后,点击桌面上的“文件夹”。
    2). 选择集群:选择超算集群,然后打开
2). 选择集群:选择超算集群,然后打开 data 文件夹,所有文件均须上传到 data 文件夹下。
    3). 下载客户端:将鼠标悬浮于
3). 下载客户端:将鼠标悬浮于 文件传输 按钮之上,随后点击 下载 按钮,把文件传输客户端下载至本地,并予以安装。在客户端安装完毕后,点击 文件传输,会自动打开本地安装好的客户端。
   
需注意的是,文件传输客户端仅在第一次使用时需要安装,后续使用不必再次安装。 客户端安装指南:cloudtools 客户端下载与安装
4). 文件传输:文件传输客户端打开之后,其左侧呈现的是本地电脑文件夹,而右侧则为超算平台文件夹。鼠标选中文件,然后左右拖曳,即可实现文件的上传与下载。
   
3. 软件加载
打开桌面上的 软件中心,找到软件 OpenFOAM,点击 立即使用。

如果没找到需要的软件,请联系超算工作人员 ~
4.任务提交
4.1 方式一:图形页面提交
点击 立即使用,随后会弹出软件参数设置界面,按如下流程进行参数设置:
- 选择计算队列。计算队列是由一系列计算节点组成的集合。 其中,带有 expr 后缀的队列属于测试队列,其最多只能使用 2 个节点,且任务最长运行时间仅限 1 小时。没有 expr 后缀的队列为付费用户使用队列,运行时间无限制,节点数限制为 30 个(可根据实际需要进一步提高)。
- 选择工作文件夹。此为待计算算例所在的文件夹。
- 自定义一个任务名,以便对不同任务加以区分。
- 设置计算需要的核数。
- 选择软件版本。
- 输入程序具体的运行命令,如 mpirun -n 6 snappyHexMesh -overwrite -parallel。
- 点击 提交按钮,提交计算任务。 
首次使用过后,桌面上会产生软件的快捷模式,后续直接点击这个快捷方式即可打开软件参数设施界面。
4.2 方式二:命令行提交
如何使用命令行登录超算,请参考:命令行登陆超算
1). 将算例上传到 data 文件夹下,并进入算例文件夹
2). 新建脚本 run.sh,输入以下内容:
#! /bin/bash
#SBATCH -p intel_expr
#SBATCH -J openfoam
#SBATCH -n 6
#SBATCH -o job.out
module load intel/openfoam/v2406/intel2023.2_impi
mpirun -n 6 snappyHexMesh -overwrite -parallel
- #!/bin/bash,固定内容,不用修改
- #SBATCH -p intel_expr,向调度系统申请- intel_expr队列的计算资源。调整队列名,即更换队列
运行计算任务。
- #SBATCH -J openfoam,自定义一个 openfoam 的任务名称,从而对不同任务进行区分
- #SBATCH -n 6,申请 6 个核
- #SBATCH -o job.out,程序的运行输出保存在- job.out文件,该文件文件名可以随意修改
- module load intel/openfoam/v2406/intel2023.2_impi,加载软件环境。命令格式为:- module load 模块名,其中模块名参考“可用版本”中的模块名,调整成自己需要的版本
- mpirun -n 6 snappyHexMesh -overwrite -parallel,此为 openfoam 具体的程序运行命令
3). 执行 sbatch  run.sh 提交计算任务
5.任务查看
5.1 图形页面查看
通过图形界面提交计算任务后会自动跳转到 任务中心,在任务中心页面能够对计算任务状态、基本信息进行查看,还能停止计算任务。任务中心 页面,也可以通过双击桌面上 任务中心 图标打开。
 
任务中心 有两个 tab 页面:
- “进行中”:正在运行的任务,或者一分钟内结束任务
- “已完成”:已经结束的任务,一分钟同步一次
   计算任务最右侧操作栏的按钮功能可区分为: 计算任务最右侧操作栏的按钮功能可区分为:
- 第一个按钮:打开计算任务所在的目录
- 第二个按钮:打开程序输出日志
- 第三个按钮:打开任务详细信息
- 第四个按钮:停止计算任务
   
5.2 命令行查看
1). 查看计算任务
   执行 squeue 查看计算任务状态
[user@login01 tmp]$ squeue 
             JOBID PARTITION     NAME      USER ST     TIME   NODES NODELIST(REASON)
              3656   intel       openfoam  user  R     0:23   1     qhcn001
- JOBID,任务编号
- ST,任务状态,作业状态包括- R(正在运行),- PD(正在排队),- CG(即将完成),- CD(已完成)
- TIME,运行时间
- NODES,占用节点(也称服务器,下同)个数
- NODELIST,占用服务器的编号
2). 查看日志
   计算任务运行起来后,执行 tail -f job.out 可 以查看程序的实时输出,执行 Ctrl+C 退出查看
[user@login01 tmp]$ tail -f job.out 
Loading intel/openfoam/v2406/intel2023.2_impi
  Loading requirement: intel/oneapi/2023.2.0
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2406                                  |
|   \\  /    A nd           | Website:  www.openfoam.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : _630d60de3b-20240620 OPENFOAM=2406 version=v2406
Arch   : "LSB;label=32;scalar=64"
Exec   : snappyHexMesh -overwrite -parallel
Date   : Aug 06 2024
Time   : 15:07:07
Host   : qhcn573
PID    : 3228133
I/O    : uncollated
Case   : /online1/support/zhuangwt/test/openfoam/tutorials/incompressible/simpleFoam/motorBike
nProcs : 6
Hosts  :
3). 停止计算任务
执行 scancel 任务号 停止任务。任务号通过 squeue 查询。