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). 选择集群:选择超算集群,然后打开 data
文件夹,所有文件均须上传到 data
文件夹下。
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
查询。