邓梓龙,徐 泽,张程宾
(东南大学 能源与环境学院,江苏 南京 210096)
“工程流体力学”是能源动力工程、机械工程、土木工程等专业的重要专业基础课程[1-3]。在工程流体力学教学中遇到复杂的公式,单纯进行理论推导的效果往往不佳[4-5]。本文通过 MATLAB(graphical user interface, GUI)设计出一款可视化工程流体力学实验教学软件,对工程流体力学中顶盖驱动流、泊肃叶流、科特流这3 种典型算例进行了流场的数值求解,并上机进行实验演示。该实验教学软件的应用,丰富了课堂教学内容,可以帮助学生更好地理解流体动力学原理,取得了较好的课堂教学效果。
计算流体力学仿真需要采用数值方法对纳维-斯托克斯方程组进行求解,从而预测流场中的流动。流体力学中不可压缩流动的数值解法分为联立求解法和分离式求解法[6]。联立求解法需联立求解所有或部分变量的代数方程,计算效率低,应用较少。分离式求解法是按顺序求解各变量,又可分为以速度、压力作为变量的原始变量法和以涡量、流函数作为变量的非原始变量法。原始变量法中的压力修正法是目前被使用最广泛的一种计算方法[7]。求解压力耦合方程组的半隐式方法(semi-implicit method for pressure-linked equations,SIMPLE)是一种常用于求解不可压缩流场的压力修正法[6,8]。SIMPLE 算法由Patankar 和Spalding在 1972 年提出,后期经过多次改进,衍生出SIMPLER、SIMPLEC、SIMPLEX、SIMPLE Date、PISO等多种方案。以SIMPLE 算法为基础,可以模拟求解工程流体力学中的典型流动问题,该算法成为上机实验演示的理论基础。
商业数学软件MATLAB 具有计算效率高、图形功能丰富、交互性好、扩充能力好等特点[9-10],其GUI由图形控件、窗口、事件响应等元素构成,用户在图形界面输入信息,程序则会通过回调函数响应并输出结果。MATLAB GUI 具有强大的可视化功能,控件丰富,用户可以简单、便捷地设计出友好、美观的人机交互界面[11-13]。
SIMPLE 算法解决了不可压缩流场数值计算中压力与速度耦合的问题,并且数值特性好、表达概念清晰、易于实施,因而被广泛应用于计算流体力学、计算传热学等领域[14]。SIMPLE 算法的主要思想是“假设流场-改进流场”[15]。
SIMPLE 算法通常包含4 个步骤:
步骤1假设压力场p*,速度场u*,v*;
步骤2利用p*求解u*、v*的动量离散方程,SIMPLE 算法近似省略了邻点速度的影响,即∑anbu*nb=0,∑anbv*nb=0,求解得到u*,v* :
步骤3上一步计算出的u*,v*未能满足质量守恒,利用质量守恒方程改进压力场,求解得到压力修正量p′:
式中,ρ 为流体密度,ρ0表示初始密度,b 值代表一个控制体不满足连续性方程的剩余质量大小。当各控制体的b 值的代数和小于容许误差,可判定速度场收敛。
步骤4修正压力p、速度u 与v。若速度场收敛,计算结束,若未收敛,使用本层修正后的p、u、v 作为下一轮迭代初值,进行下一轮迭代,直到收敛为止[16]。
若将速度与压力存储在同一个控制容积节点,则在P 点沿u 方向的离散方程中出现pE与pW的压差,而没有pp,结果可能会带来波动的流场。SIMPLE 算法常采用交错网格,将标量存储在主控制容积,u 与v的控制容积分别与主控制容积在x 方向和y 方向有半个网格步长的错位[6],如图1 所示。
图1 交错网格
工程流体力学可视化教学软件包含选择案例、选择工况、物理参数、模型尺寸、计算绘图5 个部分。在“计算案例”选单中,可选择顶盖驱动流、泊肃叶流、科特流这3 个基本算例,然后可在“选择工况”选单中设置流动工况。软件设置了Re=1 000、Re=2 000、Re=5 000 这3 个默认工况选项和1 个自定义选项。
设置流动工况后,软件会给出默认物性参数和模型尺寸。用户也可点自定义选项,自行设置密度、黏度、流速等物性参数及模型尺寸参数。点击计算绘图区域中“计算雷诺数”按钮,即可计算当前工况下的雷诺数Re。参数设置完成后,点击“计算案例”按钮便可开始计算,计算结束后在绘图区显示计算结果云图。学生可自由选择不同算例、设置各项参数,通过软件计算得到不同案例在不同工况下的速度分布云图,并分析计算结果。
顶盖驱动流是通过方腔顶盖运动驱动方腔内流体运动的经典流体力学问题,常用于验证理论计算的正确性。顶盖驱动流内部流场的形态会随着Re 的变化而形成显著的差异。直观清晰地了解顶盖驱动流中的流场变化规律有助于学生更深入认识流体力学中的无量纲数与流动状态的关系。因此,本工程流体力学教学实验平台将顶盖驱动流算例纳入其中。
顶盖驱动流方腔大小为1 m×1 m,流体密度ρ=1 kg/m3,黏度μ=0.001 Pa⋅s,方腔左右及下壁面因固壁不滑移,u 与v 皆为0。当顶盖流体流速u 分别为1 m/s、2 m/s、5 m/s 时,Re 分别为1 000、2 000、5 000,计算选取X 方向长度为特征长度。
在顶盖驱动流计算案例中,分别选择Re=1 000、Re=2 000、Re=5 000 这3 种默认工况,物性参数及模型尺寸亦自动给出默认值,点击“计算案例”按钮进行计算,计算结果如图2 示。
当Re=1 000 时,方腔内部存在3 个旋涡,最大的一级涡位于中间偏右上角位置,另外2 个二级涡分别位于左下角及右下角,且右下角的涡大于左下角的涡,如图2(a)所示。
当Re=2 000 时,一级涡位置向左下偏移,左下角的二级涡变大,位置向右上角移动,右下角的二级涡略微变小且位置向下偏移,如图2(b)所示。
当Re=5 000 时,左下角及右下角的二级涡均变大,在左上角又出现一个新的涡,如图2(c)所示。
学生通过该算例的结果分析可直观了解Re 对顶盖驱动流流场的影响。
图2 顶盖驱动流模型示意图及不同Re 下速度分布
泊肃叶流是不可压黏性流体在管内或两平板间流动,是流体力学中的一种基本的流动现象。研究泊肃叶流的规律,对于医药学、工业物料运输、生物科学等领域具有重要意义。泊肃叶流算例可以帮助学生直观地了解泊肃叶流在充分发展段的速度分布以及雷诺数对流动状况的影响。
泊肃叶流模型长10 m,宽1 m,上下壁面u 与v皆为0,假设右侧出口充分发展。流体密度ρ=1 kg/m3,黏度μ=0.001 Pa⋅s。设置左侧入口流体流速u 分别为1 m/s、2 m/s、5 m/s 时,Re 分别为1 000、2 000、5 000,计算选取入口宽度为特征长度。
在泊肃叶流算例中,分别选择Re=1 000、Re=2 000、Re=5 000 这3 种默认工况,物性参数及模型尺寸亦自动给出默认值。点击“计算案例”按钮进行计算,计算结果如图3 所示。
在图3 中,黄色区域为高流速区域,蓝色区域为低流速区域,近壁面处流速为0,泊肃叶流流速呈现中间高、两边低的抛物线分布。在充分发展段截面上,流体最高流速高于入口速度。随着Re 增大,充分发展的截面上最高流速也随之增大。学生可通过该案例直观地理解泊肃叶流的截面速度分布以及影响流动状况的因素。
科特流是黏性流体在两个相对运动平板间的流动,是流体力学中基本且重要的流动现象,在流体黏度测量、汽轮机运行、大气科学、洋流研究等场景均有应用。科特流算例使学生了解科特流中流体剪切力对流动状况的影响以及不同Re 下科特流流场差异。
科特流模型长为10 m,宽为1 m,下层流体流速为u2=-2 m/s,左右出口皆为充分发展。流体密度ρ=1 kg/m3,黏度μ=0.001 Pa⋅s。设置上层流体流速u1分别为1 m/s、2 m/s、5 m/s 时,Re 分别为1 000、2 000、5 000,计算选取X 方向长度为特征长度。
在科特流算例中,分别选择Re=1 000、Re=2 000、Re=5 000 这3 种默认工况,物性参数及模型尺寸亦自动给出默认值。点击“计算案例”按钮进行计算,计算结果如图4 所示。
科特流在Y 方向存在速度梯度,流速呈现中间低、两边高的分布,且在中间区域存在旋涡。当Re=1 000时,旋涡位置接近中间;当Re=2 000 时,旋涡位置向下偏移,当Re=5 000 时,上层流体流速大于下层流体流速,旋涡位置又向上偏移。学生通过该案例的计算结果,能够更直观地体会剪切流的流动状况。
图3 泊肃叶流模型示意图及及不同Re 下速度分布
基于MATLAB GUI 的工程流体力学可视化教学软件的交互界面友好、清晰,操作步骤简单易学,能够强化学生对流体流动过程的理解,促进学生对关键知识点的掌握,从而达到提升教学质量的效果。此外,教师还可以以此为基础,向学生介绍计算流体力学与数值传热学的相关知识,为学生后续课程的学习打下基础。在教学安排方面,教师不仅可以在课堂上亲自示范带领学生开展流体力学相关内容的学习,还可以在讲解完相关的理论基础后将可视化软件的操作作为课后作业,留给学生自行探索与完成。这样能够充分调动学生的主观能动性,培养学生的自主学习能力,并且还能使学生在课后对所学知识进行巩固,加深学生对所学知识的理解。
相比传统工程流体力学课堂教学中采用的讲授模式,使用工程流体力学可视化教学软件辅助教学具有以下优势:
图4 科特流模型示意图及不同Re 下速度分布
(1)可视化效果好。工程流体力学可视化教学软件图形界面易于操控,软件可对顶盖驱动流、泊肃叶流、科特流进行多种工况下的计算,计算所得结果能够帮助学生直观地了解各流动特性,增强学生对理论知识的理解。
(2)计算效率高。工程流体力学可视化教学软件中算例的流场采用SIMPLE 算法求解,该算法概念清晰、计算效率高、数值特性好,学生可结合软件源码中SIMPLE 算法实现过程加深对该算法的理解。
(3)软件实行开源,可供学生学习使用,易于推广到课堂辅助教学,降低教学成本。学生可以通过学习源码加深对流动的数值解法及MTALAB GUI 的认识与理解,也可以在软件现有内容的基础上添加新算例,提高对流动的数值解法编程计算的能力。
相比较传统工程流体力学实验教学方式,基于MATLAB GUI 的工程流体力学可视化软件教学具有可视化效果好、成本低、易于推广等特点。算例采用SIMPLE 算法求解,学生可自由设定物性参数、模型尺寸等参数,计算得到速度场云图。学生可将计算结果与理论相结合,强化对课堂理论知识的理解,从而提升课堂教学效果。