Fluent针对每一种流动的物理问题的特点,采用适合它的数值解法以在计算速度、稳定性和精度方面达到最优。
FLUENT软件的结构有前处理、求解器和后处理三大模块。FLUENT软件采用GAMBIT作为专用的前处理软件,使网格可以有很多形状。对二文流动可以生成三角形和矩形网格;对于三位流动可以生成四面体、751面体等网格;结合具体计算,还可生成动网格,本文在飞行器头部烧蚀数值计算过程中,就应用动网格模拟飞行器烧蚀后退深度。
FLUENT软件的核心部分是N-S方程组求解模块。采用有限体积法离散方程,离散格式为理想二阶迎风插值格式——QUICK格式,其数值耗散较低,精度高且构造简单。对可压缩流动采用偶合法,及连续性方程、动量方程、能量方程联立求解。FLUENT软件配有各种格式的湍流模型,包括代数模型、一方程模型、二方程模型、湍应力模型、大涡模拟等。
FLUENT软件的后处理模块具有三文显示功能科展现各种流动特性,并能以动画功能演示非定常过程。本文用到了Tecplot软件对FLUENT软件数据进行后处理,对数据进行视觉化处理,便于更形象化的分析。
2.3.2 UDF简介
用户自定义函数用C语言编写,使用DEFINE宏来定义。UDF中可使用标准C语言的库函数,也可以使用FLUENT公司提供的预定义宏,通过这些预定义宏,可以获得FLUENT软件中的求解器得到的数据。每一个UDF都要在程序的开头包含udf.h文件(#include“udf.h”),这样DEFINE宏以及其它由FLUENT提供的宏和函数才可以被引用。本文利用UDF获得飞行器对称中心线上的温度和热流密度。
UDF使用时可以被当做解释函数或编译函数。解释函数在运行时读入并解释,而编译函数则在编译时被嵌入共享库中并与FLUENT软件连接。解释UDF用起来简单,但是有源代码和速度方面的限制不足。编译UDF执行起来较快,也没有源代码限制,但设置和使用较为麻烦。
2.3.2.1 UDF网格拓扑和数据结构
流场的网格是由大量单元构成的。每个单元是由一组网格点(或节点),一个单元中心和包围这个单元的面定义的,如图2.1为二文网格的数据结构。
除了标准的C语言数据类型(如float、int等)可用于定义数据外,还有几个FLUENT软件制定的与求解器相关的数据类型。
Node * v :它充当与单元或面的拐角相关的数据容器;
Cell_t c :是线索(thread)内单元标识符的数据类型;
face_t f :是线索(thread)内面标识符的数据类型;
Thread *t :它充当与它描述的单元或面的组合相关的数据容器;
Domain *d :它充当了与网格中所有节点、面和单元线索组合相关的数据类型。
2.3.2.2 UDF宏
FLUENT软件提供了一系列预定义函数来从求解器中读写数据。这些函数以宏的形式定义在扩展名为.h文件里。FLUENT提供的宏包括变量宏、工具宏、DEFINE宏等。本文中用到的数据宏有F_T(c,t) 、F_CENTROID(x,f,t)、F_AREA(A,f,t)、NODE X(node);用到的工具宏有begin_f_loop、f_node_loop宏,在文献[23-24]中都有详细介绍,以下是本文中用到的DEFINE宏,做一下简单介绍。
a) DEFINE_RW_FILE
用于定义要写入case或dat文件的信息,可以保存或储存任何data类型的自定义变量。该函数有两个哑元:symbol name和FILE *fp。Name是所指定的UDF的名字;fp是FLUENF软件中求解器传给UDF的变量。本文中用该宏读出飞行器表面对称中心线上的温度和热流密度,每0.1s自动保存case和dat文件,同时输出温度和热流密度的txt文件。
b) DEFINE_GRID_MOTION
用于独立地控制动网格区域内每一个节点的移动,在本文中将飞行器表面设为动网格区域,利用该宏控制表面节点的移动,每个时间步长移动所求出的烧蚀后退深度,以此来实现飞行器头部气动烧蚀的模拟。 微型凸起物高超声速气动热特性研究+文献综述(4):http://www.751com.cn/wuli/lunwen_2940.html