为什么我用FLUENT算的题总是发散??求大神!!【转发】

2017-03-30  by:CAE仿真在线  来源:互联网

太长不看版

对于很多可压缩流动问题,如果入口边界和出口边界的压力差别太大,导致计算发散,可以先算出一个入口边界和出口边界压力差别小一些的流场,然后以此作为计算原问题的迭代初值,在此基础上算出原问题的解答。


作者简介

叶汉玉,本科毕业于北京航空航天大学飞行器动力工程专业。现为北京航空航天大学在读博士,研究方向为流动稳定性,在Physics of fluids、Journal of fluid mechanics等流体力学著名刊物上发表文章数篇。


对于很多可压缩流动问题,入口边界和出口边界的压力差别很大。例如在计算拉伐尔喷管的流动时,喷管入口的绝对压力常常比出口绝对压力大一到两个数量级。但是,这样给数值计算带来了困难。由于流场中绝对压力的变化非常剧烈,计算前的均匀的初始压力场往往与实际差别很大,这使得计算的时候容易发散。

我们来看一个例子。我们来计算一个拉伐尔喷管内部的流动以及其排气羽流。这类流动常见的例子是喷气发动机(航空发动机、火箭发动机)喷管的流动。拉伐尔喷管是一种先收缩后扩张的喷管,气流在收缩段从亚声速加速到声速,压力下降,在扩张段压力进一步下降,流动加速到超声速(图1)。在喷管出口,由于气流的压力与外界环境压力往往不相等,因此常常会呈现由激波、膨胀波组成的复杂的波系结构,而且这种波系会重复若干次,从外观上能很明显地看出来(图2),直到远处才因为粘性耗散而逐渐消失。

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent分析图片1

图1 拉伐尔喷管内部的流动及其排气羽流(过膨胀状态)

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent图片2

图2 AIM-120空空导弹的排气羽流

(图片来源:Wikipedia)

我们所计算的喷管的形状如图3(a)所示,图中的单位为mm。喷管的出口面积为0.008m2,喉部面积为0.002m2。计算域如图3(b)所示,在喷管出口的下游放置一个半径约等于10倍喷管出口半径,长度约等于40倍喷管出口半径的圆柱形区域,以便容纳羽流流场。计算的时候使用二维轴对称模型(Axisymmetric)。

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent图片3

(a)喷管局部

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent图片4

(b)计算域

图3 计算域和喷管几何形状

喷管入口总压为1000kPa,总温为500K,环境压力为10kPa;工质为空气。通过拉伐尔喷管的一维模型理论分析[1]可以知道,这时喷管处于欠膨胀工作状态,在喷管出口截面上超声速气流的压力大于外界反压(环境压力),气流会在出口处产生膨胀波。

在FLUENT 14.5中计算这个问题。计算所使用的网格(图4)为分块结构化网格,用ICEM CFD生成,网格数量约为2万。边界(1)为喷管入口,使用pressure-inlet边界条件,总压(Gauge Total Pressure)设为1000kPa,初始静压(Supersonic/Initial Gauge Pressure)设为984840Pa,总温(Total Temperature)设为500K,湍流条件按照湍流强度(Turbulent Intensity)等于5%、水力直径(Hydraulic Diameter)等于0.1m设定。初始静压仅是为了在计算前初始化流场使用。通过一维模型理论分析可以知道喷管的流量大约为3.61kg/s,与之对应的喷管入口流速约为66m/s,因此可以推算出喷管入口静压的近似值。边界(2)为对称轴,使用axis边界条件。边界(3)、(4)为壁面,使用wall边界条件。边界(5)、(6)为出口,使用pressure-outlet边界条件。湍流模型使用k-ω SST。使用基于密度(Density-Based)的求解器,求解算法选取默认的隐式算法。工质的状态方程用完全气体模型(ideal-gas),工作压力(Operating pressure)设为0。

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent图片5

图4 网格

首先我们按照一般的方法来尝试一下,即把边界(5)、(6)的压力直接设为10kPa(回流的湍流条件设定为与入口边界相同的数值)。我们用入口边界的变量的数值初始化整个流场(在“SolutionInitialization”页面上,在“Compute from”组合框中选择入口边界,如图5所示)。从初始化的流场开始迭代的时候,我们使用默认的空间离散格式(连续方程、动量方程和能量方程(三者合称Flow)使用二阶迎风格式,湍动能(Turbulent Kinetic Energy)和比耗散率(Specific Dissipation Rate)使用一阶迎风格式)。求解的Courant数保持默认值(即5)。

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent培训的效果图片6

图5 用入口边界的变量的数值初始化整个流场

很不幸的是,计算发散了(图6)。根据FLUENT的用户手册[2],刚开始计算的时候,为了使得计算稳定可以调小Courant数的值,并使用一阶迎风格式。因此我们尝试将Courant数减小到1,并将Flow的离散格式改成一阶迎风格式,但是仍然无济于事。计算发散的原因是这个流动问题中,压力的变化范围太大而且非常丰富。在喷管入口,流动马赫数很低,压力接近于流动的总压(1000kPa);在喷管喉部,流动马赫数等于1,压力降低到约为总压的0.53倍(临界压力比[1]);在喷管扩张段,流动加速到超声速,压力进一步下降;在喷管出口截面,按照一维模型理论分析可知压力降低到约30kPa,流动马赫数约为3;然后,气流在出口处通过膨胀波继续降压,最终达到与环境压力(10kPa)一致。对于这样复杂的压力变化,从初始的均匀的压力场开始迭代显然是过于困难了。

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent培训的效果图片7

图6 计算发散

为了克服这种困难,我们可以使用逐次降低出口边界压力的方法。在使用一阶迎风格式并将Courant数减小到1的条件下,我们先把出口边界(5)、(6)的压力设为100kPa,计算收敛后,再将出口边界压力改为10kPa,然后再次计算收敛。这实际上就是用出口压力100kPa的计算结果作为出口压力10kPa计算时的迭代初值。这样分开两次计算,每次计算时迭代初值与计算结果的差别都比较小,因此计算就不容易发散了。图7是出口边界压力设为100kPa时的马赫数云图。图8是将压力改成10kPa后的结果。

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent培训的效果图片8

图7 出口边界压力为100kPa。一阶迎风格式。流动在喷管出口通过斜激波增压到环境压力。

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent培训的效果图片9

图8 出口边界压力为10kPa。一阶迎风格式。流动在喷管出口通过膨胀波减压到环境压力。

最终,我们得到了出口边界压力为10kPa的收敛的解答。最后我们可以将空间离散格式改成二阶迎风格式,算出最终的结果。从马赫数云图(图9)可以清楚地看出喷管出口下游重复的波系结构。当然,这里的重点是说明避免计算发散的技巧,因此采用了较粗的网格,也没有进一步做网格无关性验证。

为什么我用FLUENT算的题总是发散??求大神!!【转发】fluent分析案例图片10

图9 最终的计算结果的马赫数云图

在其它可压缩流动或者复杂流动(如带有空化的流动)的模拟中,如果遇到计算发散,也可以尝试本文的技巧。而且,有时边界上的压力分成两步来设置可能还嫌少,可能要分成好几步,逐次地降低(或者升高)压力。

其它FLUENT版本也可以参考本文。

作者非常感谢北京航空航天大学宇航学院童晓艳老师。作者正是在和她的讨论中了解到本文所述的避免计算发散的技巧。

转自:流体那些事儿


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:为什么我用FLUENT算的题总是发散??求大神!!【转发】 Fluent培训 Fluent流体培训 Fluent软件培训 fluent技术教程 fluent在线视频教程 fluent资料下载 fluent分析理论 fluent化学反应 fluent软件下载 UDF编程代做 Fluent、CFX流体分析 HFSS电磁分析 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com