Andrew Moa Blog Site

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

本文采用不同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

ArchLinux下OpenFOAM编译安装与PBS并行化

1. 源代码下载

1.1 下载OpenFOAM源代码

${HOME}目录下新建OpenFOAM目录:

cd ${HOME}
mkdir OpenFOAM && cd OpenFOAM

从github下载OpenFOAM和ThirdParty的源代码,放到${HOME}/OpenFOAM目录中:

git clone https://github.com/OpenFOAM/OpenFOAM-dev --depth=1
git clone https://github.com/OpenFOAM/ThirdParty-dev --depth=1

1.2 下载Torque(PBS)源码包

本文用的是AUR中的Torque,CentOS、Debian和SUSE系的操作系统可以从Github上的OpenPBS下载现成的二进制包。采用OpenPBS或PBS Pro请跳过本文第3节,参照其他文档进行PBS配置。

从AUR上下载Torque(PBS)源文件:

git clone https://aur.archlinux.org/torque.git
cd torque
wget http://wpfilebase.s3.amazonaws.com/torque/torque-6.1.1.1.tar.gz

2. 编译安装OpenFOAM

2.1 设置环境变量

编辑${HOME}/.bashrc文件,添加以下两行:

#OpenFOAM
source ${HOME}/OpenFOAM/OpenFOAM-dev/etc/bashrc WM_MPLIB=OPENMPI

末尾的WM_MPLIB=OPENMPI表示使用重新编译的OpenMPI库。

更新环境变量:

source ${HOME}/.bashrc

验证环境变量是否正确:

echo $WM_PROJECT_DIR
echo $WM_THIRD_PARTY_DIR

可以正确输出OpenFOAM编译目录,则表示环境变量设置正确。

2.2 编译第三方库

进入ThirdParty-dev目录,编译第三方库:

cd $WM_THIRD_PARTY_DIR
wget https://download.open-mpi.org/release/open-mpi/v2.1/openmpi-2.1.1.tar.gz
tar -xvzf openmpi-2.1.1.tar.gz
./Allwmake

由于前面指定了WM_MPLIB=OPENMPI,此处需要手动下载OpenMPI源码文件,使用wget下载OpenMPI源码包并解压。Allwmake后面可以增加-jN选项开启多核并行编译,这里的N应替换成并行数,Allwmake会自动编译OpenMPI。

which mpirun
>${WM_THIRD_PARTY_DIR}/platforms/linux64Gcc/openmpi-2.1.1/bin/mpirun
which mpicc
>${WM_THIRD_PARTY_DIR}/platforms/linux64Gcc/openmpi-2.1.1/bin/mpicc

2.3 编译ParaView

继续在ThirdParty-dev目录里编译ParaView:

cd $WM_THIRD_PARTY_DIR
./makeParaView -mpi
wmRefresh

编译完成后运行wmRefresh刷新环境变量。

2.4 编译OpenFOAM

切换到OpenFOAM-dev目录编译OpenFOAM:

阅读时长3分钟
Andrew Moa