Andrew Moa Blog Site

Slurm提交Fluent和CFX的计算脚本

1. Fluent

首先要编写Fluent的jou脚本:

/file/read-case "small_fan.cas.h5" 
/solve/initialize/hyb-initialization 
/solve/iterate 100 
/file/write-case "small_fan_results.cas.h5" ok 
/file/write-data "small_fan_results.dat.h5" ok 
/exit ok 

这个jou文件很简单,就是告诉Fluent读取哪个文件、怎么初始化、迭代多少步、如何保存直至最后退出。如果计算比较复杂的,比如涉及到UDF加载或特殊条件初始化设置的,还需要增加相应的命令行。不熟悉怎么编写TUI命令的话,可以通过Fluent图形界面下面的命令行窗口录制脚本。

编写Slurm脚本:

#!/bin/bash 

#SBATCH --job-name=fluent_test	# 任务名称
#SBATCH --partition=debug 
#SBATCH --output=%j.out 
#SBATCH --error=%j.err 
#SBATCH -N 1	# 计算节点数
#SBATCH --ntasks-per-node=32	# 每节点计算进程数

cd $SLURM_SUBMIT_DIR

source ${HOME}/opt/ansys2025r1.env	# 载入许可证设置环境变量,这里应该使用绝对路径
export FLUENT=/ansys_inc/v251/fluent/bin/fluent	# fluent可执行文件路径
export MPI_TYPE=intel # intel or openmpi 
export JOU_FILE=`find . -name "*.jou"`
export MACHINEFILE=$SLURM_JOBID.node 
scontrol show hostnames $SLURM_JOB_NODELIST > $MACHINEFILE 

#注意fluent根据2维3维单双精度的不同有4钟计算模式:2d、3d、2ddp、3ddp,根据自己的需求选择对应的计算模式
$FLUENT 3ddp -g -t$SLURM_NPROCS -cnf=$MACHINEFILE -mpi=$MPI_TYPE -ssh -i $JOU_FILE

保存以上脚本,将待提交的cas文件和jou文件放到脚本所在文件夹,通过sbatch命令提交脚本即可。计算完成后将输出的结果文件下载到本地机器上处理。

2. CFX

相比fluent,cfx计算脚本简单很多:

阅读时长1分钟
Andrew Moa

求解器验证对比——旋转和静止同心圆柱之间的层流

本文采用不同CFD求解器,对层流流动问题进行验证。通过列举不同求解器的操作过程和输出结果的差异,验证各个求解器的精度。


1. 问题描述

如下图,建立两个同心圆柱间的定常层流模型。流动由内筒以恒定角速度旋转而引起,而外筒保持静止。使用周期性边界,只需要对流域的一部分进行建模。物理模型和输入数据如下表所示。

20210814-1-1.png

来源 Ansys验证算例
参考文献 F. M. White. Viscous Fluid Flow. Section 3-2.3. McGraw-Hill Book Co., Inc.. New York, NY. 1991.
物理模型 层流,旋转壁面

流体物性参数、几何尺寸和边界条件如下表所示。

特征 单位 参数
流体密度 kg/m^3 1.0
流体粘度 kg/m-s 0.0002
内圆柱半径 mm 17.8
外圆柱半径 mm 46.28
内圆柱转速 rad/s 1.0

本文所用求解器和输入模型如下。

求解器 输入模型
Ansys Fluent 2020R2 VMFL001_rot_conc_cyl_2D.msh
Ansys CFX 2020R2 VMFL001_rot_conc_cyl_3D.msh
Siemens STAR-CCM+ 2020.2.1(15.04.010-R8) VMFL001_rot_conc_cyl_2D.msh
OpenFOAM v2006 VMFL001_rot_conc_cyl_2D.msh
SU2 v7.1.1 VMFL001_rot_conc_cyl_2D.cgns

2. Fluent验证

2.1 求解器设置

打开Fluent,选择2D求解器。网格数量较少,只用1个处理器核心运行。

阅读时长10分钟
Andrew Moa